# PentAGI 심층 분석 보고서

> 작성일: 2026-03-23 | 작성팀: dev2-team | task-828.1

---

## 1. 프로젝트 개요

**PentAGI**는 Penetration testing Artificial General Intelligence의 약자로, AI 에이전트 기반 자율 침투 테스트 플랫폼이다.

| 항목 | 내용 |
|------|------|
| 라이선스 | MIT 라이선스 + EULA |
| 백엔드 | Go |
| 프론트엔드 | React / TypeScript |
| 데이터베이스 | PostgreSQL + pgvector |
| API | GraphQL + REST |
| 최소 시스템 요구사항 | 2 vCPU, 4GB RAM, 20GB 디스크 |

핵심 가치는 단순 스캐너 수준을 넘어서, 인간 침투 테스터의 사고 흐름을 모방하는 멀티에이전트 오케스트레이션 구조를 채택했다는 점이다. 도구 선택 → 실행 → 결과 해석 → 다음 단계 결정의 루프를 자율적으로 반복한다.

---

## 2. 아키텍처 분석

### 2.1 전체 시스템 구조

PentAGI의 인프라는 크게 4개 스택으로 분리된다.

**코어 스택 (필수)**
- `pentagi` 앱: Go 기반 메인 백엔드
- `pgvector`: PostgreSQL + 벡터 확장 (장기 기억)
- `scraper`: Chromium 기반 웹 브라우저 자동화

**지식 그래프 스택 (선택)**
- `Neo4j`: 그래프 데이터베이스
- `Graphiti`: 지식 그래프 관리 레이어

**모니터링 스택 (선택)**
- OTEL Collector → VictoriaMetrics (메트릭)
- OTEL Collector → Jaeger + ClickHouse (트레이싱)
- OTEL Collector → Loki (로그)
- Grafana: 통합 시각화

**LLM 분석 스택 (선택)**
- Langfuse: LLM 호출 분석 및 비용 추적

### 2.2 멀티에이전트 시스템 (13개 에이전트 타입)

PentAGI의 핵심은 역할이 명확히 분리된 13종 에이전트다. 각 에이전트는 독립된 LLM 컨텍스트와 도구 세트를 보유한다.

| 에이전트 | 역할 | 특이사항 |
|----------|------|----------|
| **Primary Agent** | 오케스트레이터 | 직접 도구 실행 없이 하위 에이전트에 위임만 수행 |
| **Pentester** | Kali Linux 컨테이너에서 침투 테스트 수행 | 최대 100회 도구 호출 |
| **Coder** | 익스플로잇 코드 / 페이로드 / 자동화 스크립트 작성 | 최대 100회 도구 호출 |
| **Installer (Maintenance)** | Docker 컨테이너 환경 유지 및 보안 도구 설치 | 최대 100회 도구 호출 |
| **Searcher** | 인터넷 + 장기기억 통합 검색 | 최대 20회 도구 호출 |
| **Memorist** | 과거 작업 및 기술 기억 검색 | 최대 20회 도구 호출 |
| **Adviser (Planner/Mentor)** | 전략 수립, 멘토 개입, 조언 제공 | 감독 기능과 연동 |
| **Generator** | 서브태스크 목록 생성 | 최대 20회 도구 호출 |
| **Refiner** | 서브태스크 수정 (add/remove/modify/reorder) | 최대 20회 도구 호출 |
| **Reporter** | 최종 침투 테스트 보고서 생성 | 최대 20회 도구 호출 |
| **Enricher** | 질문 보강 및 맥락 확장 | 최대 20회 도구 호출 |
| **Reflector** | 실패 또는 이터레이션 한계 시 우아한 종료 유도 | 최대 3회 개입 |
| **Assistant** | 대화형 어시스턴트 모드 | 최대 100회 도구 호출 |

**에이전트 협업 흐름 요약:**

