메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.decepticon.red/llms.txt

Use this file to discover all available pages before exploring further.

긴 레드팀 작전은 수백 개의 발견, 크리덴셜, 호스트, 서비스 및 탐지 아티팩트를 생성합니다. 이들을 평면 JSON으로 저장하면 레드팀 출력을 유용하게 만드는 관계를 잃습니다 — 어떤 크리덴셜이 어떤 호스트를 열었을까? 어떤 탐지가 어떤 기법을 다루나? Decepticon은 대신 Neo4j 그래프에 저장합니다.

왜 그래프인가

공격 경로는 본질적으로 그래프입니다. 피벗은 관계입니다; 크리덴셜은 계정과 호스트 사이의 에지입니다; 방어 브리프는 취약점을 탐지에 연결합니다. 이를 그래프로 모델링하면:
  • 오케스트레이터는 *“이 크리덴셜에서 어떤 호스트에 도달할 수 있나?”*를 대화 기록을 다시 읽지 않고도 한 번의 Cypher 쿼리로 쿼리할 수 있습니다.
  • 방어자의 산출물은 PDF가 아닌 구조화된 그래프입니다 — 기존 탐지 커버리지에 쉽게 오버레이됩니다.
  • 교차 작전 쿼리가 가능합니다: “이 CVE는 이 고객에 대한 이전 작전에서 나타났나?”

노드 타입

노드표현
Host발견된 호스트 또는 자산 (IP, 호스트명, OS)
Service호스트에서 실행 중인 네트워크 서비스 (포트, 프로토콜, 배너, 버전)
Account발견된 신원 (사용자, 서비스, 머신 계정)
Credential캡처된 비밀 (암호, 해시, 토큰, 키)
Vulnerability확인된 약점 (CVE, 오설정)
Finding에이전트가 생성한 검증된 관찰
DefenseActionDefender가 생성한 탐지 규칙, 완화 또는 패치

에지 타입

에지의미
RUNS_ON서비스가 호스트에서 실행 중
OWNS계정이 크리덴셜 소유
AUTHENTICATES_TO크리덴셜이 호스트 또는 서비스에 인증
EXPLOITS발견이 취약점 익스플로잇
DETECTSDefenseAction이 발견의 기법 탐지
MITIGATESDefenseAction이 취약점 완화
RESPONDS_TODefenseAction이 발견에 응답
LATERAL_TO호스트가 호스트로 피벗 (크리덴셜 또는 기법 귀속 포함)

에이전트가 사용하는 도구

그래프는 전용 도구(decepticon/tools/research/neo4j_store.py)를 통해 에이전트에 노출됩니다:
도구목적
kg_add_node타입 속성을 가진 노드 삽입
kg_add_edge귀속을 가진 에지 삽입
kg_queryCypher 쿼리 실행 및 결과 반환
kg_neighbors노드의 즉시 이웃 나열
에이전트는 프롬프트에 원시 Cypher를 작성하지 않습니다 — 도구 계층은 작업을 스키마화하고 실수로 인한 파괴적 쿼리를 방지합니다.

운영자 접근

그래프는 운영자에게도 노출됩니다:
  • 브라우저: 온보딩 마법사의 크리덴셜로 http://localhost:7474의 Neo4j 브라우저.
  • CLI: decepticon kg-health는 진단을 실행하고 고아 노드 또는 누락된 관계를 표시합니다.
  • 웹 대시보드: Next.js 대시보드의 공격 그래프 캔버스는 라이브 작전 그래프를 렌더링합니다.

산출물로서의 그래프

작전 최종 보고에서 그래프는 산출물의 일부가 됩니다. 블루팀이 받는 것:
  1. 모든 노드와 에지의 JSON 내보내기.
  2. 그래프에서 파생된 ATT&CK Navigator 레이어.
  3. “블루 스팟” 오버레이 — 작전이 발견했지만 고객의 기존 탐지가 커버하지 않는 취약점.
  4. “레드 스팟” 오버레이 — Decepticon의 행동에 대해 발화한 탐지, SOC가 작동함을 증명.

프라이버시 및 OPSEC

그래프는 작전 범위입니다. 작전 중에 캡처된 고객 데이터 (크리덴셜 문자열, 서비스 배너, 민감한 경로)는 Neo4j에서 미사용 암호화되고 산출물에 명시적으로 유지되지 않으면 작전이 종료될 때 삭제됩니다.
작전 중에 그래프를 쿼리하는 것은 가장 높은 레버리지를 가진 운영자 행동 중 하나입니다. MATCH (a:Account)-[:OWNS]->(c:Credential)-[:AUTHENTICATES_TO]->(h:Host) WHERE NOT (h)-[:RESPONDS_TO]-() RETURN h과 같은 Cypher 쿼리는 블루팀이 탐지하지 않은 도달 가능한 모든 호스트를 찾습니다.

오펜시브 백신 파이프라인

Detector와 Patcher 에이전트가 DefenseAction 노드를 어떻게 생성하는지.