> ## 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.

# 스킬 시스템 (Skill System)

> 킬 체인 전반에 걸친 MITRE ATT&CK 매핑을 갖춘 프로그레시브 스킬 디스클로저.

## 개요

Decepticon 에이전트는 하드코딩된 플레이북으로 작동하지 않습니다. **스킬 시스템** — 에이전트 역할별로 조직되고 MITRE ATT\&CK 식별자가 태그된 큐레이션된 오펜시브 기법 라이브러리에서 역량을 끌어옵니다.

## 프로그레시브 디스클로저

스킬은 에이전트 컨텍스트 윈도우를 깨끗하게 유지하기 위한 **프로그레시브 로딩** 아키텍처를 사용합니다:

1. **초기 로드** — 스킬 프론트매터(이름, 설명, allowed-tools, 메타데이터)만 로드
2. **온디맨드** — 에이전트가 스킬을 선택하면 `read_file()`을 통해 전체 내용이 로드
3. **클린 컨텍스트** — 에이전트는 현재 목표에 필요한 상세 정보만 보유

<Info>
  이는 컨텍스트 비대화를 방지합니다. 초기 접근을 수행하는 에이전트는 측면 이동 기법의 전체 내용이 필요 없습니다 — 존재 여부와 메타데이터만 있으면 됩니다.
</Info>

## 스킬 카테고리

스킬은 **에이전트 역할**별로 조직되어 있습니다. 이를 통해 오케스트레이터가 디스패치하는 전문가와 관련된 스킬만 로드하면서도 전체 공격 사이클을 다룰 수 있습니다. 라이브러리는 현재 다음 17개 카테고리를 배포합니다:

| 카테고리            | 소유 에이전트               | 커버리지                                            |
| --------------- | --------------------- | ----------------------------------------------- |
| `soundwave/`    | Soundwave             | RoE / ConOps / OPPLAN 템플릿, 위협 프로필, 디컨플릭션        |
| `decepticon/`   | Decepticon (오케스트레이터)  | OPPLAN 디스패치 패턴, 서브에이전트 라우팅                      |
| `recon/`        | Recon                 | 수동 정찰, 능동 정찰, 웹 정찰, 클라우드 정찰                     |
| `osint/`        | OSINT Operator        | 오픈소스 인텔리전스 — 유출 자격증명, 침해 데이터, 공개 흔적             |
| `exploit/`      | Exploit               | 웹 익스플로잇, Active Directory 초기 접근                 |
| `post-exploit/` | Post-Exploit          | 권한 상승, 측면 이동, 지속성                               |
| `ad/`           | AD Operator           | BloodHound, Kerberoasting, 티켓 위조, ACL 남용        |
| `cloud/`        | Cloud Hunter          | IAM 분석, 메타데이터 남용, 클라우드 키 추출                     |
| `contracts/`    | Contract Auditor      | Solidity 정적 분석, Foundry PoC 하네스                 |
| `reverser/`     | Reverser              | 바이너리 분류, 팩커 탐지, ROP 가젯, Ghidra/radare2          |
| `phisher/`      | Phisher               | 컨텍스트 인지 페이로드 생성, 랜딩 페이지, 하베스터 스캐폴드              |
| `mobile/`       | Mobile Operator       | iOS / Android 앱 트리아지, MASTG 검증, 에뮬레이터 기반 동적 분석  |
| `wireless/`     | Wireless Operator     | 802.11 / Bluetooth / SDR 정찰 및 익스플로잇             |
| `iot/`          | IoT Operator          | 임베디드 펌웨어 추출, JTAG/UART, 프로토콜 리버싱                |
| `ics/`          | ICS Operator          | 격리된 테스트 레인지의 SCADA / DCS / PLC 인게이지먼트 워크플로      |
| `supply-chain/` | Supply-Chain Operator | 빌드 시스템, 의존성, 서명 키, CI/CD 침해 패턴                  |
| `dfir/`         | Forensicator          | 휘발성 데이터 수집, 타임라인 재구성, IOC 피벗                    |
| `analyst/`      | Analyst               | 교차 상관, 지식 그래프 쿼리, 내러티브 초안                       |
| `shared/`       | 모든 에이전트               | OPSEC, 방어 회피, 발견 프로토콜, 적대자 에뮬레이션, 레퍼런스, 스텔스 인프라 |

vulnresearch 플러그인의 단계 에이전트(`scanner`, `detector`, `verifier`, `patcher`, `exploiter`)는 번들 로드 시 별도의 `plugins/` 트리에서 스킬 카탈로그를 가져옵니다.

프로그레시브 디스클로저 로더는 능동 위협 프로필과의 ATT\&CK 겹침에 따라 이 카탈로그를 필터링합니다 — 프로필 외 스킬은 에이전트의 작업 세트에서 완전히 제외됩니다.

## Skillogy: 그래프 기반 스킬 리졸버

위 카탈로그는 \*\*디스크 상의 단일 출처(source of truth)\*\*입니다. 에이전트가 실제로 *쿼리*하는 카탈로그는 별도의 **Neo4j 기반 그래프**에 살며, 독립 실행형 **Skillogy** 서비스가 소유합니다. 왜 그래프이며, 단순히 디렉토리 트리에 대한 `read_file()`이 아닐까요?