```
사용자 요청
    ↓
Primary Agent (오케스트레이터)
    ├── Generator → 서브태스크 목록 생성
    ├── Refiner → 서브태스크 조정
    ├── Adviser → 전략 수립
    ├── Pentester → 실제 침투 테스트
    │       ├── Searcher (정보 수집)
    │       ├── Memorist (기억 검색)
    │       ├── Coder (코드 작성)
    │       └── Installer (환경 설정)
    ├── Enricher → 결과 맥락 강화
    ├── Reflector → 종료 조건 판단
    └── Reporter → 최종 보고서
```

### 2.3 Docker 샌드박스 격리

Pentester 에이전트는 독립된 Docker 컨테이너 안에서 모든 명령을 실행한다. 이로써 호스트 시스템과 완전히 격리된 환경을 보장한다.

| 항목 | 값 |
|------|-----|
| 컨테이너명 패턴 | `pentagi-terminal-{flowID}` |
| 기본 이미지 (침투 테스트) | `vxcontrol/kali-linux` |
| 기본 이미지 (일반) | `debian:latest` |
| 작업 디렉토리 | `/work` |
| 포트 할당 범위 | 28000+ (2개 자동 할당) |
| 재시작 정책 | `on-failure` (최대 5회) |
| 로그 드라이버 | `json-file` |
| 로그 최대 크기 | 10MB × 최대 5 파일 |

### 2.4 지식 그래프 (Graphiti + Neo4j)

Graphiti는 에이전트의 작업 히스토리를 구조화된 그래프로 저장하여 미래 작업에 활용할 수 있도록 한다.

**격리 단위:** `flow-{flowID}` (플로우별 독립 그룹 ID)

**7가지 검색 타입:**

| 타입 | 설명 |
|------|------|
| `recent_context` | 최근 맥락 검색 |
| `successful_tools` | 성공한 도구 호출 이력 검색 |
| `episode_context` | 에피소드 맥락 검색 |
| `entity_relationships` | 엔티티 간 관계 검색 |
| `diverse_results` | 다양한 결과 혼합 검색 |
| `temporal_window` | 시간 윈도우 기반 검색 |
| `entity_by_label` | 레이블 기반 엔티티 검색 |

자동 기록 대상: 에이전트 응답, 도구 실행 결과 (성공/실패 모두)

---

## 3. 보안 도구 전체 목록 (47개)

PentAGI가 에이전트에게 제공하는 도구는 기능에 따라 6개 카테고리로 분류된다.

### 3.1 환경 실행 도구 (EnvironmentToolType) — 2개

| 도구 | 설명 |
|------|------|
| `terminal` | Docker 컨테이너 내 명령 실행 (`sh -c`). 기본 타임아웃 60초, 최대 1200초 |
| `file` | 컨테이너 내 파일 읽기/쓰기 (tar 스트림 방식) |

### 3.2 네트워크 검색 도구 (SearchNetworkToolType) — 8개

| 도구 | 설명 |
|------|------|
| `browser` | 웹사이트 접근 (markdown/html/links 형식 반환), 사설 IP 자동 감지, 스크린샷 지원 |
| `google` | Google Custom Search API 검색 |
| `duckduckgo` | 익명 검색 (기본 활성화) |
| `tavily` | AI 검색 + 답변 생성 |
| `traversaal` | 관련 링크 + 답변 |
| `perplexity` | LLM 증강 리서치 (모델: `sonar`) |
| `searxng` | 메타 검색 엔진 (프라이버시 중심) |
| `sploitus` | 익스플로잇 DB 검색 (ExploitDB, Packet Storm, GitHub Security Advisories) |

### 3.3 벡터 DB 도구 (SearchVectorDbToolType) — 8개

| 도구 | 설명 |
|------|------|
| `search_in_memory` | pgvector 장기 기억 검색 (최대 5쿼리 병렬, 유사도 임계값 0.2) |
| `search_guide` | 가이드 및 방법론 검색 |
| `store_guide` | 방법론 저장 (민감 데이터 익명화 필수) |
| `search_answer` | Q&A 답변 검색 |
| `store_answer` | Q&A 저장 |
| `search_code` | 코드 샘플 검색 |
| `store_code` | 코드 저장 (API 키 익명화 적용) |
| `graphiti_search` | Graphiti 지식 그래프 검색 (7가지 타입 지원) |

