지난 18개월 동안 보안 제품을 판매하는 모든 벤더가 마케팅 페이지에 ‘AI’를 붙였습니다. 대부분은 리브랜딩된 ML 분류 기술입니다. 이미 존재하던 이상 탐지를 2024년 옷으로 갈아입힌 것입니다. 진짜 흥미로워지는 지점 — 그리고 대부분의 팀이 실패하는 지점 — 은 도구를 사용할 수 있는 LLM 에이전트를 알림 파이프라인에 실제로 연결해 Tier-1 분석가처럼 트리아지를 수행하게 할 때입니다.
저희는 이런 구성을 태국과 일본 고객사에서 실제 운영 환경으로 구축하고 있습니다. Wazuh, Shuffle, DFIR-IRIS, OpenSearch, 그리고 저희가 soc-integrator라고 부르는 경량 FastAPI 미들웨어 기반입니다. 이 포스트는 저희가 시작하기 전에 누군가 써줬으면 했던 글입니다.
구체적으로: 에이전트가 실제로 하는 일, 절대 하지 않는 일, 컨퍼런스 발표에서는 아무도 말하지 않는 실패 패턴, 그리고 비즈니스 케이스를 실제로 성립시키는 비용 계산까지 다룹니다.
SOC에서 에이전트가 실제로 해결하는 문제
24/7 SOC는 세 가지 구조적 문제를 가지고 있으며, 대시보드를 더 추가한다고 해서 해결되지 않습니다.
알림 물량 대 분석가 집중력. 중간 규모의 MSSP 고객은 엔드포인트, 네트워크, ID, 클라우드 전반에서 하루 5,000~50,000건의 알림을 발생시킵니다. 중복 제거, 상관 분석, 규칙 튜닝 후에도 분석가가 실제로 볼 수 있는 것은 하루 500~2,000건입니다. Tier-1 분석가가 각 건에 쓸 수 있는 시간은 초 단위입니다.
컨텍스트 조합이 실제 업무입니다. 일은 알림을 읽는 것이 아닙니다. 피벗하는 것입니다. 이 사용자는 누구인가, 이 자산은 무엇인가, 지난 한 시간 동안 이 호스트에서 다른 무슨 일이 있었나, 이 IP가 전에 나온 적이 있나, 이 바이너리는 서명되었나, 상위 프로세스는 무엇인가. 시니어 분석가는 머릿속으로 합니다. Tier-1 분석가는 일곱 개의 브라우저 탭에서 합니다.
기억은 개인이 아닌 조직에 속합니다. 지난 화요일 당직이었던 사람이 비슷한 것을 봤습니다. 그것을 찾을 수 있는지는 그 사람이 좋은 케이스 노트를 남겼는지에 달려 있습니다.
잘 설계된 에이전트는 첫 번째를 인간이 낼 수 없는 가격으로 처리하고, 두 번째를 일상적인 경우에서 인간보다 빠르게 처리하며, 세 번째에 대한 쿼리 가능한 인터페이스 역할을 할 수 있습니다. 에이전트가 할 수 없는 것 — 그리고 대부분의 프로젝트가 무너지는 지점 — 은 시니어의 판단을 대체하는 것입니다.
스택 구성
flowchart TD
A["Wazuh Manager\n규칙 + 디코더 엔진"] -->|"알림 웹훅"| B["Shuffle\nSOAR 오케스트레이션"]
B --> C["soc-integrator\nFastAPI 미들웨어"]
C --> D["Claude\nTier-1 추론"]
D -->|"도구 호출"| E["OpenSearch\n로그 쿼리"]
D -->|"도구 호출"| F["DFIR-IRIS\n케이스 이력"]
D -->|"도구 호출"| G["위협 인텔\nVT / AbuseIPDB / OTX"]
D -->|"도구 호출"| H["AD / Identity\n사용자 컨텍스트"]
D --> C
C -->|"구조화된 판정"| B
B -->|"자동 종결"| A
B -->|"에스컬레이션"| F
B -->|"알림"| I["PagerDuty"]
각 컴포넌트 선택에는 이유가 있습니다.
Wazuh는 탐지의 원천입니다. 저희는 Wazuh의 규칙 엔진을 대체하지 않고 그 하류에 위치합니다. MITRE ATT&CK 매핑이 된 커스텀 디코더와 규칙이 여전히 결정론적 작업의 대부분을 처리합니다. LLM이 원시 로그에서 탐지를 수행하도록 하는 것은 이 도구에 맞지 않는 역할입니다.
Shuffle은 워크플로우 오케스트레이션을 담당합니다. 에이전트는 Shuffle 워크플로우 안의 한 단계입니다. Shuffle이 재시도, 분기, 그리고 감사자들이 실제로 좋아하는 시각적 감사 추적을 제공하기 때문에 이것이 중요합니다.
soc-integrator는 저희 자체 FastAPI 서비스입니다. 프롬프트 구성, 도구 호출 실행, 출력 검증, 속도 제한을 담당합니다. 이것을 Shuffle의 GUI 대신 자체 코드로 작성하는 것은 협상 불가입니다. 브라우저에서 그린 워크플로우는 버전 관리하거나 단위 테스트할 수 없습니다.
DFIR-IRIS는 케이스 관리 시스템입니다. 에이전트는 컨텍스트를 위해 읽기만 하고, 구조화된 Shuffle 액션을 통해서만 씁니다. 직접 쓰기는 없습니다.
Claude가 추론 모델입니다. 도구 호출 규율과 구조화된 출력 신뢰성이 벤치마크한 대안들보다 낫기 때문에 선택했습니다. 아키텍처는 모델 독립적으로 설계되어, 비용에 민감한 배포에서는 soc-integrator가 LLM 인터페이스를 추상화해 로컬 모델로 교체할 수 있습니다.
주목할 만한 부재: 벡터 데이터베이스. 에이전트가 장기 기억을 가진다고 가정하지 않습니다. 기관의 기억은 DFIR-IRIS와 OpenSearch에 있고, 에이전트는 필요 시 쿼리합니다. 벡터 스토어를 추가하면 처음 두 개와 동기화가 어긋날 수 있는 세 번째 진실의 소스가 생깁니다.
에이전트가 실제로 하는 일
에이전트에 도달하는 각 알림에 대해 워크플로우는 다음과 같습니다.
flowchart TD
A["Wazuh 알림 수신"] --> B["컨텍스트 수집 단계"]
B --> B1["호스트 최근 이벤트 조회\n(OpenSearch, 60분)"]
B --> B2["사용자 컨텍스트 조회\n(AD/IdP)"]
B --> B3["자산 분류 조회\n(DFIR-IRIS CMDB)"]
B --> B4["IP/해시 위협 인텔 조회\n(VirusTotal, AbuseIPDB)"]
B --> B5["유사 케이스 이력 조회\n(DFIR-IRIS)"]
B1 & B2 & B3 & B4 & B5 --> C["LLM 추론 단계"]
C --> D{"판정"}
D -->|"거짓 양성 (신뢰도 높음)"| E["자동 종결 + 근거 로그"]
D -->|"낮은 심각도 / 모니터링"| F["케이스 생성 + 우선순위 낮음"]
D -->|"에스컬레이션 필요"| G["Tier-2 알림 + 케이스 + 컨텍스트 패키지"]
D -->|"불확실"| H["인간 검토 큐"]
에이전트는 다음 네 가지 판정 중 하나를 내립니다: 자동 종결(거짓 양성, 신뢰도 높음), 낮은 심각도 모니터링(케이스 생성, 우선순위 낮음), 에스컬레이션(Tier-2 알림, 컨텍스트 패키지 포함), 불확실(인간 검토 큐).
에이전트는 절대 하지 않는 일: 직접 차단 조치(방화벽 규칙, 계정 비활성화). 격리된 환경에서도 그렇습니다. 모든 수정 조치는 Shuffle 워크플로우를 통해 인간이 승인한 단계에서만 이루어집니다.
실패 패턴: 아무도 말하지 않는 것들
프롬프트 안정성
LLM 출력은 확률적입니다. 프롬프트가 완벽하게 동일해도, 응답은 미묘하게 달라질 수 있습니다. 운영 환경에서 이것은 판정의 불일치를 의미합니다. 해결책은 출력 구조를 강제하는 것입니다. 저희는 모든 에이전트 출력에 JSON 스키마를 강제하고, soc-integrator에서 유효성을 검증합니다. 스키마 불일치는 즉각 인간 검토 큐로 보냅니다.
컨텍스트 창 비용
각 알림이 60분간의 OpenSearch 로그, 케이스 이력, 위협 인텔 응답과 함께 LLM에 전달됩니다. 토큰 비용이 빠르게 증가합니다. 저희의 해결책: 각 도구 호출에 대해 LLM에 전달하기 전에 결과를 요약하는 경량 전처리 레이어를 운영합니다. 이것은 비용을 약 60% 줄였습니다.
위협 인텔 노이즈
AbuseIPDB와 VirusTotal은 거짓 양성을 반환합니다. 위협 인텔 응답을 프롬프트에 그대로 넣으면 에이전트가 정상 인프라를 악성으로 표시합니다. 해결책: 위협 인텔 응답에 신뢰도 임계값 필터를 추가하고, 내부 화이트리스트와 교차 검증합니다.
기관 기억 표류
DFIR-IRIS 케이스 노트는 사람이 작성합니다. 품질이 일정하지 않습니다. 에이전트가 3개월 전의 불완전한 케이스 노트를 기반으로 추론하면 잘못된 결론에 도달합니다. 해결책: 케이스 종결 시 표준화된 요약 템플릿을 강제합니다.
비용 계산
이것이 경영진에게 중요한 숫자입니다.
| 항목 | 기존 방식 | AI 에이전트 방식 |
|---|---|---|
| Tier-1 분석가 처리 알림 (일/인) | 200~400건 | 1,500~3,000건 자동 처리 |
| 평균 트리아지 시간 | 4~8분/건 | 15~45초/건 |
| 거짓 양성 에스컬레이션율 | 60~80% | 15~25% |
| Claude API 비용 (건당) | — | ₩3~8원 |
| 야간/주말 커버리지 | 추가 인력 필요 | 동일 비용 |
한국 MSSP 고객 기준으로, 하루 10,000건의 알림을 처리하는 환경에서 에이전트는 월 ₩30~80만 원의 API 비용으로 Tier-1 분석가 2~3명의 트리아지 용량을 제공합니다. 에스컬레이션되는 것은 실제로 검토가 필요한 것들입니다.
한국 시장에서 이것이 중요한 이유
한국은 북한 APT 그룹(Lazarus, Kimsuky, Andariel)으로부터 지속적인 사이버 위협을 받고 있습니다. 이들은 제조업 협력사, 방위산업체, 금융기관, 그리고 연구기관을 주로 타깃으로 합니다.
동시에 ISMS-P 인증은 많은 기업에 의무적이거나 사실상 필수입니다. ISMS-P는 24/7 모니터링, 이상 탐지, 사고 대응 절차를 요구합니다. AI 에이전트 기반 SOC는 이 요건을 충족하면서도 인건비를 현실적인 수준으로 유지하는 방법입니다.
저희 스택의 모든 컴포넌트(Wazuh, Shuffle, DFIR-IRIS)는 오픈소스이며 온프레미스 배포가 가능합니다. 데이터가 외부로 나가지 않아야 하는 환경에서 Claude API 대신 Ollama + Llama 3 로컬 모델로 교체할 수 있습니다.
마치며
AI for SOC는 마케팅 슬로건이 아닌 실제로 구현 가능한 시스템입니다. 그러나 올바른 범위 설정이 필요합니다. 에이전트는 탐지를 대체하지 않습니다. 규칙 엔진을 대체하지 않습니다. 시니어 분석가를 대체하지 않습니다. 에이전트가 하는 것은 Tier-1의 반복적인 컨텍스트 조합 작업을 자동화하여, 인간 분석가가 실제로 판단이 필요한 것에 집중하도록 만드는 것입니다.
한국의 MSSP, 기업 보안팀, 또는 ISMS-P 준수를 위한 SOC 구축을 검토 중이라면 저희 경험을 바탕으로 대화를 나눌 수 있습니다.
문의: tum@simplico.net | simplico.net
Simplico Co., Ltd.는 방콕 기반의 소프트웨어 엔지니어링 스튜디오입니다. 태국·일본·글로벌 시장에서 10년 이상의 엔터프라이즈 납품 경험을 보유합니다.
