
AI Agent + MCP 도구 체인 + 침투 Skill 오케스트레이션을 기반으로, 대규모 언어 모델과 결합하여 자연어 입력 → 「정보 수집 → 취약점 발견 → 취약점 악용 → 보고서 생성」 전 과정을 자동으로 완료합니다.
AI 기반 침투 테스트 CLI 도구 — 사람 말로, 취약점을 공략한다.
🌐 영어 버전: README_EN.md
이 프로젝트는 독립적으로 실행 가능한 AI 침투 테스트 Agent입니다.
프로젝트 공식 웹사이트: https://unclecheng-li.github.io/vulnclaw.com/
LLM Agent + MCP 도구 체인 + 선택적 Skill 참고 자료를 기반으로, OpenAI / Anthropic / MiniMax / DeepSeek 등 호환 모델과 함께, 자연어 입력 → 「정보 수집 → 취약점 발견 → 취약점 악용 → 보고서 생성」 전 과정을 자동으로 완료합니다.
자연어를 입력하면 AI가 침투 테스트 전 과정을 자동으로 수행합니다:
用户输入:帮我对 http://target.example.com 进行渗透测试
VulnClaw 自动执行:
Round 1: 信息收集 → 指纹识别、端口扫描、目录枚举
Round 2: 漏洞发现 → 检测注入点、已知 CVE、配置缺陷
Round 3: 漏洞利用 → PoC 验证、权限获取
Round 4: 报告生成 → 结构化报告 + Python PoC 脚本
승인된 침투 테스트, CTF 대회, 보안 교육, 레드팀 훈련 등의 시나리오에 적합합니다.
AgentState.evidence에 기록되며 raw 원문은 완전히 보존됩니다. active context에는 기본적으로 고신호 미리보기만 주입되며, evidence_search / evidence_view는 필요 시 원본 증거를 다시 조회하는 데 사용됩니다fetch / memory는 로컬 구현으로 즉시 사용 가능하며, chrome-devtools / burp는 외부 MCP 서비스와 연동하여 브라우저 자동화와 HTTP 패킷 캡처/재전송을 구현합니다evidence/traffic/에 저장하며, 내장 traffic_list / traffic_view / traffic_repeat / traffic_sitemap 도구로 직접 읽고 씁니다vulnclaw plugins)load_skill_reference를 능동적으로 호출하여 필요 시 읽어야 하며, 더 이상 강제 시나리오로 컨텍스트에 주입되지 않습니다fetch / http_probe_batch가 highlight_file, HTML 하이라이트 소스 또는 HTML/JS가 혼재된 body를 만나면 자동으로 raw body 앞에 clean source를 추가합니다. http_probe_batch는 기본적으로 TLS 검증을 끄고 전체 응답 헤더를 기록하여 X-Powered-By 등 런타임 증거 손실을 방지합니다. 내장 source_extract는 여전히 필요 시 과거 evidence를 다시 읽는 데 사용할 수 있으며, 위험 sink, 폼, endpoint 신호를 고정합니다shell_command로 php -r 역직렬화 검증, curl 정밀 요청, rg/Select-String 파일 검색 등 Codex 스타일 로컬 디버깅 시나리오에 사용합니다. raw stdout/stderr는 완전히 evidence에 기록되며, 대용량 출력이 모델에 들어갈 때는 고신호 미리보기를 사용합니다runtime_diff_probe로 정규식/문자열 필터와 런타임 파서가 불일치하는 시나리오에 사용하며, 모델이 "필터는 통과시키지 않지만 파서는 수용하는" 후보를 대량으로 생성하고 검증하도록 돕습니다. PHP 직렬화 모드에서는 대상/로컬 런타임 버전 차이를 알려주고, PHP5 signed length 후보를 반드시 원격 검증해야 한다고 표시하여 로컬 최신 PHP에 의해 잘못 차단되는 것을 방지합니다python_execute 도구로 payload 구성과 응답 파싱에 적합합니다. 현재는 여전히 고위험 실험 기능이며 강력한 격리 샌드박스로 간주해서는 안 됩니다http_probe_batch로 한 번에 여러 URL/파라미터/header/body/raw URL 변형을 비교하며, 기본적으로 각 응답의 전체 body를 반환하고 모델 가시 출력에 실제 요청 면(method, URL, params, headers, cookies, body/json)을 표시하여 반복 LLM 라운드와 수작업 요청 코드를 줄입니다NO_PATH 게이트를 새로 추가했습니다: 소스 sink, 폼/파라미터, 요청 표면, 로컬 proof 또는 응답 차이 등 고신호가 아직 소진되지 않은 경우, 모델이 단일 payload에 응답이 없거나 원격 same-body라는 이유만으로 조기에 실패로 판정하는 것을 허용하지 않습니다think on/off 원클릭으로 LLM 사고 과정 표시/숨김 전환vulnclaw web으로 로컬 Web 인터페이스 시작, 기본 127.0.0.1:7788# 从 PyPI 安装(推荐)
pip install vulnclaw
# 从源码安装
git clone https://github.com/Netw0rkNoob/VulnClaw.git
cd VulnClaw
pip install -e .
이미지에는 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
也可用纯 docker 运行某条 CLI 命令:
docker run --rm -it \
-e VULNCLAW_LLM_API_KEY=sk-your-key-here \
-v vulnclaw-data:/data \
vulnclaw:latest scan <target>
⚠️ 컨테이너 내부의
localhost는 컨테이너 자신을 가리킵니다. 호스트 머신의 서비스를 스캔하려면host.docker.internal을 사용하고, 다른 컨테이너를 스캔하려면 네트워크를 공유하고 컨테이너 이름으로 접근하세요. 자세한 내용은 DOCKER.md를 참조하세요.
# 1. 选择提供商(自动填充 Base URL 和模型名)
vulnclaw config provider minimax (或 openai/anthropic/deepseek/zhipu/moonshot/qwen/siliconflow/ollama)
# 1.2(可选)自定义 Base URL 或模型名
vulnclaw config set llm.base_url https://your-own-api.example.com/v1
vulnclaw config set llm.model your-model-name
# 2. 设置 API Key
vulnclaw config set llm.api_key sk-your-key-here
# — 或改用 ChatGPT 订阅登录(无需 API Key):
# vulnclaw login (浏览器登录;注意 ToS 风险)
# 3. 默认:打开原 CLI / REPL
vulnclaw
# 4. 可选:打开 TUI 工作台
vulnclaw tui
vulnclaw doctor
출력 예시:
🦞 VulnClaw 环境检查
Python: 3.14.4
Node.js: v24.14.1
npx: 已安装
nmap: 已安装
LLM 配置:
Provider: openai
Auth Mode: static
Credentials: configured
Base URL: https://api.openai.com/v1
Model: gpt-4o
MCP 服务:
fetch: 已启用 [P0]
memory: 已启用 [P0]
...
✅ 环境就绪,运行 vulnclaw 开始
$ vulnclaw --help
🦞 VulnClaw — AI-powered penetration testing CLI
Usage: vulnclaw [OPTIONS] COMMAND [ARGS]...