* 스킬은 서로를 참조합니다 — `kerberoasting`은 `ad-recon` 위에 빌드되고 `ticket-forging`으로 연결됩니다. 그래프를 사용하면 에이전트가 이러한 엣지를 따라 이동할 수 있습니다.
* ATT\&CK ID, 태그, 하위 도메인, tactic ID로 필터링하려면 파일시스템 워킹으로는 저렴하게 답할 수 없는 인덱스 조회가 필요합니다.
* 여러 에이전트가 동시에 읽습니다; 그래프가 일관성을 중앙화하고 파일 캐시 경쟁을 피합니다.

Skillogy는 형제 컨테이너로 실행되며(관리 네트워크 내 포트 `9100`), 세 가지 에이전트-facing 도구를 제공하고, 모두 `SkillogyMiddleware`를 통해 노출되는 얇은 REST 클라이언트입니다:

| 도구                                                                      | 기능                                                                                |
| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `find_skill(query?, subdomain?, mitre_id?, tag?, tactic_id?, limit=20)` | AND-결합 관계 인식 발견. 일치하는 `:Skill` 노드를 프론트매터와 함께 반환 — 본문은 지연 로드.                      |
| `load_skill(name_or_path)`                                              | 한 `:Skill` 노드의 전체 본문 + 프론트매터를 가져옴. 이전과 동일한 프로그레시브 디스클로저 원칙, REST를 통해.             |
| `traverse(from_path, edge_types?, depth=2)`                             | 시드 스킬에서 명시적 그래프 BFS — `BUILDS_ON`, `CHAINS_TO`, `MITRE_RELATED` 엣지를 따라 인접 기법을 발견. |

### 강제 ACL (ADR-0008)

Skillogy는 평탄한 카탈로그가 아닙니다. 각 에이전트 역할은 오케스트레이터가 보여주려는 슬라이스만 봅니다 — `ad_operator`는 `contracts/` 스킬을 탐색할 수 없어야 하고, `contract_auditor`는 `ad/`를 읽을 수 없어야 합니다. ADR-0008은 이것을 소프트 컨벤션이 아닌 \*\*강제 ACL(hard ACL)\*\*로 배선했습니다: 모든 Skillogy 호출은 `allowed_path_prefixes` 파라미터(예: `["skills/standard/ad/", "skills/shared/"]`)를 함께 보내며, 서비스는 쿼리 레이어에서 prefix 외부 항목을 거부합니다. 교차 역할 읽기는 요청된 스킬이 `skills/shared/` 아래에 있을 때만 성공합니다.

ACL은 (모델이 아닌) 에이전트 팩토리가 설정하므로, 전문가가 프롬프트 인젝션으로 자신의 시야를 넓히도록 설득될 수 없습니다.

### 파일 카탈로그와 그래프의 동기화

디스크의 스킬 파일이 단일 출처입니다. Skillogy 서비스는 컨테이너 시작 시(또는 명시적 재빌드 호출 시) 이를 수집해 프론트매터에서 파생된 타입 엣지로 연결된 `:Skill` 노드로 Neo4j에 투영합니다. 스킬 추가는: 적절한 카테고리 디렉토리에 `SKILL.md`를 드롭하고, 그래프를 재빌드하면, ACL이 해당 prefix를 허용하는 모든 에이전트에게 나타납니다.

## MITRE ATT\&CK 통합

ATT\&CK 매핑은 사후 추가가 아닌, Decepticon의 모든 레이어에 직조되어 있습니다:

<CardGroup cols={3}>
  <Card title="목표" icon="crosshairs">
    각 OPPLAN 목표는 `mitre` 기법 ID를 보유합니다 (예: `T1190`, `T1003.001`).
  </Card>

  <Card title="스킬" icon="book-open">
    ATT\&CK 기법이 스킬 프론트매터에 선언되어, 에이전트의 스킬 카탈로그에 인라인으로 표시됩니다.
  </Card>

  <Card title="위협 행위자" icon="user-secret">
    ConOps는 `initial_access`와 `ttps`를 ATT\&CK ID로 정의하여, 특정 적대자 프로파일을 모델링합니다.
  </Card>
</CardGroup>

## 스킬 프론트매터 예시

각 스킬은 `SKILL.md` (프론트매터 + 본문) 및 선택적 `references/`, `scripts/`, `assets/` 서브디렉토리를 포함하는 디렉토리입니다.

```yaml theme={null}
---
name: passive-recon
description: "Use when gathering intelligence WITHOUT touching the target"
allowed-tools: Bash Read Write
metadata:
  subdomain: reconnaissance
  tags: passive, dns, subdomain-enum, whois, ct-logs
  mitre_attack: T1590, T1591, T1592
---
```

에이전트는 사용 가능한 스킬을 탐색할 때 이 메타데이터를 확인합니다. 커버로스팅을 선택할 때만 전체 기법 내용 — 명령어, 탐지 노트, 변형 — 이 컨텍스트에 로드됩니다. Decepticon은 **스킬 우선 규칙**을 강제합니다: 에이전트는 매칭하는 트리거 키워드에 대해 행동하기 전에 관련 스킬을 로드해야 합니다.

<Card title="멀티 모델 라우팅" icon="route" href="/ko/features/multi-model-routing">
  다양한 에이전트 역할이 최적의 모델 티어에 어떻게 라우팅되는지 알아보세요.
</Card>
