
OT/ICS 네트워크를 위한 AI 기반 SOC — 6개의 자율 에이전트, MITRE ATT&CK 매핑, Suricata/Zeek 수집, 인간-인-더-루프 대응, 330개 이상의 테스트. 중소기업을 위한 Claroty/Dragos의 오픈소스 대안.
산업 네트워크를 위한 오픈소스 자율 사이버 방어
OT/ICS 인프라 전반의 위협을 탐지, 조사, 헌팅, 대응하는 AI 에이전트 — 인간 승인 게이트와 전체 감사 추적이 포함됩니다.
라이브 데모: https://onealert-demo.mangoglacier-b3ad215d.southeastasia.azurecontainerapps.io/app/
| 이메일 | [email protected] |
| 비밀번호 | password123 |
현실적인 정수 처리장 데이터가 미리 로드됨: 11개의 OT/IT 자산, 다단계 공격 시나리오(VPN 침해 → 측면 이동 → PLC 접근 시도), MITRE ATT&CK 매핑이 포함된 AI 생성 조사 케이스, 15개 이상의 보안 이벤트.
KPI, 심각도 분석, 위험 히트맵을 포함한 보안 태세 대시보드
엔터프라이즈 SOC 도구는 연간 30만~80만 달러가 듭니다. PLC, SCADA 시스템, OT 네트워크를 보유한 중소기업 제조업체는 이를 감당할 수 없지만, 점점 더 표적이 되고 있습니다. OneAlert는 다음과 같은 AI 블루 팀을 제공합니다:
팀으로 작업하는 6개의 특화 에이전트:
git clone https://github.com/mangod12/OneAlert.git
cd OneAlert
pip install -r requirements.txt
python -m backend.demo
http://localhost:8000/app/ 열기 — 데모 데이터가 공격 시나리오와 함께 자동 로드됩니다.
docker compose up --build
# 백엔드
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python -m uvicorn backend.main:app --reload
# 프론트엔드
cd frontend-v2 && npm install && npm run dev
# AI 에이전트에 필요
AI_PROVIDER=anthropic # 또는 openai, ollama, vllm, groq
ANTHROPIC_API_KEY=sk-ant-... # 또는 OpenAI 호환용 AI_API_KEY
# 선택 사항
AI_TRIAGE_MODEL=claude-sonnet-4-20250514
AI_BASE_URL=http://localhost:11434/v1 # Ollama/vLLM용
SECRET_KEY=your-production-secret
DATABASE_URL=postgresql://user:pass@host/db
OneAlert AI 보안 OS
┌─────────────────┬───────────────────┬───────────────────────┐
│ 센서 계층 │ 에이전트 계층 │ 컨트롤 플레인 │
│ │ │ │
│ Suricata EVE │ 탐지 에이전트 │ 정책 엔진 │
│ Zeek 로그 │ 트라이지 에이전트 │ 자율성 수준 │
│ Syslog/Auth │ 헌트 에이전트 │ 승인 워크플로 │
│ OT 탐색 │ 대응 에이전트 │ 에이전트 원장 │
│ PII 삭제 │ 퍼플 에이전트 │ OT 영역 제약 조건 │
│ │ 컴플라이언스 에이전트│ 작업 실행기 │
├─────────────────┼───────────────────┼───────────────────────┤
│ 데이터 계층 │ AI 런타임 │ 프론트엔드 │
│ │ │ │
│ PostgreSQL │ Claude (기본) │ 대시보드 │
│ SQLite (개발) │ OpenAI 호환 │ 케이스 및 조사 │
│ 이벤트 저장소 │ Ollama/vLLM │ 이벤트 뷰어 │
│ 에이전트 원장 │ 모델 라우팅 │ MITRE ATT&CK 맵 │
│ 의미 검색 │ │ 헌트 랩 │
│ │ │ 대응 계획 │
│ │ │ 퍼플팀 검증 │
└─────────────────┴───────────────────┴───────────────────────┘
Suricata/Zeek 이벤트 ──► 수집 API ──► 이벤트 저장소
│
탐지 에이전트 (이상 탐지)
│
CVE 경보 (NVD/CISA/ICS-CERT) ──► 트라이지 에이전트 (상관 분석 + MITRE)
│
조사 케이스
│
대응 에이전트 (통제된 계획)
│
인간 승인 ──► 작업 실행
전체 API 문서는 로컬 실행 시 /docs에서 확인할 수 있습니다.
backend/
├── services/ai/ # 제공자 중립 LLM 런타임
├── services/agents/ # 탐지, 트라이지, 헌트, 대응, 퍼플 에이전트
├── services/mitre/ # MITRE ATT&CK 통합
├── services/parsers/ # Suricata + Zeek 이벤트 파서
├── models/ # SQLAlchemy 모델 + Pydantic 스키마
├── routers/ # FastAPI 라우트 핸들러
├── services/pii_redactor.py # PII/비밀 정보 삭제 파이프라인
├── services/action_executor.py # 대응 작업 실행
├── services/semantic_search.py # TF-IDF 검색 + 폭발 반경
└── services/ # CVE, 컴플라이언스, 결제, 알림
frontend-v2/src/
├── pages/ # 대시보드, 케이스, 이벤트, 헌트랩, MitreMap, 대응 계획, 검증
├── components/ # 차트, 레이아웃, 공유 UI
└── stores/ # Zustand 인증 상태
tests/ # 309 pytest 테스트
tests/e2e/ # 배포된 앱에 대한 Playwright E2E
docs/ # AI_CONTEXT, ARCHITECTURE, CODEMAP, VISION
OneAlert의 차별점: 단순 로그 수집이 아닌, 조사 및 대응을 수행하는 AI 에이전트. 모든 작업은 OT 자산에 대한 인간 승인이 있는 정책에 의해 통제됩니다.
기여를 환영합니다! 도움이 가장 필요한 분야:
MIT — License 참조.
50만 달러 SOC 플랫폼을 감당할 수 없지만 여전히 하나가 필요한 보안 팀을 위해 만들어졌습니다.
MITRE ATT&CK 매핑 및 공격 타임라인이 포함된 AI 생성 조사 케이스 |
기법 검색 기능이 있는 MITRE ATT&CK 적용 범위 히트맵 |
AI 생성 쿼리를 이용한 자연어 위협 헌팅 |
심각도 필터링이 있는 Suricata/Zeek 보안 이벤트 |
AI 기반 수정 조치가 포함된 CVE 취약점 경보 |
Purdue 모델 분류가 포함된 OT/IT 자산 인벤토리 |
| 에이전트 | 수행 작업 |
|---|
| 탐지 에이전트 | 포트 스캔, OT 프로토콜 이상, C2 패턴에 대한 이벤트 통계 분석 |
| 트라이지 에이전트 | 경보 + 이벤트를 MITRE ATT&CK 매핑이 포함된 조사 케이스로 상관 분석 |
| 헌트 에이전트 | 자연어 가설을 받아 SQL 쿼리 생성, Sigma 규칙 출력 |
| 대응 에이전트 | 순서가 지정된 차단 조치가 포함된 대응 계획 생성 |
| 퍼플 에이전트 | 탐지 적용 범위 검증을 위해 ATT&CK 기법 시뮬레이션 |
| 컴플라이언스 에이전트 | 플랫폼 데이터를 IEC 62443 및 NIST CSF 컨트롤에 매핑 |
| 계층 | 기술 |
|---|
| 백엔드 | FastAPI, Python 3.11+, SQLAlchemy 2.0 async |
| 프론트엔드 | React 19, Vite 8, Tailwind CSS v4, Zustand, Recharts |
| AI 런타임 | 제공자 중립 (Claude, GPT-4o, Ollama, vLLM, Groq) |
| 데이터베이스 | PostgreSQL (프로덕션), SQLite (개발) |
| 인증 | JWT + GitHub OAuth + TOTP MFA |
| 배포 | Docker, Azure Container Apps |
| CI | GitHub Actions, 330개 이상의 테스트 (309 pytest + 22 Playwright E2E) |
| 엔드포인트 | 설명 |
|---|
POST /api/v1/events/ingest | 보안 이벤트용 웹훅 수신기 |
POST /api/v1/events/upload | Suricata/Zeek 로그 파일 업로드 |
POST /api/v1/cases/pipeline | 전체 AI 에이전트 파이프라인 실행 |
POST /api/v1/cases/auto-triage | 최근 데이터에서 트라이지 에이전트 실행 |
POST /api/v1/hunt/ | 자연어 위협 헌팅 시작 |
GET /api/v1/mitre/coverage | MITRE ATT&CK 탐지 적용 범위 |
GET /api/v1/cases/ | 조사 케이스 목록 |
GET /api/v1/alerts/ | 취약점 경보 목록 |
GET /api/v1/events/stats | 이벤트 수집 통계 |
GET /api/v1/cases/search?q= | 의미 케이스 검색 |
GET /api/v1/cases/{id}/similar | 유사 인시던트 찾기 |
GET /api/v1/cases/{id}/blast-radius | 폭발 반경 엔티티 그래프 |
GET /api/v1/response-plans/ | 대응 계획 목록 |
POST /api/v1/response-plans/{id}/approve | 대응 계획 승인 |
POST /api/v1/response-plans/{id}/execute | 승인된 계획 실행 |
POST /api/v1/validation/runs | 퍼플팀 검증 실행 생성 |
POST /api/v1/validation/runs/{id}/execute | ATT&CK 기법 테스트 실행 |
GET /api/v1/validation/coverage | 기법별 탐지 적용 범위 |
| 기능 | OneAlert | Wazuh | SecurityOnion | OSSEC | Caldera |
|---|
| AI 기반 트라이지 | 예 (6개 에이전트) | 아니요 | 아니요 | 아니요 | 아니요 |
| MITRE ATT&CK 매핑 | 자동 매핑 | 수동 규칙 | 수동 | 아니요 | 예 |
| OT/ICS 프로토콜 지원 | Modbus, S7, EtherNet/IP | 제한적 | Zeek 기반 | 아니요 | 아니요 |
| 자연어 위협 헌팅 | 예 | 아니요 | 아니요 | 아니요 | 아니요 |
| 통제된 대응 (승인 게이트) | 예 (L0-L4) | 아니요 | 아니요 | 아니요 | 아니요 |
| 퍼플팀 검증 | 내장 | 아니요 | 아니요 | 아니요 | 예 (핵심) |
| LLM 전 PII 삭제 | 예 | N/A | N/A | N/A | N/A |
| Suricata + Zeek 수집 | 예 | 예 | 예 | 아니요 | 아니요 |
| 컴플라이언스 (IEC 62443, NIST CSF) | 자동화 | 수동 | 아니요 | 아니요 | 아니요 |
| SBOM 분석 | 예 | 아니요 | 아니요 | 아니요 | 아니요 |
| 자체 호스팅 가능 | 예 | 예 | 예 | 예 | 예 |
| SaaS 결제 (Stripe) | 내장 | 아니요 | 아니요 | 아니요 | 아니요 |
| 산업 | 사용 사례 |
|---|
| 수도/하수 | 화학 주입 및 펌프장을 제어하는 PLC 모니터링 |
| 제조 | 공장 바닥의 HMI 및 SCADA 시스템 보호 |
| 에너지/유틸리티 | IT에서 OT 제어 네트워크로의 측면 이동 탐지 |
| MSSP | 산업 고객을 위한 멀티 테넌트 SOC-as-a-Service |
| 보안 팀 | 탐지 적용 범위의 퍼플팀 검증 |
| 컴플라이언스 | 자동화된 IEC 62443 및 NIST CSF 증거 수집 |