GitHub

beenuar/AiSOC

AiSOC, 보안 이벤트를 모아 AI로 조사하고 승인된 대응안을 제시하는 오픈소스 도구

AiSOC는 보안 도구의 이벤트를 모아 규칙으로 경보를 만들고, 로컬 AI 에이전트가 관련 정보를 조사해 대응안을 제시하는 자체 호스팅형 보안관제 도구입니다. 기본 설정은 외부 LLM API 키 없이 작동하며, 대응은 기본적으로 사람의 승인을 거칩니다. 장기 로그 보관·규정 준수 검색을 대신하지는 않습니다.

본문

beenuar의 AiSOC는 보안 도구에서 이벤트를 모아 경보를 만들고, AI 에이전트가 경보를 조사해 대응안을 제시하는 자체 호스팅형 보안관제 도구입니다. 경보가 발생하면 에이전트는 관련 경보와 자산 정보, 같은 유형에 대한 이전 판단을 살펴봅니다. 대응 작업은 기본적으로 사람의 승인을 거친 뒤 외부 보안 제품에 전달합니다.

보안 이벤트는 REST API로 보내거나 저장소가 제공하는 커넥터로 가져옵니다. 프로젝트 문서는 Splunk, Sentinel, Elastic, CrowdStrike, Okta와 클라우드 감사 로그 등 87개 연결 항목을 소개합니다. AWS CloudTrail은 S3와 SQS를 거쳐 읽고, GCP는 Pub/Sub, Azure는 Event Hubs를 이용하는 수집기도 제공합니다. 커넥터가 이벤트를 공통 형태로 정리하면 Kafka가 이를 전달합니다. 수집기는 이어서 처리할 위치를 기록하고 한 번에 가져오는 양을 제한해 밀린 로그가 처리 시스템을 압도하지 않도록 설계했습니다.

탐지 단계는 저장소에 포함된 7,015개 규칙 중 2,530개를 실행 가능한 규칙으로 집계합니다. 여기에 여러 이벤트의 개수나 순서를 보는 슬라이딩 윈도 규칙 76개를 별도로 둡니다. 프로젝트가 규칙을 실행 가능하다고 부르는 기준은 실제 커넥터와 탐지 엔진에 업체 형식의 이벤트를 재생해 그 규칙이 작동하는지 확인하는 것입니다. 저장소는 이 기준이 공격 탐지 성능의 증명은 아니라고 설명합니다. 탐지 결과는 상관관계 분석을 거쳐 사건 단위로 묶이고, 에이전트가 조사할 경보로 이어집니다.

에이전트는 이벤트 레이크 조회, 개체 그래프 탐색, 정보 보강처럼 형식이 정해진 도구를 호출합니다. 모델이 임의로 SQL을 작성하지 않고 도구와 인자를 선택하는 구조입니다. 프롬프트와 도구 호출, 인용 근거, 판단, 토큰 사용량은 Investigation Ledger에 기록하며 조사 결과는 서명된 증거 묶음으로 내보낼 수 있습니다. 근거에 없는 지표를 인용한 판단은 자동 종결 대신 사람의 검토 대상으로 낮춥니다. 로그 원문이나 비밀값처럼 민감한 입력은 모델에 보내기 전 검증 단계에서 거부합니다.

기본 설치는 외부 LLM 서비스 대신 같은 배포 환경에서 실행하는 양자화된 Llama 3.2 3B 모델을 사용합니다. 따라서 기본 AI 분류에 외부 모델 API 키가 필요하지 않습니다. CISA의 알려진 악용 취약점 목록도 키 없이 가져오지만, 새 위협정보를 과거 이벤트 레이크와 대조하는 재탐색은 전체 구성에서 기능을 켜야 합니다. 기본 구성은 Docker Compose v2와 Docker 가상머신 기준 약 8GB 메모리, 20GB 여유 디스크가 필요하고 첫 실행 때 약 2GB 모델을 내려받습니다. 이벤트 레이크와 개체 그래프 등을 더하는 전체 구성은 약 12GB 메모리를 요구합니다.

대응 플레이북은 미리보기 상태가 기본값이며 배포, 테넌트, 플레이북 설정이 모두 허용해야 실행 단계로 넘어갑니다. 승인 대기 작업은 데이터베이스에 저장돼 재시작 뒤에도 이어집니다. 테넌트가 특정 작업에 자율 실행 권한을 명시적으로 부여하면 예외가 생기지만, 저장소가 설명하는 기본 동작은 사람 승인입니다.

AiSOC는 장기 로그 보관과 규정 준수 검색까지 맡는 SIEM 대체품으로 소개되지 않습니다. 연결하지 않은 데이터는 볼 수 없고, 데모와 샘플 사건은 합성 데이터입니다. 저장소는 핵심 경보 파이프라인과 AI 조사 기능을 자체 테스트 상태와 함께 설명하며, AI 분류는 로컬 모델을 중심으로 제공합니다. 저장소는 MIT 라이선스를 표시합니다.

자료: GitHub / 정리·해설: Trawling