
AI 기반 침투 테스트 CLI 도구: VulnClaw
요약
VulnClaw는 자연어 입력을 통해 정보 수집부터 취약점 이용, 보고서 생성까지 침투 테스트 전 과정을 자동화하는 AI 에이전트 CLI 도구입니다. LLM 에이전트와 MCP 툴체인을 결합하여 목표 기반의 검색 엔진과 환각 방지 메커니즘을 제공합니다.
핵심 포인트
- 자연어 명령으로 침투 테스트 전 과정을 자동 수행
- 목표 기반 해결 엔진을 통한 블랙보드 그래프 상태 공간 검색
- 실제 도구 출력 기반의 환각 방지(Anti-hallucination) 시스템
- OpenAI, DeepSeek 등 13개 이상의 다양한 LLM 제공자 지원
- MCP 툴체인을 활용한 도구 오케스트레이션
AI 구동 침투 테스트 CLI 도구 — 사람이 이해하는 언어로 취약점을 공격합니다.
🌐 English version: README_EN.md
본 프로젝트는 독립적으로 실행 가능한 AI 침투 테스트 에이전트입니다.
LLM Agent + MCP 툴체인 + 침투 스킬 오케스트레이션을 기반으로, OpenAI / MiniMax / DeepSeek 등 호환 모델과 결합하여 자연어 입력만으로 「정보 수집 → 취약점 발견 → 취약점 이용 → 보고서 생성」 전 과정을 자동화합니다.
자연어로 입력하면 AI가 침투 테스트의 전체 프로세스를 자동으로 실행합니다:
사용자 입력: http://target.example.com에 대한 침투 테스트를 수행해 줘
VulnClaw 자동 실행:
Round 1: 정보 수집 → 지문 인식, 포트 스캔, 디렉토리 열거
...