### 3.4 에이전트 위임 도구 (AgentToolType) — 8개

| 도구 | 위임 대상 |
|------|-----------|
| `pentester` | Pentester 에이전트 |
| `coder` | Coder 에이전트 |
| `maintenance` | Installer 에이전트 |
| `advice` | Adviser 에이전트 |
| `memorist` | Memorist 에이전트 |
| `search` | Searcher 에이전트 |
| `ask` | 사용자에게 직접 질의 |
| `done` | 작업 완료 신호 |

### 3.5 에이전트 결과 수신 도구 (StoreAgentResultToolType) — 9개

| 도구 | 설명 |
|------|------|
| `hack_result` | Pentester 결과 수신 |
| `code_result` | Coder 결과 수신 |
| `maintenance_result` | Installer 결과 수신 |
| `memorist_result` | Memorist 결과 수신 |
| `search_result` | Searcher 결과 수신 |
| `enricher_result` | Enricher 결과 수신 |
| `report_result` | Reporter 결과 수신 |
| `subtask_list` | Generator 서브태스크 목록 수신 |
| `subtask_patch` | Refiner 서브태스크 수정 수신 |

### 3.6 배리어 도구 (BarrierToolType) — 2개

| 도구 | 설명 |
|------|------|
| `done` | 현재 에이전트 체인 완료 |
| `ask` | 사용자 입력 대기 (인터랙티브 중단점) |

---

## 4. Kali Linux 보안 도구 전체 목록

`pentester.tmpl` 템플릿 기반, 9개 카테고리 분류. Pentester 에이전트가 Docker 컨테이너 내에서 직접 실행할 수 있는 도구 목록이다.

### 4.1 Network Recon (22개)

| 도구 | 용도 |
|------|------|
| `nmap` | 포트 스캔, 서비스/OS 탐지 |
| `masscan` | 초고속 포트 스캐너 |
| `nping` | 패킷 생성 및 응답 분석 |
| `amass` | 서브도메인 열거 (OSINT 기반) |
| `theharvester` | 이메일/도메인/IP 정보 수집 |
| `subfinder` | 수동 서브도메인 열거 |
| `shuffledns` | DNS 브루트포싱 및 정렬 |
| `dnsx` | DNS 조회 도구 |
| `assetfinder` | 서브도메인 및 관련 자산 탐지 |
| `chaos` | ProjectDiscovery 자산 데이터베이스 |
| `dnsrecon` | DNS 열거 및 분석 |
| `fierce` | DNS 스캔 |
| `netdiscover` | 네트워크 ARP 스캐너 |
| `arp-scan` | ARP 기반 호스트 탐지 |
| `arping` | ARP 핑 |
| `fping` | ICMP 대량 핑 |
| `hping3` | 커스텀 패킷 생성기 |
| `nbtscan` | NetBIOS 스캐너 |
| `onesixtyone` | SNMP 스캐너 |
| `sublist3r` | 서브도메인 열거 |
| `ncrack` | 네트워크 인증 크래킹 |
| `ike-scan` | IPsec IKE 스캐너 |

### 4.2 Web Testing (20개)

| 도구 | 용도 |
|------|------|
| `gobuster` | 디렉토리/DNS/vhost 브루트포싱 |
| `dirb` | 웹 콘텐츠 스캐너 |
| `dirsearch` | 경로 브루트포싱 |
| `feroxbuster` | 고성능 콘텐츠 탐색기 |
| `ffuf` | 웹 퍼저 (다용도) |
| `nikto` | 웹 서버 취약점 스캐너 |
| `whatweb` | 웹 기술 스택 탐지 |
| `sqlmap` | SQL 인젝션 자동화 |
| `wfuzz` | 웹 퍼저 |
| `wpscan` | WordPress 취약점 스캐너 |
| `commix` | OS 커맨드 인젝션 익스플로잇 |
| `davtest` | WebDAV 테스터 |
| `skipfish` | 웹 애플리케이션 보안 스캐너 |
| `httpx` | HTTP 프로브 |
| `katana` | 웹 크롤러 |
| `hakrawler` | 웹 크롤러 (Go 기반) |
| `waybackurls` | Wayback Machine URL 추출 |
| `gau` | URL 수집기 (GetAllUrls) |
| `nuclei` | 템플릿 기반 취약점 스캐너 |
| `naabu` | 포트 스캐너 (Go 기반) |

