PentestChain:本地/免費模型驅動的 MCP 滲透測試鏈,適合先當研究原型看待 | Allen 知識庫 | Allen 知識庫AIthreads
PentestChain:本地/免費模型驅動的 MCP 滲透測試鏈,適合先當研究原型看待
2026年9月22日5 分鐘閱讀👁 6
PentestChain:本地/免費模型驅動的 MCP 滲透測試鏈,適合先當研究原型看待
一句話結論
PentestChain 的方向值得注意:它把 Nmap、Metasploit、Nikto、sqlmap 等既有滲透測試工具包成 Web UI 與 MCP server,並嘗試用「本地模型優先、免費雲端模型備援、規則式 fallback」降低自動化滲透測試的模型成本。不過,目前官方 GitHub 與 arXiv 論文之間仍有版本落差,授權也不是開源授權;若要導入,應先定位為研究/內部實驗工具,而不是可直接上線的 PTaaS 產品。
社群說法
Threads 貼文稱 PentestChain 是「十階段」的 MCP 滲透測試鏈,使用 Ollama qwen2.5-7b → OpenRouter/Cerebras → 規則備援的模型級聯,並強調 MCP 協調、漏洞圖可重現,以及目前仍是 arXiv 階段。
這些說法大致符合 arXiv 摘要與論文內容,但需要兩個修正:
- 論文描述的是十階段框架與 11 個 MCP tools;GitHub README 目前公開說明的是 7-step workflow。
- GitHub repo 沒有明確開源 license,README 直接寫「No license specified. All rights reserved by the author unless a license is added.」因此不應視為 MIT/Apache 等自由開源專案。
官方核實
官方 GitHub
官方論文 Open Science appendix 指向 GitHub repo:Rushabh0508/Pentest-Chain。GitHub API 顯示 repo 存在,預設分支為 main,內容包含 Dockerfile、docker-compose.yml、app.py、mcp_server.py、mcp_agent.py、requirements.txt、 等。
results/
README 將 PentestChain 定義為「AI-assisted, chained penetration-testing engine」,包裝 Nmap、Nikto、sqlmap、Hydra、Metasploit 等工具,提供 Web UI 與 MCP server;警告只能在擁有或明確授權的系統上執行。
README 的 pentest chain 是 7 步:
- Validate target
- Port scan
- NSE scan
- CVE lookup
- Run exploit
- Web scan
- Report
mcp_server.py 內的工具面比 README 更寬,除了 7-step workflow,還有 scan status、stop scan、health、run shell command、webapp detection、read-only insight tools 等。這代表社群「MCP 協調」說法成立,但「工具數量/階段數」需以特定版本為準。
論文/研究狀態
arXiv 條目為:PentestChain: A Cost-Aware, MCP-Orchestrated Framework for Automated Penetration Testing with Free-Tier LLMs,版本 2609.18120v2,更新於 2026-09-18,分類為 cs.CR。
- 以成本為一級評估指標。
- 用 deterministic exploit map 承擔核心攻擊邏輯,讓 LLM 只負責受限角色。
- 模型 cascade 為本地 Ollama
qwen2.5:7b 優先,再到 free-tier OpenRouter 與 Cerebras,最後規則式 fallback。
- 透過 MCP server 暴露完整 pipeline。
- 對 MCP offensive engine 的攻擊面提出威脅模型與緩解措施。
- 評估協議規劃涵蓋 AutoPenBench、Cybench 子集與 PentestGPT 182-sub-task benchmark,並主張要以同一 testbed 重跑 baselines,而不是引用既有數字。
論文同時寫明目前部分標準化測試與 ablation 結果仍屬 projected/待補,未來工作包含更大規模 VulHub、air-gapped deployment、OWASP Top 10、cloud 與 Active Directory modules 等。
架構重點
1. Deterministic backbone + LLM bounded roles
PentestChain 不是讓 LLM 任意下指令,而是把攻擊鏈拆成固定流程,並用 curated exploit map、CVE lookup、工具輸出與規則 fallback 維持可重現性。這是它和「純 Agent 自由探索」相比較務實的地方。
2. MCP server 作為協調層
MCP 讓 Claude Desktop 或其他 MCP host 可以透過工具呼叫驅動掃描流程。Repo 中 mcp_server.py 使用 FastMCP,預設可連到 Flask engine,Web UI 預設在 :4444,MCP server 則可跑在 :8000。
3. Docker 化 Kali + PostgreSQL
docker-compose.yml 建立 Kali-based app container 與 PostgreSQL companion,並啟動 Metasploit RPC。Compose 檔案也顯示會將 Ollama host 指向 host.docker.internal:11434,模型預設為 qwen2.5:7b。
4. 模型 cascade 與規則式 fallback
Repo 內 app.py 的註解明確寫出 provider order:Ollama local → Gemini → OpenRouter/Cerebras,且每個 helper 都應在 AI 失敗時降級為 deterministic rule-based result。這和論文「本地/免費模型優先」的主軸一致,但 repo README 的 setup 區塊目前仍要求至少設定一個 provider key,支援 Gemini、OpenRouter、Cerebras。
License 與可用性
這點必須特別標註:PentestChain GitHub repo 沒有開源授權。README 的 License 段落寫明「No license specified. All rights reserved by the author unless a license is added.」
- 可以閱讀公開 repo,但不能自動假設可商用、改作、再散布或納入產品。
- 若要內部 PoC 以外使用,應先取得作者授權或等 repo 補上 license。
- 論文即使公開在 arXiv,也不等於程式碼採用開源授權。
限制與風險
1. 論文與 repo 描述存在版本落差
論文說十階段與 11 tools;README 說 7-step workflow;實際 mcp_server.py 又包含更多 MCP tools。這比較像快速演進中的研究原型,不像穩定產品文件。
2. 研究結果不可直接外推到現代生產環境
論文 Threats to Validity 指出,部分評估目標是故意脆弱的 legacy systems;結果不應直接外推到 hardened production infrastructure。
3. MCP 本身擴大攻擊面
論文明確把 MCP-exposed offensive engine 當作攻擊面處理,提到 client-side RCE、supply-chain backdoor、tool poisoning/rug-pull/line-jumping 等類型。即使有緩解措施,也不是安全證明。
4. 工具本質具攻擊能力
PentestChain 會執行掃描與 exploitation workflow。任何導入都必須限制在明確授權範圍,並隔離網路、紀錄操作、避免接觸第三方資產。
5. 憑證與 compose 範例需人工檢查
公開 compose/env 範例中有 provider key placeholder/示例值與 Metasploit RPC 設定。導入前應清理 secrets、換成 vault/環境變數,並限制 container 權限與網路範圍。
導入建議
適合先做的事
- 在完全隔離 lab 中重現 README 的 Docker flow。
- 只掃 Metasploitable、VulHub、DVWA、Juice Shop 等可授權靶場。
- 先關掉或審查
run_shell_command 這類高風險 MCP tool。
- 把 MCP host 與 server 都 pin version,並將 tool descriptions 視為不可信輸入。
- 對每次 AI call、工具呼叫、Metasploit session、輸出報告做完整 audit log。
不建議直接做的事
- 不要直接放進生產內網當自動掃描器。
- 不要讓它掃沒有白紙黑字授權的第三方目標。
- 不要把它包成 SaaS 或商業顧問交付物,除非 license 問題先釐清。
- 不要把論文 projected results 當成已完成 benchmark 成績。
KB 摘要
PentestChain 是一個有趣但仍早期的 MCP 滲透測試研究原型。社群貼文抓到重點:本地/免費模型 cascade、MCP 協調、規則備援與可重現評估;但正式導入前必須補上三件事:確認 license、重跑隔離 lab benchmark、縮小 MCP offensive surface。它適合研究「低成本 AI-assisted pentest orchestration」,不適合未審查就上線。
來源
- 社群來源:Threads 貼文,作為發現線索,不作為唯一事實來源。
- 官方 GitHub:
Rushabh0508/Pentest-Chain。
- 論文:arXiv
2609.18120v2。
- 官方協定背景:Model Context Protocol 官方文件。