권한을 얻은 침투 테스트, CTF 대회, 보안 교육, 레드팀 훈련 등의 시나리오에 적합합니다.
목표 기반 해결 엔진 (기본값) — 고정된 라운드 작업 흐름을 버리고, 「목표 달성 / 탐색 전방 소진 / 안전 예산」을 종료 조건으로 삼아 블랙보드 그래프 상태 공간 검색을 자동으로 수렴합니다. 침투를 origin에서 goal로의 검색으로 모델링합니다: Fact(확인된 사실) + Intent(탐색 방향). 구조적으로 '제자리걸음'을 방지합니다.
증거 기반 반환각 판문지 (Anti-hallucination Gate) — 주장되는 플래그/결론은 반드시 실제 도구 출력에서 문자 단위로 나타나야만 채택됩니다. 공상으로 만든 플래그를 통한 가짜 성공을 방지합니다.
자연어 구동 — 사람이 이해하는 언어로 침투 의도를 설명하면, AI가 단계와 도구를 자동으로 식별합니다.
13개 LLM Provider — OpenAI / MiniMax / DeepSeek / 지푸(智谱) / Moonshot / 천문(千问) / SiliconFlow / 도우바오(豆包) / 바이촨(百川) / 졔위에성천(阶跃星辰) / 상탕(商汤) / 링이완우(零一万物) 등, 원클릭으로 전환 가능합니다.
MCP 툴체인 — 4가지 MCP 서비스: fetch / memory (로컬 구현으로 바로 사용 가능), chrome-devtools / burp (외부 MCP 서비스와 연동하여 브라우저 자동화 및 HTTP 패킷 캡처 재현)
AI 에이전트 핵심 — OpenAI 호환 프로토콜 + Tool Calling + 자율 침투 루프
구조적 추론 + 적응형 반성 — 알려진 사실/제약/공격 체인을 구조화하여 축적합니다. 실패 시 자동으로 분류하고 L0-L4에 따라 점진적으로 페이로드 우회 전략을 업그레이드합니다.
취약점 탐지 플러그인 시스템 — 낮은 결합도의 플러그인 런타임 + 내장 읽기 전용 웹 플러그인을 통해 결과를 보고서 링크(vulnclaw plugins)에 자동으로 통합합니다.
21개 침투 스킬 — 7가지 핵심 + 14가지 전문 스킬(CTF Web/Crypto/Misc, osint-recon, secknowledge-skill 포함)을 포함하며, 180개의 참고 문서를 제공합니다.
인코딩/디코딩/암호화 도구 — Base64/Hex/URL/AES/JWT/Morse 등 29가지 작업을 지원하며, LLM이 추측에 의존하지 않고 정확하게 호출할 수 있습니다.
Python 코드 실행 — 내장된 python_execute 도구로 페이로드 구성 및 응답 분석에 적합합니다. 현재는 고위험 실험 기능이므로 강력한 격리 사일로(sandbox)로 간주해서는 안 됩니다.
지속적인 침투 테스트 — 주기적 루프(기본 100 라운드/주기 × 10 주기 = 1,000 라운드). 매 주기마다 보고서를 자동으로 생성하며 수동 종료될 때까지 진행됩니다.
추론 과정 표시 제어 — think on/off를 통해 LLM의 사고 과정을 표시하거나 숨길 수 있습니다. 기본적으로 비활성화되어 깨끗한 결과만 볼 수 있습니다.
샌드박스 모드 프롬프트 — AI 보안 테스트 능력을 해제하며, CTF / 권한 침투 시나리오 전용입니다.
자동 보고서 & PoC — 구조화된 Markdown 보고서와 실행 가능한 Python PoC 스크립트를 생성합니다.
Web UI 모드 — vulnclaw web을 실행하여 로컬 웹 인터페이스를 시작하고, 브라우저 작업을 통해 침투 테스트 전 과정을 수행합니다. 기본 주소는 127.0.0.1:7788입니다.
보안 지식 라이브러리 — 내장된 지식 라이브러리 모듈과 기초 시드 데이터를 갖추고 있으며, CLI로 관리 가능합니다. 검색 증강(RAG)은 점진적으로 메인 프로세스에 통합되고 있습니다.
이전 버전의 자율 침투는 고정 라운드 순환 방식(N 라운드가 채워질 때까지 실행)이라 약한 모델에서는 '같은 페이지를 반복 요청하거나, 주입 테스트를 할 것이라고 말만 하고 실제 패킷은 보내지 않는' 같은 무한 루프에 빠지기 쉬웠습니다. 신규 버전은 침투를 상태 공간 검색으로 재구성했으며, 이것이 이번 리팩토링의 핵심입니다.
침투를 origin(목표)에서 goal(플래그/쉘 획득 / 고위험 취약점 확인)로 향하는 유향 탐색으로 간주하고, 두 가지 원시어(primitive)에 의해 구동됩니다:
| 원시어 | 의미 |
|---|---|
| Fact | 실제 도구 출력을 통해 증명된 객관적 사실 (탐색의 거점) |
| Intent | 선언된 탐색 방향 (아직 실행되지 않은 단계). Fact에서 출발하여 결론을 내면 새로운 Fact가 산출됩니다. |
루프 구조 (vulnclaw/agent/solver.py):
REASON (전체 그래프 읽기) → 목표 달성? / 새로운 탐색 방향 제안 / 제안하지 않음
│
EXPLORE (Intent 하나 가져오기) → 도구를 사용하여 실제 실행 → 확인된 결론을 하나의 Fact로 기록
...
구조적으로 무한 루프를 방지하는 이유: "홈페이지가 로그인 창이다"가 하나의 Fact가 되면, Reason은 더 이상 "홈페이지를 확인하라"고 제안하지 않고 "SQL 인젝션(SQL Injection)을 테스트하라"고 제안합니다. 각 Intent는 한 번 가져오고, 결론이 나면 concluded 또는 abandoned로 표시되어 중복될 수 없습니다. 종료는 횟수가 아닌 목표에 의해 결정됩니다.
약한 모델(Weak model)은 종종 flag를 허위로 꾸며냅니다. 새로운 엔진은 solve() 내에서 모든 실제 도구 출력(HTTP 응답 본문, python_execute 출력)을 유일한 신뢰할 수 있는 증거로 기록합니다:
결론 게이트(Conclusion Gate): Explore 결론에서 주장하는 flag가 실제 도구 출력에 글자 하나하나 일치하며 나타나지 않는다면 → 환각(Hallucination)으로 판단하여 폐기하고 [미검증]으로 표시합니다. 완료 게이트(Completion Gate): Reason이 "목표 달성"을 선언했을 때, 목표가 flag를 요구하지만 실제 출력에 flag가 없다면 → 완료를 거부하고 탐색을 계속합니다. 즉각적 수렴(Immediate Convergence): 증거로 검증된 flag를 획득하는 즉시 완료하며, 더 이상 불필요한 검증 루프를 돌지 않습니다.
이 메커니즘은 약한 모델에 특히 친화적입니다. 기존의 고정된 횟수 루프는 반복적인 요청 속에서 공회전하기 쉽지만, 「목표 기반 + 증거 기반 환각 방지」 방식은 Agent가 실제 도구 출력을 사용하여 단계적으로 목표에 접근하도록 강제하며, 증거가 없는 어떠한 「완료」도 거부합니다.
추론 상태 계층 (reasoning_state.py): 알려진 사실(신뢰도 포함), 추론 장애물(WAF/필터링 등), 후보 공격 체인(Attack chain)을 구조화하여 축적하고 프롬프트에 주입합니다. 성찰 엔진 (reflexion.py): 실패 사례를 자동 분류(환경 제한/경로 오류/파라미터 오류/정보 부족)하고, L0-L4 단계별로 점진적으로 업그레이드되는 페이로드(Payload) 우회 전략(원본 → URL 인코딩 → 이중 주석 → Unicode/hex → 다층 난독화/공격 표면 변경)을 적용하며, persistent 모드를 통해 실패 기억을 주기 간격 너머까지 유지합니다.
저결합 플러그인 런타임 (vulnclaw/plugins/) + 내장 읽기 전용 Web 플러그인(보안 응답 헤더 / JWT / JS 엔드포인트 분석)을 통해, 플러그인 결과는 중복 제거 후 SessionState.findings로 병합되어 보고서 경로로 진입합니다.
기존의 고정 횟수 엔진으로 돌아가려면:
vulnclaw config set session.engine rounds
# PyPI에서 설치 (권장)
np install vulnclaw
# 소스에서 설치
...
이미지에는 Web UI와 기본 MCP 서비스에 필요한 런타임(npx / uvx)이 내장되어 있으며, 모든 상태(설정, 세션, 목표, 보고서)는 /data 데이터 볼륨에 영구 저장됩니다.
cp .env.example .env # VULNCLAW_LLM_API_KEY 등을 입력
docker compose up --build # 이미지 빌드 및 Web UI 시작
# http://127.0.0.1:7788 접속
특정 CLI 명령만 순수 Docker로 실행할 수도 있습니다:
docker run --rm -it \
-e VULNCLAW_LLM_API_KEY=sk-your-key-here \
-v vulnclaw-data:/data \
...
⚠️ 컨테이너 내부의 localhost는 컨테이너 자신을 가리킵니다. 호스트 머신의 서비스를 스캔하려면 host.docker.internal을 사용하고, 다른 컨테이너를 스캔하려면 네트워크를 공유하고 컨테이너 이름으로 접근하십시오. 자세한 내용은 DOCKER.md를 참조하세요.
# 1. 제공자 선택 (Base URL 및 모델명 자동 채우기)
vulnclaw config provider minimax (또는 openai/deepseek/zhipu/moonshot/qwen/siliconflow)
# 1.2 (선택 사항) 사용자 정의 Base URL 또는 모델명
...
vulnclaw doctor 출력 예시:
🦞 VulnClaw 환경 점검
Python: 3.14.4
Node.js: v24.14.1
...
vulnclaw --help 모든 명령 확인:
$ vulnclaw --help
🦞 VulnClaw — AI-powered penetration testing CLI
Usage: vulnclaw [OPTIONS] COMMAND [ARGS]...
...
| 명령 | 설명 | 예시 |
|---|---|---|
vulnclaw | 기본 CLI / REPL 인터랙티브 인터페이스 실행 | vulnclaw |
vulnclaw tui | 터미널 기반 그래픽 사용자 인터페이스 (TUI) 명시적 실행 | vulnclaw tui / vulnclaw tui --target target.com |
vulnclaw repl | 클래식 REPL 인터랙티브 인터페이스 시작 | vulnclaw repl |
vulnclaw solve <target> | 타겟 기반 솔빙 (고정된 횟수 없이 목표 달성 시 종료) | vulnclaw solve target.com --goal "拿到flag" |
vulnclaw run <target> | 원클릭 전체 프로세스 침투 테스트 (기본적으로 solve 엔진 사용) | vulnclaw run 192.168.1.1 |
vulnclaw persistent <target> | 지속적 침투 테스트 (100라운드/주기) | vulnclaw persistent 192.168.1.1 |
vulnclaw recon <target> | 정보 수집 전용 (취약점 이용 안 함) | vulnclaw recon target.com |
vulnclaw scan <target> | 취약점 스캔 (Vulnerability Scanning) 단계 | vulnclaw scan target.com --ports 80,443 |
vulnclaw exploit <target> | 취약점 공격 (Exploitation) 단계 | vulnclaw exploit target.com --cve CVE-2024-1234 |
vulnclaw report <session> | 세션 JSON 파일로부터 보고서 생성 | vulnclaw report session_xxx.json |
vulnclaw config set <key> <value> | 설정 항목 설정 | vulnclaw config set llm.api_key sk-xxx |
vulnclaw config get <key> | 설정 항목 확인 | vulnclaw config get llm.model |
vulnclaw config list | 모든 설정 목록 표시 | vulnclaw config list |
vulnclaw config provider <name> | LLM 제공업체(Provider) 전환 | vulnclaw config provider minimax |
vulnclaw init | 설정 파일 초기화 | vulnclaw init |
vulnclaw doctor | 실행 환경 점검 | vulnclaw doctor |
vulnclaw plugins list | 취약점 탐지 플러그인 목록 표시 | vulnclaw plugins list --stage discovery |
vulnclaw plugins info <id> | 플러그인 메타 정보 확인 | vulnclaw plugins info builtin.web.headers |
vulnclaw plugins run <id> | 플러그인 실행 (입력 데이터 분석 전용) | vulnclaw plugins run builtin.web.headers --input headers.json --session s.json |
vulnclaw web | 로컬 Web UI 시작 | vulnclaw web / vulnclaw web --port 8080 |
vulnclaw tui
은 선택 가능한 터미널 기반 그래픽 사용자 인터페이스 (TUI) 진입점입니다. 터미널 내에서 승인된 타겟, 점검 모드, 실행 개요, 보안 경계, 명령 미리보기, 히스토리 상태, 보고서 및 인라인 환경 진단을 보여주어, 사용자가 작업을 시작하기 전에 범위를 먼저 확인할 수 있도록 합니다.
vulnclaw tui
vulnclaw tui --target https://target.example --mode quick --only-port 443
vulnclaw tui --dry-run --target https://target.example --mode deep --only-path /admin
기본 vulnclaw
은 여전히 기존 CLI / REPL 인터랙티브 모드로 진입합니다. vulnclaw tui를 명시적으로 입력해야만 TUI가 실행됩니다.
해야 TUI로 진입합니다.
실행 개요(Run Overview)는 선택된 대상의 히스토리 스냅샷, 위험 수, 지속성 제약(Persistence Constraints) 및 제약 차단 횟수를 읽어와, 사용자가 테스트를 계속하기 전에 컨텍스트(Context)가 약화되지 않았는지 확인할 수 있도록 돕습니다.
TUI의 "테스트 범위 설정(Set Test Scope)"에서는 허용된 동작(Allowed Actions)과 금지된 동작(Forbidden Actions)을 직접 편집할 수 있습니다. 예를 들어 recon,scan만 허용하거나, exploit,post_exploitation을 금지할 수 있습니다.
# 모든 프로바이더(Provider)를 확인하고 전환
vulnclaw config provider --list # 사용 가능한 모든 프로바이더 확인
vulnclaw config provider minimax # MiniMax로 전환
...
$ vulnclaw
매개변수 없이 실행하면 원래의 🦞 인터랙티브 모드로 진입하여 자연어로 대화합니다:
🦞 vulnclaw> 192.168.1.100에 대해 침투 테스트를 수행해줘, 이건 내가 권한을 가진 타겟이야
[*] 자율 침투 모드(Autonomous Penetration Mode)에 진입했습니다. 언제든 Ctrl+C를 눌러 중단할 수 있습니다.
── Round 1 ──
...
$ vulnclaw tui
TUI는 먼저 대상, 점검 모드, 실행 개요 및 보안 경계(Security Boundaries)를 표시하여, 사용자가 권한 범위를 확인한 후 작업을 시작할 수 있게 합니다:
VulnClaw TUI 워크스테이션
권한 대상 https://example.com
점검 모드 빠른 탐색 / recon
...
자주 사용하는 실행 방식:
vulnclaw tui
vulnclaw tui --target https://target.example --mode quick --only-port 443
vulnclaw tui --dry-run --target https://target.example --mode deep --only-path /admin
메뉴 3 "테스트 범위 설정(Set Test Scope)"에서는 호스트, 포트, 경로, 제외 항목, 허용 동작 및 금지 동작을 편집할 수 있습니다. 이러한 경계는 시작 전 확인 단계와 실제 작업 명령에 반영됩니다.
메뉴 7 "환경 진단 진입(Environment Diagnostics)"은 TUI 내에서 Python, Node/npx/uvx/nmap, LLM 설정 및 MCP 서비스/도구 요약을 표시합니다. 전체 상세 정보가 필요한 경우 vulnclaw doctor를 실행하십시오.
메뉴 8 "모델/API 설정(Model/API Configuration)"에서는 프로바이더(Provider), 기본 URL(Base URL), 모델(Model) 및 API 키(API Key)를 직접 전환할 수 있으며, 저장 즉시 워크스테이션에 새 설정이 적용됩니다.
$ vulnclaw repl
클래식 🦞 인터랙티브 인터페이스로 진입하여 자연어로 대화합니다:
🦞 vulnclaw> 192.168.1.100에 대해 침투 테스트를 수행해줘, 이건 내가 권한을 가진 타겟이야
[*] 자율 침투 모드(Autonomous Penetration Mode)에 진입했습니다. 언제든 Ctrl+C를 눌러 중단할 수 있습니다.
── Round 1 ──
...
| 명령 | 설명 |
|---|---|
target <host> | 침투 테스트 대상 설정 |
status | 현재 상태 확인 (대상, 단계, 도구, 추론 표시) |
tools | 현재 사용 가능한 MCP 도구 목록 표시 |
think | 추론 과정(Reasoning Process) 표시/숨기기 전환 |
think on / off | 추론 과정 표시를 정밀하게 제어 |
persistent | 지속성 침투 테스트 시작 (100라운드/주기, 자동 보고서 생성) |
persistent <host> | 지정된 대상에 대해 지속성 침투 시작 |
clear | 현재 세션 초기화 |
help | 도움말 표시 |
exit / quit / q | VulnClaw 종료 |
VulnClaw는 다음과 같은 키워드와 대상을 감지하면 자동으로 다회차 자율 침투 루프(Autonomous Penetration Loop)에 진입합니다:
| 트리거 방식 | 예시 |
|---|---|
| 침투 명령 | http://target.com 에 대해 침투 테스트를 수행해줘 |
| ... | 명시적 트리거 |
대상: http://target.com, 자율 침투 모드로 진입해 |
💡 REPL에서 Ctrl+C를 입력하면 언제든지 자율 루프를 중단할 수 있습니다. 대상을 전환하면 세션 컨텍스트가 자동으로 재설정됩니다.
# 원클릭 전체 프로세스 침투 테스트
vulnclaw run 192.168.1.100
# 지속성 침투 테스트 (주기당 100라운드, 최대 10주기, 자동 보고서 생성)
...
장시간의 심층 침투가 필요한 시나리오에 적합합니다. VulnClaw는 주기적 순환(Cycle Loop) 방식으로 작동합니다:
┌──────────────────────────────────────────────┐
│ Cycle 1 (100라운드) → 자동 보고서 → 계속 │
│ Cycle 2 (100라운드) → 자동 보고서 → 계속 │
...
특징:
교차 주기 상태 유지 (Cross-cycle State Persistence) — 각 주기(Cycle)마다 이전의 모든 발견 사항, 취약점 및 단계 기록을 보존합니다. 주기별 보고서 (Cycle Report) — 각 주기가 종료될 때마다 독립적인 Markdown 보고서(새로 발견된 취약점 및 누적 요약 포함)를 자동으로 생성합니다. 유연한 중단 (Flexible Interruption) — Ctrl+C로 언제든 중단할 수 있으며, 중단 시에도 해당 주기의 보고서를 생성합니다. 증분 발견 (Incremental Discovery) — 보고서에서 "이번 주기 신규 발견"과 "누적 총계"를 구분하여 진행 상황을 명확하게 추적합니다. 구성 가능 (Configurable) — 주기당 라운드 수, 최대 주기 수, 자동 보고 여부 등을 모두 설정할 수 있습니다.
# CLI 방식
vulnclaw persistent 192.168.1.100 # 기본값 100라운드/주기 × 10주기
vulnclaw persistent 192.168.1.100 -r 200 -c 5 # 200라운드/주기 × 5주기
...
브라우저를 통해 침투 테스트(Penetration Testing)의 전체 프로세스를 조작할 수 있으며, 그래픽 인터페이스(GUI)를 선호하는 사용자에게 적합합니다.
# Web 의존성 설치
pip install vulnclaw[web]
# Web UI 실행 (기본값 127.0.0.1:7788)
...
실행 후 브라우저에서 http://127.0.0.1:7788에 접속하면 바로 사용할 수 있습니다.
⚠️ 기본적으로 로컬 루프백(Local Loopback) 주소에만 바인딩됩니다. 원격 접속이 필요한 경우 --host 0.0.0.0 --allow-remote를 명시적으로 지정해야 하며, 이때 네트워크 환경의 보안을 반드시 확인하십시오.
VulnClaw는 모든 OpenAI 호환 프로토콜의 API를 지원하며, 8개의 제공업체(Provider) 프리셋이 내장되어 있습니다:
vulnclaw config provider --list # 모든 제공업체 확인
vulnclaw config provider minimax # 원클릭 전환
| 제공업체 | 명령 | 기본 모델 |
|---|---|---|
| OpenAI | provider openai | gpt-4o |
| MiniMax | provider minimax | MiniMax-M3 |
| DeepSeek | provider deepseek | deepseek-v4-pro |
| 智谱 GLM | provider zhipu | glm-4.7 |
| Kimi | provider moonshot | kimi-k2.6 |
| 通义千问 | provider qwen | qwen3-max |
| SiliconFlow | provider siliconflow | DeepSeek-V4-Flash |
| 豆包 | provider doubao | Doubao-Seed-2.0-Pro |
| 百川 | provider baichuan | Baichuan4-Turbo |
| 阶跃星辰 | provider stepfun | step-3.5-flash |
| 商汤 | provider sensetime | SenseNova-6.7-Flash-Lite |
| 零一万物 | provider yi | yi-lightning |
| 사용자 정의 | provider custom | 수동 입력 |
┌─────────────────────────────────────────────┐
│ VulnClaw CLI │
│ ┌─────────┐ ┌─────────┐ ┌────────────┐ │
...
| 모듈 | 파일 | 설명 |
|---|---|---|
| CLI/TUI 진입점 | cli/main.py + cli/tui.py | Typer 명령 + 기본 원본 CLI/REPL + 명시적 TUI |
| Agent 핵심 | agent/core.py | AgentCore 조정 진입점 (핵심 리팩토링 후 소량의 조정 역할만 유지) |
| 솔버 엔진 (Solver Engine, 기본값) | agent/solver.py + agent/blackboard.py | 목표 기반 OODA 루프 + Fact/Intent 블랙보드(Blackboard) + 증거 기반 환각 방지 게이트 |
| 추론 / 성찰 (Reasoning / Reflexion) | agent/reasoning_state.py + reflexion.py | 구조화된 사실/제약 조건/공격 체인 + 실패 분류 및 L0-L4 업그레이드 |
| 플러그인 체계 | plugins/ (registry/runtime/web) | 결합도가 낮은 취약점 탐지 플러그인 런타임 + 내장 읽기 전용 Web 플러그인 |
| 동적 프롬프트 (Dynamic Prompts) | agent/prompts.py | 기본 페르소나 + 핵심 계약 + Skill + MCP 도구 목록 |
| 프롬프트 조립 | agent/system_prompt.py + prompt_context.py | system prompt / round context / attack summary 조립 |
| 입력 분석 | agent/input_analysis.py | 목표 식별, 단계 식별, 사용자 취약점 힌트 추출 |
| 무한 루프 방지 / CTF | agent/anti_loop.py + ctf_mode.py | 완료 신호, 공격 경로, 실패 목표, flag 상태 머신 |
| 세션 상태 | agent/context.py | 단계 추적 + 취약점 발견 + 단계별 기록 |
| Skill / KB 컨텍스트 | agent/skill_context.py + kb_context.py | Skill 선택 및 지식 베이스 (Knowledge Base) 프롬프트 주입 |
| 목표 상태 상속 | target_state/store.py | 동일 목표 성과 축적, 복구, 스냅샷, 롤백, target 보고서 |
| MCP 오케스트레이션 | mcp/registry.py + lifecycle.py + router.py | 서비스 등록 + 생명주기 + 자연어 → 도구 라우팅 |
| Skill 스케줄링 | skills/loader.py + dispatcher.py | 디렉토리 형식 Skill + CTF/SRC/AI/Web 등의 의도 동적 스케줄링 |
| 인코딩/디코딩 도구 | skills/crypto_tools.py | 29가지 인코딩/디코딩 및 암호화/복호화 작업, 내장 Agent 도구로 등록 |
| 설정 관리 | config/schema.py + settings.py | Pydantic 모델 + YAML 영속화 + 8개 Provider 프리셋 |
| 보고서 생성 | report/generator.py + poc_builder.py | Markdown 보고서 + Python PoC 템플릿 |
| 보안 지식 베이스 | kb/store.py + retriever.py | JSON 저장 + CVE/기술/도구 검색 |
| MCP 서비스 | 도구 수 | 모드 | 용도 | 상태 |
|---|---|---|---|---|
| fetch | 1 | 로컬 (httpx) | HTTP 요청, API 테스트 | 즉시 사용 가능 |
| ... |
그 외 5개의 내장 Agent 도구(python_execute, nmap_scan, crypto_decode, brute_force_login, load_skill_reference)는 MCP 없이도 호출 가능합니다.
저장소: ChromeDevTools/chrome-devtools-mcp — 31개 이상의 도구, 클릭/폼/스크린샷/JS 실행/네트워크 모니터링/성능 분석 지원
전제 조건: Node.js LTS (v20+) + Chrome 브라우저
# Step 1: Chrome 원격 디버깅 시작
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir=C:\tmp\chrome-debug
...
VulnClaw 설정에는 npx -y chrome-devtools-mcp@latest가 내장되어 있습니다.
활성화 시 자동으로 연결됩니다. Chrome 디버깅 주소를 지정하려면 ~/.vulnclaw/config.yaml을 편집하세요.
mcp:
servers:
chrome-devtools:
...
저장소: PortSwigger/mcp-server — SSE + Stdio 프로토콜을 지원하는 공식 MCP 확장
전제 조건: Java 11+ + Burp Suite Professional
# Step 1: 클론 및 빌드
git clone https://github.com/PortSwigger/mcp-server.git burp-mcp
cd burp-mcp
...
JAR 파일을 고정된 위치로 복사하고 설정을 업데이트하는 것을 권장합니다:
mcp:
servers:
burp:
...
상세 배포 설명은 docs/mcp-deployment.md를 참조하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기