### 4.3 Password Attacks (14개+)

| 도구 | 용도 |
|------|------|
| `hydra` | 온라인 패스워드 크래킹 |
| `john` | John the Ripper (오프라인 크래킹) |
| `hashcat` | GPU 가속 해시 크래킹 |
| `crunch` | 커스텀 워드리스트 생성기 |
| `medusa` | 병렬 온라인 패스워드 크래킹 |
| `patator` | 멀티-프로토콜 브루트포서 |
| `hashid` | 해시 유형 식별 |
| `hash-identifier` | 해시 식별기 |
| `*2john 시리즈` | 7z, bitcoin, keepass, office, pdf, rar, ssh, zip, gpg, putty, truecrypt, luks 포맷에서 john 포맷 변환 |

### 4.4 Metasploit Suite (10개+)

| 도구 | 용도 |
|------|------|
| `msfconsole` | Metasploit 메인 콘솔 |
| `msfvenom` | 페이로드 생성기 |
| `msfdb` | Metasploit 데이터베이스 관리 |
| `msfrpc` | RPC 인터페이스 |
| `msfupdate` | 업데이트 관리 |
| `msf-pattern_create` | 패턴 생성 (버퍼 오버플로 분석) |
| `msf-pattern_offset` | 오프셋 계산 |
| `msf-find_badchars` | 불량 문자 탐지 |
| `msf-egghunter` | Egghunter 셸코드 생성 |
| `msf-makeiplist` | IP 목록 생성 |

### 4.5 Windows / Active Directory (17개)

| 도구 | 용도 |
|------|------|
| `impacket-*` | Windows 프로토콜 구현 모음 (SMB, LDAP, Kerberos 등) |
| `evil-winrm` | WinRM 익스플로잇 쉘 |
| `bloodhound-python` | AD 권한 경로 수집기 |
| `crackmapexec` | 네트워크 침투 스위스 아미 나이프 |
| `netexec` | CrackMapExec 후속 프로젝트 |
| `responder` | LLMNR/NBT-NS 포이즈너 |
| `certipy-ad` | AD 인증서 서비스 익스플로잇 |
| `ldapdomaindump` | LDAP 도메인 정보 덤프 |
| `enum4linux` | SMB/Samba 열거 |
| `smbclient` | SMB 클라이언트 |
| `smbmap` | SMB 공유 매퍼 |
| `mimikatz` | Windows 자격증명 추출 |
| `lsassy` | LSASS 메모리 덤프 |
| `pypykatz` | Mimikatz Python 구현 |
| `pywerview` | PowerView Python 구현 |
| `minikerberos-*` | Kerberos 프로토콜 도구 |

### 4.6 Post Exploitation (10개+)

| 도구 | 용도 |
|------|------|
| `powershell-empire` | 포스트 익스플로잇 에이전트 프레임워크 |
| `starkiller` | Empire 웹 UI |
| `unicorn-magic` | 쉘코드 삽입 / 다운그레이드 공격 |
| `weevely` | PHP 백도어 생성 및 관리 |
| `proxychains4` | 프록시 체이닝 |
| `chisel` | HTTP 터널 |
| `iodine` | DNS 터널링 |
| `ptunnel` | ICMP 터널링 |
| `socat` | 양방향 데이터 릴레이 |
| `netcat / nc / ncat` | 네트워크 스위스 아미 나이프 |

### 4.7 Traffic Analysis (9개)

