PentestGPT:以 LLM 驅動的滲透測試框架,從論文到 Agentic 管線的實際面貌
Automated Penetration Testing Agentic Framework Powered by Large Language Models
秒懂
- 它是什麼?
- PentestGPT 是一個由大型語言模型驅動的自動化滲透測試框架,涵蓋 CTF 解題與真實滲透測試。本文剖析其多階段管線、互動式 legacy 模式、安裝與執行方式,並指出其限制與適用場景。
- 適合誰用?
- PentestGPT 適合具備滲透測試基礎知識、想利用 LLM 加速 CTF 解題或初步資產盤點的安全研究人員,以及願意投入 Claude Code 或 Codex CLI 設定與 Docker 環境的團隊。不適合需要精確漏洞驗證或複雜內網橫向移動的正式滲透測試專案,因為其自動化管線依賴外部 LLM 的推理,且目前僅支援 Claude 與 Codex 後端。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 63 天前。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
從 USENIX 論文到 v1.0 Agentic 升級
如果你熟悉 CTF 或滲透測試,會發現 PentestGPT 的目標很明確:降低從偵察到利用之間的大量瑣碎步驟。它針對的對象不是完全不懂安全的新手,而是已經知道目標是什麼、但想要節省時間的工程師或研究人員。論文本身發表於頂級會議,代表背後的設計有學術背書,但實務上能否取代人類滲透測試人員,仍然取決於 LLM 的推理能力與管線的彈性。
多階段管線:將每個階段的輸出餵給下一個階段
但這種線性管線也有明顯的 trade-off:如果某個階段產生錯誤或遺漏,錯誤會向下傳遞,且沒有明顯的回饋迴路來修正。真實的滲透測試往往需要來回迭代,例如發現新服務後重新偵察,但 PentestGPT 的固定階段順序可能無法處理這種非線性。README 沒有說明是否有回溯機制,這點值得潛在採用者注意。
安裝與執行:依賴 uv、Claude Code 與 Codex
值得注意的是,自動化模式需要安裝並認證 Claude Code CLI 或 Codex CLI。這表示你不能只靠 OpenAI API key 就跑自主管線,必須有對應的命令列工具。Docker 流程則將兩者打包,並處理登入狀態的持久化,make docker-login 會檢查並登入缺少的 CLI,且是冪等的。這對不想重複登入的使用者來說是方便的做法,但也增加了環境複雜度。
互動式 legacy 模式:保留論文精神的多 LLM 支援
執行方式很直接,pentestgpt-legacy 會自動挑選每個 session 的最佳模型,也可以手動指定,例如 --reasoning-model claude-opus-4-8 --parsing-model gemini-3.5-flash。若要使用本機 Ollama,則指定 --reasoning-model ollama:qwen3 並加上 --base-url。另外,--list-models 可以列出所有支援的模型,並顯示哪些提供者已設定。這個模式對隱私敏感的使用者可能更有吸引力,因為可以搭配 Ollama 完全本機執行,但推理能力可能不如雲端模型。
限制與失敗模式:當自動化管線不該被信任
另外,成本問題不容忽視。自主代理會連續呼叫 LLM API,每個階段都可能消耗大量 token,尤其是滲透測試模式需要產生報告。README 沒有提供成本估算,但從設計來看,長時間的測試可能產生可觀費用。
替代方案:與其他 LLM 滲透測試工具的差異
PentestGPT 的主要替代方案是其他 LLM 驅動的滲透測試框架,例如基於 ReAct 模式的開源專案,或商業產品如微软的 Security Copilot。差異在於架構方法:PentestGPT 強調多階段管線與任務樹,而許多替代方案採用單一代理迴圈,讓 LLM 反覆決定下一步動作。PentestGPT 的優勢在於結構化,每個階段有明確的輸入輸出,易於追蹤與除錯;劣勢是缺乏彈性。另一個差異是後端支援:PentestGPT 依賴 Claude Code 與 Codex 這類具備工具呼叫能力的 CLI,而其他框架可能直接整合 OpenAI 函式呼叫或自訂工具。如果你需要支援更多 LLM 或本機模型,PentestGPT 的 legacy 模式是選擇之一,但自主能力會受限。
維護與升級成本:從 release 歷史觀察
專案授權為 MIT,這表示你可以自由修改與商用,但沒有保證。從 release 歷史來看,v0.13 與 v0.14 在 2024 年 5 月釋出,間隔僅一天,顯示當時開發頻繁。v1.0 則在 2025 年 12 月釋出,距離前一版超過一年半,這可能代表重大改版需要長時間開發,也可能反映維護步調放緩。最後一次 push 是 2026 年 7 月,但這不代表活躍程度。採用者需自行承擔升級成本:v1.0 改變了指令結構,舊版使用者可能需要學習新參數,且 legacy 模式的名稱改為 pentestgpt-legacy,可能造成混淆。文件提到 make test 與 make check,顯示有一定程度的測試基礎,但沒有細節說明測試覆蓋範圍。
編輯結論
PentestGPT 適合具備滲透測試基礎知識、想利用 LLM 加速 CTF 解題或初步資產盤點的安全研究人員,以及願意投入 Claude Code 或 Codex CLI 設定與 Docker 環境的團隊。不適合需要精確漏洞驗證或複雜內網橫向移動的正式滲透測試專案,因為其自動化管線依賴外部 LLM 的推理,且目前僅支援 Claude 與 Codex 後端。採用前應先確認目標環境的授權範圍,並在隔離的靶機上測試,同時驗證 LLM 供應商的 API 成本與速率限制是否可接受。
社群筆記