Sentivex Evolution Engine
see.in-bridge.com멀티-LLM SOC 인시던트 분석 파이프라인. OCSF 사건을 다중 렌즈로 분석해 판정한다.
78 endpoints · 16 그룹
개요
SEE 는 4개 XDR 벤더(Cortex XDR·CrowdStrike·SentinelOne·Wazuh)의 OCSF 데이터를 OpenSearch 에서 받아 Stage 1(결정적 번들 준비, LLM 0회) → Stage 2(n-렌즈 병렬 LLM + 화해자 토론 + 규칙 HITL 게이트)로 분석하는 자율 SOC 분석 엔진입니다.
| 대상 개발자 | 용도 |
|---|---|
| 서드파티 BFF (sentivex-web 등) | 인시던트·알럿·엔드포인트 목록/상세/집계/보고서 API 소비 |
| 패밀리 제품 연동자 (SIT 등) | 분석 트리거·결과 백필·라이브 피드 구독 |
| 내부 측정·연구자 | 논문 수치 파이프라인 (외부 문서화 대상 아님) |
API
스펙 정본은 SEE 오리진(FastAPI OpenAPI). 아래는 패밀리 수준 지도입니다.
| 패밀리 | 역할 |
|---|---|
| /sxe/* | 분석 트리거·결과·상태, 큐, 라이브 피드(WS), 집계, 보고서, 미터링, 테넌트 스코프 |
| /opensearch_incidents · _alerts · _endpoints · _search | OCSF 목록·검색 (날짜·테넌트 계약) |
| /enrich | IOC 인리치 (VT · AbuseIPDB · DeFender X TI) |
| /copilot/* · /prefs/* | 교차제품 저장 — 서비스 Bearer 전용 |
퀵스타트
SEE 는 API 키 발급 개념이 없습니다. 사람=패밀리 SSO(see 롤), 서비스=계약별 Bearer. 아래 읽기 경로는 개방 계약(실측 200)입니다.
# 헬스 (버전·상태 JSON)
curl -s https://see.in-bridge.com/enrich/ | jq .
# 대시보드 타일 카운터
curl -s https://see.in-bridge.com/enrich/sxe/stats | jq .브라우저 개발자는 SSO 로그인 후 dev-playground.html 에서 8케이스 실행형 플레이그라운드를 쓸 수 있습니다.
인증 · 세션 · 스코프
| 항목 | 계약 |
|---|---|
| SSO | inbridge-auth OIDC. 라우트 /api/auth/*(oidc/start·callback·verify·logout·me) — 도메인 접근 실경로는 ${origin}/enrich/api/auth/* (프론트 상수 SXE_AUTH_BASE) |
| 엔타이틀먼트 | userinfo 롤에 see/sxe 없으면 세션 거부. suspended 계정 로그인 차단 |
| 세션 | HMAC 서명 쿠키 see_session (+#135 부터 tenant_id/allowed_tenants 캡처). 뮤테이팅 /sxe/* 는 require_see_session 재검증 + 선택적 X-Required-Scope(예: see:analyze 없으면 403) |
| 개방 계약 | /enrich/* 읽기 경로·WS 는 BFF/SIT 계약상 무게이트(#138 설계 결정) |
| 서비스 Bearer | /copilot/*·/prefs/* 는 별도 키(PREFS_API_KEY 등, 계약 상대별 발급 — sentivex 전용) |
| 미터링·빌링 | docs/38-to-auth-see-metering-billing-contract-2026-07-05.md (cost 미포함 — 단가는 auth 몫) |
도메인 · 포트 · env
| 구분 | 값 |
|---|---|
| 정식 도메인 | see.in-bridge.com (.35 배포). xe.in-bridge.com 은 폐기 — 새 문서에 금지 |
| 로컬 포트 | web-ui 5050(측정 5051) · enrich 4100(측정 4101) · litellm 4000(운영 .35 는 4002) · lab OpenSearch 9200. 포트 정본: docs/services-port-map.md |
| env | 각 services/*/.env (.env.example 제공). OIDC: OIDC_ISSUER · OIDC_CLIENT_ID_SEE · OIDC_CLIENT_SECRET_SEE · SEE_SESSION_SECRET (없으면 OIDC 비활성) |
에러 · rate limit
| 레이어 | 형태 |
|---|---|
| nginx 게이트 | 302(브라우저 Accept) / 401 |
| FastAPI | {"detail": "..."} — 401/403/404/422. 스코프 부족 = 403(X-Required-Scope 불충족) |
| rate limit | SEE 레이어 자체 rate limit 없음(실상 그대로). /aiapi 는 LiteLLM 게이트웨이 정책·업스트림 쿼터. TI 벌크 조회만 내부 토큰버킷(ti-bot) |
주의사항
| # | 주의사항 |
|---|---|
| 1 | 프론트 auth 호출은 반드시 SXE_AUTH_BASE 경유 — bare /api/auth/* 는 도메인 접근에서 404 이력(#137) |
| 2 | /enrich 프리픽스 누락 시 도메인 접근에서 다른 라우팅을 탄다(로컬 4100/4101 직결과 경로가 다름) |
| 3 | GET /sxe/analysis/{uid} 응답은 {found, latest, history} — verdict 는 latest.final_verdict |
| 4 | 문서·예시에 xe 도메인 금지(폐기). 점수·confidence·등급은 사용자 노출 금지(패밀리 불변 원칙) |