| 도구 | 용도 |
|------|------|
| `tshark` | Wireshark CLI 버전 |
| `tcpdump` | 패킷 캡처 |
| `tcpreplay` | 패킷 재생 |
| `mitmdump` | mitmproxy CLI |
| `mitmproxy` | 인터랙티브 HTTP 프록시 |
| `mitmweb` | mitmproxy 웹 UI |
| `sslscan` | SSL/TLS 취약점 스캐너 |
| `sslsplit` | SSL/TLS 투명 프록시 |
| `stunnel4` | SSL 래핑 터널 |

### 4.8 Reverse Engineering (12개+)

| 도구 | 용도 |
|------|------|
| `radare2 / r2` | 바이너리 분석 프레임워크 |
| `rabin2` | 바이너리 정보 추출 |
| `radiff2` | 바이너리 비교 |
| `binwalk` | 펌웨어 분석 및 추출 |
| `bulk_extractor` | 대용량 데이터에서 아티팩트 추출 |
| `ROPgadget` | ROP 체인 생성기 |
| `ropper` | ROP/JOP/SOP 가젯 탐색 |
| `strings` | 바이너리 내 문자열 추출 |
| `objdump` | 오브젝트 파일 디스어셈블러 |
| `steghide` | 스테가노그래피 탐지/추출 |
| `foremost` | 파일 카빙 도구 |

### 4.9 OSINT / Search (4개)

| 도구 | 용도 |
|------|------|
| `searchsploit` | ExploitDB 오프라인 검색 |
| `shodan` | Shodan CLI 검색 |
| `censys` | Censys CLI 검색 |
| `wordlists/seclists` | 브루트포스용 단어 목록 모음 |

---

## 5. Supervision(감독) 기능 분석

PentAGI는 자율 에이전트의 무한 루프 및 품질 저하를 방지하기 위한 다단계 감독 체계를 갖추고 있다.

### 5.1 Execution Monitor (실행 모니터)

**환경변수:** `EXECUTION_MONITOR_ENABLED` (기본값: `false`)

**개입 조건:**
- 동일 도구 연속 5회 호출, 또는
- 총 도구 호출 10회 이상 시

**동작 방식:** Adviser 에이전트를 "mentor" 역할로 활성화하여 아래 구조로 피드백 제공:

```xml
<original_result>
  [원본 도구 실행 결과]
</original_result>
<mentor_analysis>
  [멘토 분석 및 개선 제안]
</mentor_analysis>
```

**효과:**
- 실행 시간: 2-3배 증가
- 결과 품질: 약 2배 향상

### 5.2 Intelligent Task Planning (지능형 작업 계획)

**환경변수:** `AGENT_PLANNING_STEP_ENABLED` (기본값: `false`)

**동작 방식:** Pentester / Coder / Installer 에이전트 시작 전, Adviser 에이전트를 "planner" 역할로 호출하여 3-7단계 실행 계획을 자동 생성한다.

**효과:** 무작위 시도를 줄이고 체계적 접근 유도.

### 5.3 Tool Call Limits (도구 호출 한도)

| 에이전트 그룹 | 포함 에이전트 | 기본 최대 호출 수 |
|--------------|-------------|----------------|
| General Agent | Primary, Pentester, Coder, Installer, Assistant | 100회 |
| Limited Agent | Searcher, Memorist, Generator, Refiner, Reporter, Enricher, Reflector | 20회 |

한도 마지막 3 이터레이션에서 Reflector 에이전트가 개입하여 우아한 종료를 유도한다.

### 5.4 반복 감지기 (Repeating Detector)

| 조건 | 동작 |
|------|------|
| 동일 도구 3회 연속 호출 | 경고 메시지 주입 |
| 경고 4번 무시 | 에이전트 체인 강제 중단 |

### 5.5 자동 인수 수정 (Auto Argument Fixing)

도구 호출이 실패한 경우, LLM이 인수를 자동으로 수정하여 재시도한다.
- 최대 재시도 횟수: 3회
- 동작: 실패 원인을 LLM에 전달 → 수정된 인수 생성 → 재호출

---

## 6. API 및 인증 분석

