왜 그래프인가
공격 경로는 본질적으로 그래프입니다. 피벗은 관계입니다; 크리덴셜은 계정과 호스트 사이의 에지입니다; 방어 브리프는 취약점을 탐지에 연결합니다. 이를 그래프로 모델링하면:- 오케스트레이터는 *“이 크리덴셜에서 어떤 호스트에 도달할 수 있나?”*를 대화 기록을 다시 읽지 않고도 한 번의 Cypher 쿼리로 쿼리할 수 있습니다.
- 방어자의 산출물은 PDF가 아닌 구조화된 그래프입니다 — 기존 탐지 커버리지에 쉽게 오버레이됩니다.
- 교차 작전 쿼리가 가능합니다: “이 CVE는 이 고객에 대한 이전 작전에서 나타났나?”
노드 타입
에지 타입
에이전트가 사용하는 도구
그래프는KGMiddleware를 통해 에이전트에 노출되며, 미들웨어는 부착되는 역할마다 두 개의 도구를 빌드해 공유 KGStore (packages/decepticon/decepticon/middleware/kg_internal/)로 디스패치합니다:
에이전트는 프롬프트에 원시 Cypher를 절대 작성하지 않습니다. 읽기 경로는 미들웨어의 타입화된 요약 프로젝션(ATT&CK 조회는 Skillogy)을 거치고, 쓰기 경로는
kg_record / kg_ingest를 거칩니다. 이것으로 인게이지먼트 스코프, 스키마 검증, 마이그레이션 런너 계약이 중앙화되어 버그가 있는 전문가가 그래프를 손상시킬 수 없습니다.
미들웨어 이전의 독립형 @tool 함수(kg_add_node, kg_add_edge, kg_query, kg_neighbors)는 전환 호출자용으로 decepticon.tools.research.tools에서 여전히 임포트 가능하며 DeprecationWarning을 발생시킵니다. 새 코드는 KGMiddleware를 부착하고 미들웨어가 빌드한 표면을 사용해야 합니다.
운영자 접근
그래프는 운영자에게도 노출됩니다:- 브라우저: 온보딩 마법사의 크리덴셜로
http://localhost:7474의 Neo4j 브라우저. - CLI:
decepticon kg-health는 진단을 실행하고 고아 노드 또는 누락된 관계를 표시합니다. - 웹 대시보드: Next.js 대시보드의 공격 그래프 캔버스는 라이브 작전 그래프를 렌더링합니다.
산출물로서의 그래프
작전 최종 보고에서 그래프는 산출물의 일부가 됩니다. 블루팀이 받는 것:- 모든 노드와 에지의 JSON 내보내기.
- 그래프에서 파생된 ATT&CK Navigator 레이어.
- “블루 스팟” 오버레이 — 작전이 발견했지만 고객의 기존 탐지가 커버하지 않는 취약점.
- “레드 스팟” 오버레이 — Decepticon의 행동에 대해 발화한 탐지, SOC가 작동함을 증명.
프라이버시 및 OPSEC
그래프는 작전 범위입니다. 작전 중에 캡처된 고객 데이터 (크리덴셜 문자열, 서비스 배너, 민감한 경로)는 Neo4j에서 미사용 암호화되고 산출물에 명시적으로 유지되지 않으면 작전이 종료될 때 삭제됩니다.오펜시브 백신 파이프라인
Detector와 Patcher 에이전트가 DefenseAction 노드를 어떻게 생성하는지.
