SentinelFlow은(는) 무엇을 하나요?
LangGraph 멀티 에이전트 오케스트레이션으로 구동되는 AI 네이티브 SecOps 플랫폼입니다. 자동화된 알림 분류, 플러그 가능한 스킬, 그리고 인간 개입 명령 실행을 하나의 React WebUI에서 제공합니다.
개요
SentinelFlow는 보안 운영 팀이 AI 에이전트를 활용하여 보안 알림을 자동으로 분류하고, 대응 작업을 조정하며, 중요한 결정 단계에서 인간의 판단을 포함시킬 수 있도록 설계되었습니다.
주요 기능
- 자동 알림 분류: LangGraph 기반 멀티 에이전트가 보안 알림을 분석하고 우선순위를 지정합니다.
- 플러그 가능한 스킬: 사용자 정의 스킬을 플러그인 형태로 추가하여 기능을 확장할 수 있습니다.
- 인간 개입(Human-in-the-loop): AI가 생성한 명령을 실행하기 전에 사람이 검토하고 승인할 수 있습니다.
- 통합 WebUI: React 기반의 직관적인 인터페이스에서 모든 기능을 제어할 수 있습니다.
시작하기
필수 조건
- Node.js 18.x 이상
- Python 3.10 이상
- LangGraph CLI (
pip install langgraph-cli)
설치
# 저장소 클론
git clone https://github.com/Ch1nfo/SentinelFlow.git
cd SentinelFlow
# 프론트엔드 의존성 설치
npm install
# 백엔드 의존성 설치
pip install -r requirements.txt
# 환경 변수 설정
cp .env.example .env
# .env 파일을 편집하여 API 키 및 설정 입력
실행
# 개발 서버 실행
npm run dev
사용법
- WebUI에 접속합니다 (기본:
http://localhost:3000). - 알림 소스 (예: SIEM, EDR)를 연결합니다.
- 자동 분류 규칙을 구성하거나 기본 스킬을 사용합니다.
- 알림이 도착하면 AI 에이전트가 자동으로 분석을 시작합니다.
- 인간 개입이 필요한 명령은 WebUI에서 검토 및 승인합니다.
스킬 개발
플러그 가능한 스킬을 개발하려면:
from sentinelflow.skill import BaseSkill
class CustomThreatIntelSkill(BaseSkill):
name = "custom_threat_intel"
description = "커스텀 위협 인텔리전스 조회"
async def execute(self, context, params):
# 여기에 로직 구현
pass
API
SentinelFlow는 REST API를 통해 외부 시스템과 통합됩니다.
| 엔드포인트 | 메서드 | 설명 |
|---|---|---|
/api/alerts | GET | 알림 목록 조회 |
/api/alerts/{id}/triage | POST | 특정 알림 수동 분류 |
/api/skills | GET | 등록된 스킬 목록 |
/api/skills/register | POST | 새 스킬 등록 |
기여하기
기여는 환영합니다! 자세한 내용은 CONTRIBUTING.md를 참조하세요.
라이선스
MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.