### 6.1 인증 방식 (3가지, 우선순위 순)

**1순위: Bearer JWT API 토큰**
- 알고리즘: PBKDF2-SHA512
- 반복 횟수: 210,000 iterations
- 용도: 프로그래매틱 접근, CI/CD 파이프라인

**2순위: 세션 쿠키**
- 속성: `httpOnly` + `Secure`
- TTL: 4시간
- 용도: 웹 UI 브라우저 세션

**3순위: OAuth2**
- 지원 프로바이더: Google, GitHub
- 용도: SSO 로그인

### 6.2 GraphQL API

| 항목 | 수 |
|------|-----|
| Query | 28개 |
| Mutation | 20개 |
| Subscription | 18개 |

- WebSocket 기반 실시간 구독 지원
- 플로우 진행 상태, 에이전트 로그, 도구 실행 결과를 실시간으로 클라이언트에 푸시

### 6.3 REST API

- **프레임워크:** Gin
- **문서:** Swagger 자동 생성
- **경로 분류:**
  - 공개 경로: 인증 불필요 (헬스체크 등)
  - 인증 경로: JWT/세션 필요
  - 관리자 경로: 관리자 권한 필요

---

## 7. 데이터베이스 구조

**마이그레이션 도구:** Goose (24개 마이그레이션 파일)
**총 테이블 수:** 15개

**주요 테이블 목록:**

| 테이블 | 역할 |
|--------|------|
| `roles` | 사용자 역할 정의 |
| `users` | 사용자 계정 |
| `flows` | 침투 테스트 플로우 (최상위 단위) |
| `tasks` | 플로우 내 작업 |
| `subtasks` | 작업 내 세부 서브태스크 |
| `toolcalls` | 도구 호출 기록 (인수, 결과, 소요 시간) |
| `msgchains` | LLM 메시지 체인 (컨텍스트 보존) |
| `containers` | Docker 컨테이너 상태 및 메타데이터 |

**벡터 검색:** `pgvector` 확장을 통한 코사인 유사도 기반 장기 기억 검색

---

## 8. 모니터링 스택 (8개 서비스)

| 서비스 | 역할 |
|--------|------|
| OTEL Collector | 7개 대상 스크래핑 및 데이터 라우팅 |
| VictoriaMetrics | 메트릭 장기 저장 |
| Jaeger | 분산 트레이싱 UI |
| ClickHouse | Jaeger 트레이스 백엔드 저장소 |
| Loki | 로그 집계 |
| Grafana | 통합 시각화 (5개 대시보드) |
| Langfuse | LLM 호출 분석 및 비용 추적 (선택) |

**Grafana 대시보드 5개:**
1. 시스템 메트릭 (CPU, 메모리, 디스크)
2. LLM 호출 통계 (모델별, 에이전트별)
3. 도구 실행 현황 (성공/실패 비율)
4. 분산 트레이싱 연동
5. 로그 탐색기

---

## 9. CI/CD

**플랫폼:** GitHub Actions

**파이프라인 구조:**

```
lint-and-test
    ↓
docker-build
    ├── 멀티아키텍처 빌드 (linux/amd64 + linux/arm64)
    ├── SBOM (Software Bill of Materials) 생성
    └── Provenance 서명 포함
```

**품질 보증:**
- 린트: Go staticcheck, golangci-lint
- 테스트: Go 단위 테스트 + 통합 테스트
- 이미지 보안: SBOM + Provenance로 공급망 투명성 확보

---

## 10. 침투 테스트 보고서 분석

PentAGI 자체 테스트 결과를 분석한 내용이다. 8가지 취약점 유형에 대해 체계적으로 테스트를 수행했다.

### 10.1 테스트 대상 취약점 유형 (8종)

| 번호 | 취약점 유형 |
|------|------------|
| 1 | Path Traversal |
| 2 | CSRF (Cross-Site Request Forgery) |
| 3 | XSS (Cross-Site Scripting) |
| 4 | SQLi (SQL Injection) |
| 5 | Command Injection |
| 6 | SSRF (Server-Side Request Forgery) |
| 7 | XXE (XML External Entity) |
| 8 | Unsafe File Upload |

