
오픈소스 AI 기반 보안 운영 센터(SOC) — 경보 퓨전, 퍼플팀 훈련, 에이전트 지원 트라이지, MITRE ATT&CK 조사. MIT 라이선스, 자체 호스팅 가능.
오픈소스, 자체 호스팅 가능한 AI SOC입니다. 에이전트의 프롬프트, 도구 호출, 추론 과정이 단계별로 기록되며 재생(replay)할 수 있습니다. MIT 라이선스.
커뮤니티가 유지 관리하는 데모(tryaisoc.com)는 Fly.io에서 실행되며 오프라인이 될 수 있습니다. docs/operations/live-demo-runbook.md를 참조하고 항상 사용 가능한 폴백으로 Codespaces를 사용하세요.
90초 둘러보기 — 에이전트가 내장된 LockBit 3.0 사례를 처음부터 끝까지 조사합니다. 렌더링된 .mp4 및 hero.gif는 v8.0 출시와 함께 제공됩니다. 상세 내용은 docs/demo/SCREENCAST_SHOTLIST.md에 있습니다.
명령 하나 — 클론, Docker, 키가 필요 없습니다 (npx aisoc는 v8.0 출시와 함께 npm에 등록됩니다. 현재는 packages/aisoc-lite/에서 빌드됩니다):```bash
npx aisoc triage --demo
The wedge CLI는 프로덕션 트리아지 스코어러에서 포팅한 결정적 엔진으로 경고 배치를 평가 등급(에스컬레이션 / 검토 / 억제)으로 분류하며, LLM 키가 전혀 필요 없습니다. 또는 이미 보유한 환경에 맞는 경로를 선택하세요:
| 보유 환경 | 실행 방법 | 결과 |
|---------------------------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
| **Python 3.10+** (Docker 불필요) | `pip install -e packages/aisoc-sandbox && aisoc-sandbox demo` | 오프라인 에이전트 조사가 Detect → Triage → Hunt → Respond 순서로 진행되며 stdout에 출력됩니다. **5초 미만.** API 키도 네트워크도 필요 없습니다. |
| **브라우저** (설치 불필요) | [Open in Codespaces](https://codespaces.new/beenuar/AiSOC?quickstart=1) | 브라우저 IDE → `pnpm aisoc:demo --no-open` → 전달된 포트 `3000` 클릭. 콜드 시작 약 5분. |
| **Docker + pnpm** | `git clone https://github.com/beenuar/AiSOC && cd AiSOC && pnpm aisoc:demo` | Postgres + Redis + Kafka + api + agents + web로 구성된 로컬 스택. 브라우저가 `INC-RT-001`에서 열립니다. |
| **아무것도 없음** (깨끗한 Linux/macOS/Win) | `curl -fsSL https://raw.githubusercontent.com/beenuar/AiSOC/main/install.sh \| bash` | Docker, Node, pnpm, git을 자동으로 부트스트랩한 다음 `pnpm aisoc:demo`를 실행합니다. |
첫 번째 행은 새 기능입니다. [`aisoc-sandbox`](https://github.com/beenuar/aisoc/blob/HEAD/packages/aisoc-sandbox/)는 에이전트 퍼널의 제로 의존성 인메모리 시뮬레이터입니다. [번들 시나리오](https://github.com/beenuar/aisoc/blob/HEAD/packages/aisoc-sandbox/README.md#bundled-scenarios) (`lateral-movement`, `aws-credential-exfil`, `phishing-payload`, `kubernetes-privesc`, `github-token-theft`) 중 하나를 선택하거나 `--file`로 자체 JSON을 입력할 수 있습니다. 나머지 세 행은 실제 스택을 부팅하여 `/cases/INC-RT-001?tab=ledger`로 이동시킵니다. 조사 중인 LockBit 3.0 랜섬웨어 사례로, AI 에이전트의 프롬프트, 도구 호출, 근거가 [Investigation Ledger](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/investigation-rail.md)로 실시간 스트리밍됩니다. 실제 스택을 중지하려면 `pnpm aisoc:demo:down`을 실행하세요.
> **`main` 브랜치에서 데모가 여전히 부팅되나요?** 모든 푸시는 시드된 콘솔을 대상으로 [`compose-smoke`](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke.yml) (로컬에서 실행할 것과 동일한 `pnpm aisoc:demo` 경로)와 [`e2e`](https://github.com/beenuar/AiSOC/actions/workflows/e2e.yml)를 실행하며, 매일 밤 [`compose-smoke-nightly`](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke-nightly.yml)가 콜드 캐시로 이를 반복합니다. 아래의 빨간 배지는 릴리스 차단 요인입니다.
>
> [&style=flat-square)](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke.yml)
> [&style=flat-square)](https://github.com/beenuar/AiSOC/actions/workflows/compose-smoke-nightly.yml)
> [&style=flat-square)](https://github.com/beenuar/AiSOC/actions/workflows/e2e.yml)
전체 멀티 플랫폼 배포 가이드는 [`apps/docs/docs/installation.md`](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/installation.md)에 있습니다 (Render, Fly.io, Docker Compose, Kubernetes, Terraform). 전체 스토리지 계층을 포함한 프로덕션급 설치: [`infra/helm/`](https://github.com/beenuar/aisoc/blob/HEAD/infra/helm/) 또는 [`infra/terraform/`](https://github.com/beenuar/aisoc/blob/HEAD/infra/terraform/).
---
## AiSOC란 무엇인가
AiSOC는 보안 이벤트를 수집하고, 상관 분석을 수행하며, AI 기반 조사를 실행하고, 그 결과를 SOC 콘솔에 표시하는 단일 자체 호스팅 스택입니다. 에이전트와 하부 기반(substrate)은 MIT 라이선스이므로 둘 중 어느 것이든 읽거나 포크하거나 교체할 수 있습니다.
폐쇄형 AI SOC 벤더와 차별화되는 세 가지 속성:
1. **에이전트 결정이 기록됩니다.** Investigation Ledger는 모든 실행의 모든 단계에 대해 LLM 프롬프트, 응답, 인용된 증거, 후속 도구 호출을 저장합니다. 이후 재생(replay)이 가능합니다.
2. **하부 기반에는 CI에 공개 평가 하네스가 있습니다.** `main`/`develop`을 대상으로 하는 모든 PR을 5개 스위트가 게이트합니다. 경고 감소는 고정된 1,000개 경고 스트림에 대한 실제 측정입니다. 3개의 루브릭 기반 스위트는 템플릿별 매크로가 포함된 결정적 200개 인시던트 데이터셋(55개 템플릿)에 대한 하부 기반 자가 일관성 게이트입니다. 다섯 번째 게이트는 백업 텔레메트리 코퍼스를 검증합니다. [벤치마크 페이지](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/benchmark.md)는 각 스위트가 측정하는 내용과 측정하지 않는 내용을 정확히 문서화합니다.
3. **경계 밖으로 나가는 것을 직접 통제합니다.** 벤더 클라우드로의 콜백이 없고 '모델 개선' 텔레메트리도 없습니다. 호스팅 LLM 사용 시 증거는 기본적으로 가명 처리됩니다(내부 IP, 호스트명, 이메일, 경로, 비밀, 사용자 이름이 불투명 토큰이 됩니다). 완전한 에어갭(air-gapped) 환경을 위해 로컬 모델(Ollama/vLLM)을 실행할 수 있습니다. 각 모드에서 정확히 무엇이 나가는지: [`docs/trust/data-flows.md`](https://github.com/beenuar/aisoc/blob/HEAD/docs/trust/data-flows.md).
오케스트레이터는 [`services/agents/`](https://github.com/beenuar/aisoc/blob/HEAD/services/agents/)에 있는 약 600줄의 LangGraph입니다. 전체를 읽고, 모델을 교체하고, 패치하기에 충분히 작습니다.
---
## AiSOC 비교
| 기능 | AiSOC | Wazuh | Splunk ES | 폐쇄형 AI SOC |
|---|---|---|---|---|
| 오픈소스 라이선스 | MIT | GPL-2 | 사유(proprietary) | 사유(proprietary) |
| 자체 호스팅 가능 | 예 | 예 | 엔터프라이즈 전용 | 클라우드 전용 |
| 자율 AI 조사 | LangGraph | 아니요 | 부분적 (Splunk AI) | 예 |
| 에이전트 결정 감사 추적 | 공개 Investigation Ledger | 해당 없음 | 해당 없음 | 미공개 |
| 공개 하부 기반 평가 하네스 | CI 게이트, 재현 가능, 합성 텔레메트리 코퍼스 + 템플릿별 매크로 포함 | 해당 없음 | 해당 없음 | 미공개 |
| 탐지 콘텐츠 | 라이브 스트림에서 작동하는 실행 가능한 947개(네이티브 869개) + 출처 추적된 6,000개 규칙 가져오기 라이브러리 ([진리표](https://github.com/beenuar/aisoc/blob/HEAD/docs/detections/truth-table.md)) | 1,200개 이상 규칙 | 1,000개 이상 앱 | 큐레이션됨 |
| 플러그인 SDK | Python / TypeScript / Go | YAML 규칙 전용 | 앱 | 사유(proprietary) |
| 데이터 보관 위치 | 사용자 인프라 | 사용자 인프라 | 부분적 | 벤더 클라우드 |
| 가격 | $0 (자체 호스팅) | $0 (자체 호스팅) | 수집 GB당 | 엔터프라이즈 |
폐쇄형 AI SOC 벤더도 작동하는 제품을 제공합니다. AiSOC의 기여는 에이전트 자체를 공개하고, 단계별 결정 추적을 읽을 수 있게 하며, `main`/`develop`을 대상으로 하는 모든 PR에서 하부 기반을 공개 평가 하네스로 게이트하는 것입니다.
---
## 콘솔에서 볼 수 있는 것
<div align="center">
| <a href="apps/docs/docs/console/queue.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/01-alerts-queue.svg" alt="SLA 카운트다운이 있는 알림 큐" width="100%" /></a> | <a href="apps/docs/docs/console/investigation-rail.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/02-investigation-rail.svg" alt="결정적 상관 관계 내러티브가 있는 Investigation Rail" width="100%" /></a> |
|:---:|:---:|
| **알림 큐** — 서버 기준 SLA 카운트다운, 원자적 클레임, 원클릭 트리아지. [문서](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/queue.md) | **Investigation Rail** — 내러티브, 피벗 경로 엔터티 칩, 6개 이벤트 타임라인, 권장 작업. [문서](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/investigation-rail.md) |
| <a href="apps/docs/docs/console/rule-tuning.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/03-hunt-workbench.svg" alt="자연어 /hunt 워크벤치" width="100%" /></a> | <a href="apps/docs/docs/plugins/overview.md"><img src="https://raw.githubusercontent.com/beenuar/aisoc/HEAD/apps/web/public/screenshots/04-marketplace.svg" alt="플러그인 및 탐지 마켓플레이스" width="100%" /></a> |
| **`/hunt` 워크벤치** — 영어로 가설을 입력하면 ES|QL / SPL / KQL을 반환하고, 저장 및 예약할 수 있습니다. [문서](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/console/rule-tuning.md) | **마켓플레이스** — 원클릭 테넌트 설치가 가능한 플러그인, 플레이북, 탐지. [문서](https://github.com/beenuar/aisoc/blob/HEAD/apps/docs/docs/plugins/overview.md) |
<sub><em>위의 네 개 타일은 SVG 자리 표시자입니다. 실제 PNG 스크린샷은 다음 Phase 2 비주얼 롤업과 함께 제공되며, 그때까지 이 README 상단의 [워크스루 동영상](https://github.com/beenuar/aisoc/blob/HEAD/apps/web/public/demo/)이 공식 참조 자료입니다.</em></sub>
</div>
---
## 아키텍처```mermaid
flowchart LR
subgraph Sources["Sources"]
EDR["EDR / XDR"]
SIEM["SIEM"]
Cloud["Cloud APIs"]
IDP["Identity"]
Net["Network"]
end
subgraph Ingest["Ingest & Normalize"]
Connectors["Connectors\n(Python · 78 vendors)"]
OsqueryTLS["osquery-tls\n(Python · host telemetry)"]
IngestSvc["Ingest worker\n(Go · OCSF)"]
Enrich["Enrichment\n(Go · IOC + Shodan)"]
end
subgraph Spine["Event Spine"]
Kafka[("Apache Kafka")]
end
subgraph Detect["Detect & Reason"]
Fusion["Fusion\n(Python · ML)"]
UEBA["UEBA\n(Python · baseline)"]
Rules["Rule engine\n(Sigma · YARA · KQL)"]
Agents["AI Agents\n(LangGraph)"]
end
subgraph Storage["Storage Tier"]
PG[("PostgreSQL")]
CH[("ClickHouse")]
OS[("OpenSearch")]
QD[("Qdrant")]
N4[("Neo4j")]
RD[("Redis")]
end
subgraph Surface["Surface"]
API["Core API\n(FastAPI)"]
Web["Web Console + Responder PWA\n(Next.js)"]
MCP["MCP Server\n(TS · stdio)"]
end
Sources --> Connectors --> IngestSvc --> Kafka
OsqueryTLS --> IngestSvc
IngestSvc --> Enrich --> Kafka
Kafka --> Fusion --> Storage
Kafka --> UEBA --> Kafka
Kafka --> Rules --> Kafka
Agents --> Storage
API --> Storage
Web --> API
MCP --> API
전체 아키텍처(모든 서비스, 모든 스토리지 역할, v1.5 콘솔 워크벤치, Investigation Ledger 계약)는 apps/docs/docs/architecture.md에 있습니다. ML 퓨전, Neo4j-at-ingest 스키마, 위협 인텔리전스 파이프라인을 포함한 더 심층적인 시스템 설계 문서는 docs/architecture/SYSTEM_DESIGN.md에 있습니다. 전체 모노레포 구조는 apps/docs/docs/architecture/overview.md에 있습니다.
몇 가지 핵심 기능 — 나머지는 apps/docs/docs/features/에 정리되어 있고 전체 목록은 apps/docs/docs/intro.md 상단에서 확인할 수 있습니다:
성숙도(v7.7.0 — 완전 운용 릴리스). 엔드투엔드 스파인이 연결되어 있고 CI 게이트가 적용되어 있습니다: 수집 → ClickHouse 레이크 → 실시간 탐지 → 융합 알림 → 자동 분류 → 통제된 대응. 커넥터, Investigation Rail + Ledger, Hunt-as-Code, 실시간 스트림 탐지, copilot 자동 분류는 GA입니다. 자율 대응은 기본적으로 copilot/dry-run으로 설정됩니다(모든 실제 실행은 자율성 정책이 관리). 라이브 에이전트 LLM 벤치마크는 프리뷰이며(결정론적 계층 스코어보드는 PR마다 CI 게이트 적용), substrate 평가 스위트는 GA입니다. 모든 제품 주장은 실패하는 테스트로 뒷받침됩니다 — claim-to-gate 매트릭스: 46 GATED / 9 PARTIAL / 0 NO GATE. 주장별 전체 상태:
docs/audit/REALITY_REPORT.md. v7.7.0은 세 가지 탐지 작성 모드(Python 프레임워크 + AI 빌더 + 노코드), 대응 작업에 대한 최소 권한 호출 ID(invoking-identity) 범위 지정, 셀프서비스 데이터 수명주기(보존 + ReDoS 방지 변환 DSL + 사용자 정의 파서), 규정 준수 자동 증거와 Opsgenie/이메일/SOAR 대상을 갖춘 에이전트리스 CSPM 스캐너, 맞춤형 리포트 빌더를 추가합니다 — 모두 테스트되었고 모두main에 반영되었습니다.
Test connection, 볼트 암호화 시크릿을 지원합니다. 최근 IBM QRadar, Netskope, Zeek/Suricata NDR 등에 더해 Qualys, GreyNoise, JumpCloud, Darktrace, Imperva가 추가되었습니다. 하나의 쿼리로 Splunk SPL / Sentinel KQL / Elastic ES|QL / QRadar AQL에 걸쳐 SIEM에 구애받지 않는 페더레이션 검색을 실행할 수 있습니다. 자세한 안내: apps/docs/docs/connectors/index.md.docker compose up 하나로 커넥터 데이터를 수집 → ClickHouse 이벤트 레이크에 저장 → 실행 가능한 탐지 코퍼스(947개 규칙)가 실시간 스트림에서 발화 → 융합 알림 생성, 전체가 확장 통합 게이트로 검증됩니다. 융합 시점의 위협 인텔리전스 + CISA-KEV 강화가 이제 신뢰도 점수와 exploit-in-wild 부스트에 반영되며, 상태 저장/윈도우 기반 탐지(브루트포스, 패스워드 스프레이, 포트 스캔)도 코퍼스와 함께 실행됩니다. apps/docs/docs/architecture.md.apps/docs/docs/concepts/automation-maturity.md./explore.AiSOC는 MCP 서버(services/mcp/)를 제공하므로 분석가는 IDE나 채팅을 떠나지 않고도 알림을 조회하고, 에이전트 조사를 실행하고, 에이전트가 수행한 모든 단계를 재생할 수 있습니다. 이 서버는 13개의 도구를 제공합니다 — 검색, 심층 분석, 통제된 레이크 쿼리, 그리고 에이전트의 결정 원장을 단계별로 탐색하는 액션 / 재생 집합입니다.
상태 — 현재는 모노레포 소스 빌드이며, npm 퍼블리시는 v8.0에 반영됩니다. 전체 설정 방법은
apps/docs/docs/integrations/mcp.md에 있으며, 현재 버전과 v8.0의 호출 방법을 나란히 비교해 보여줍니다.
세 가지 기여 경로가 있으며, 각각은 파일 하나와 선택적 픽스처로 구성되고 CI가 모든 PR을 검증합니다.
detections/ 아래에 Sigma YAML을 추가하고 detections/fixtures/에 양성 / 음성 픽스처를 함께 넣으세요. validate-detections 워크플로가 모든 PR에서 이를 테스트합니다. 사양: docs/connectors/.services/connectors/app/connectors/에서 BaseConnector를 서브클래싱하고, _CONNECTOR_CLASSES에 등록한 다음, plugins/<id>/plugin.yaml 매니페스트를 추가하세요. 마켓플레이스가 자동으로 인식합니다. 자세한 안내: apps/docs/docs/connectors/.playbooks/ 아래에 YAML을 추가하세요. 가 PR을 게이트합니다. 스키마: .플러그인 및 탐지 SDK(Python · TypeScript · Go) — apps/docs/docs/plugins/overview.md를 참조하세요. CLI(aisoc-cli)는 packages/aisoc-cli/에 있으며, PyPI 퍼블리시는 v8.0에 반영됩니다.
자체 CI에 적용: 저장소의 Dependabot / CodeQL / 시크릿 스캐닝 알림을 모든 PR에서 분류하도록 - uses: beenuar/aisoc-action@v1을 추가하세요(결정론적이며, 어떤 것도 러너 밖으로 나가지 않습니다. 이 저장소에서 자체 사용 중이며, Marketplace 퍼블리시는 v8.0에 반영됩니다). 문서.
RELEASES.md(이전에 이 README에 있던 내용을 그대로 담은 문서)CHANGELOG.md[~] 항목): docs/roadmap/v8-progress.mdROADMAP.md모든 규모의 PR을 환영합니다. PR을 열기 전에 워크플로는 CONTRIBUTING.md를 참조하고 행동 강령을 읽어주세요.
첫 기여자라면 good first issue를 선택하세요. 도움이 필요하신가요? Q&A 디스커션을 열어주세요.
AiSOC는 점점 늘어나는 기여자, 보안 연구원, 운영자 커뮤니티에 의해 구축되고 개선되고 있습니다. 버그 리포터와 보안 연구원을 포함한 전체 크레딧은 .github/CREDITS.md에 있습니다. 항상 최신 상태로 유지되는 코드 기여 그래프는 GitHub 기여자 페이지에서 확인할 수 있습니다.
보안 문제는 공개 이슈로 열지 말아주세요. GitHub의 비공개 취약점 보고를 이용해주세요. 전체 정책은 SECURITY.md에 있습니다. AiSOC는 조정된 공개(coordinated disclosure) 방식을 따릅니다.
MIT — © 2024–현재 AiSOC 기여자.
apps/docs/docs/concepts/detections.md — 869개의 네이티브 규칙은 detections/에 있습니다.services/agents/app/routing/./hunt 워크벤치가 있는 YAML 가설. hunts/ + apps/docs/docs/console/rule-tuning.md. 또한 무료이고 로그인이 필요 없는 브라우저 도구도 제공됩니다: Sigma/SPL/KQL/ES|QL 규칙 변환기, ATT&CK 커버리지 그레이더, NL→Sigma, 노이즈 계산기.apps/docs/docs/benchmark-scoreboard.mdx.