### 10.2 모델별 결과 비교

| 모델 | 발견 취약점 | 비고 |
|------|------------|------|
| OpenAI 모델 | SQL Injection, CSRF | 표준적인 취약점 탐지 수준 |
| Qwen3 32B | XXE → RCE → Privilege Escalation → 전체 시스템 장악 체인 달성 | 연쇄 익스플로잇 체인 구성 성공 |

**Qwen3 32B 공격 체인 상세:**

```
XXE 취약점 발견
    ↓
XXE를 통한 파일 시스템 접근 (SSRF 복합 활용)
    ↓
RCE (Remote Code Execution) 달성
    ↓
Privilege Escalation (권한 상승)
    ↓
전체 시스템 장악 (Full System Compromise)
```

이 결과는 모델 선택이 PentAGI의 실질적 침투 테스트 성능에 결정적 영향을 미친다는 것을 보여준다.

---

## 11. 우리 시스템 적용 시사점

dev2-team 관점에서 PentAGI 아키텍처가 제공하는 실용적 인사이트를 정리한다.

### 11.1 멀티에이전트 패턴의 보안 테스트 자동화

- Primary → Specialist 위임 패턴은 복잡한 보안 테스트 워크플로를 모듈화하는 데 적합하다.
- 각 에이전트에게 명확한 책임(SRP)을 부여하면 디버깅 및 개선이 용이하다.
- Generator/Refiner 패턴은 동적 태스크 계획 수립에 재사용 가능하다.

### 11.2 Kali 도구 기반 체계적 취약점 스캔

- 47개 도구의 카테고리화 방식은 자사 보안 스캔 파이프라인 설계 시 참조 가능하다.
- Docker 샌드박스 격리는 보안 테스트 자동화의 필수 요소로, 호스트 오염 없이 위험 도구를 실행할 수 있다.
- `nuclei` 기반 템플릿 스캔 + `sqlmap` 자동화 조합은 CI/CD에 통합할 수 있다.

### 11.3 Supervision 패턴으로 자동 보안 테스트 품질 향상

- Execution Monitor의 "동일 도구 N회 연속 → 멘토 개입" 패턴은 무한 루프 방지에 효과적이다.
- Reflector 에이전트 패턴(마지막 3 이터레이션 우아한 종료)은 자사 에이전트 시스템에도 적용 가능하다.
- 반복 감지기(Repeating Detector)의 경고-강제종료 2단계 구조는 안전한 자율 에이전트의 필수 요소다.

### 11.4 지식 그래프로 취약점 발견 이력 관리

- `flow-{flowID}` 단위 격리 + Graphiti 7가지 검색 타입 조합은 취약점 발견 이력의 구조적 관리를 가능하게 한다.
- 특히 `successful_tools` 검색 타입은 과거에 성공한 공격 기법을 미래 작업에 재활용하는 데 핵심적이다.
- pgvector 기반 장기 기억(유사도 0.2 임계값)과 Neo4j 기반 관계 그래프를 병행 운영하는 하이브리드 메모리 구조는 참조 아키텍처로 활용 가치가 높다.

### 11.5 추가 검토 권장 사항

| 검토 항목 | 우선순위 | 비고 |
|----------|----------|------|
| Docker 샌드박스 격리 도입 | 높음 | 자사 보안 테스트 자동화 시 필수 |
| Reflector 패턴 적용 | 높음 | 현재 에이전트 무한 루프 방지 |
| nuclei 템플릿 CI 통합 | 중간 | PR 단위 자동 취약점 스캔 |
| Graphiti 지식 그래프 도입 검토 | 중간 | 취약점 이력 축적 효과 6개월 이상 소요 |
| Langfuse LLM 비용 분석 | 낮음 | 현재 LLM 비용 파악 후 결정 |

---

*이 문서는 dev2-team 내부 연구 목적으로 작성되었습니다. 외부 공유 전 보안 검토가 필요합니다.*
