# 當漏洞掃描學會說人話:Nuclei 結合 LLM Agents 完整指南

半夜兩點,我盯著螢幕上第 47 個 Nuclei YAML template,眼睛已經開始脫窗。
這個 CVE 的 PoC 明明就在那裡,但要把它轉成一個能跑的 template,得搞定 matcher 的正則、設定 extractors、處理 redirect 邏輯......一個 template 寫下來四十分鐘過去了。而待處理的 CVE 清單上還有兩百多個。
那一刻我認真想過:「有沒有辦法讓 AI 幫我做這件事?」
答案是——不只可以,而且已經有一整個生態系在做這件事了。
## 前置知識
在開始之前,確認你對以下概念有基本認識:
- **Nuclei**:ProjectDiscovery 開發的開源漏洞掃描器,用 YAML template 定義偵測邏輯
- **LLM Agent**:具備工具調用能力的大型語言模型,能自主規劃和執行任務
- **MCP (Model Context Protocol)**:Anthropic 提出的標準化協議,讓 AI 與外部工具溝通
環境需求:
- Nuclei v3.0+(`go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest`)
- ProjectDiscovery Cloud API Key(免費註冊即可取得)
---
## Nuclei 遇上 AI:不只是「加個功能」

Nuclei 和 LLM 的結合並不是簡單的「在掃描器旁邊放一個聊天機器人」。根據整合深度,可以分成四個層級,每一層都打開了不同的可能性。
### 層級一:`-ai` Flag — 一句話生成 Template
這是最低門檻的入口。Nuclei 從 v3 開始內建了 `-ai` 參數,背後接的是 [ProjectDiscovery AI API](https://docs.projectdiscovery.io/opensource/nuclei/running) YAML template 並直接執行。
```bash
# 先設定 API Key
nuclei -auth
# 用自然語言掃描
nuclei -ai "check for XSS in query parameters" -u https://target.com
nuclei -ai "detect open redirect on login page" -u https://target.com
nuclei -ai "find SQL injection in search functionality" -list urls.txt
```
這段指令背後發生的事:
1. Nuclei 把你的自然語言 prompt 送到 ProjectDiscovery 的 AI 後端
2. LLM 根據 prompt 生成符合 Nuclei 語法的 YAML template
3. Nuclei 載入這個 template 並對目標執行掃描
4. 回傳結果
聽起來很美好,但有幾個現實要面對:
- **依賴外部 API**:你的掃描意圖會送到 ProjectDiscovery 的伺服器
- **免費額度有限**:大量掃描會撞到 rate limit
- **無法用自己的 LLM**:想用本地模型?這條路走不通
不過作為入門體驗,這已經足夠讓你感受到「原來漏洞掃描可以這樣做」。
### 層級二:MCP Server — 讓 AI Agent 直接操控掃描器
如果說 `-ai` flag 是「AI 幫你寫 template」,那 MCP 整合就是「AI 自己決定什麼時候掃、怎麼掃、掃完怎麼分析」。
[MCP (Model Context Protocol)](https://github.com/FuzzingLabs/mcp-security-hub) 是 Anthropic 提出的標準化協議,讓 AI Agent 可以像調用函式一樣操控外部工具。目前已經有多個 Nuclei MCP Server 實現:
| 專案 | 語言 | 特色 |
|------|------|------|
| [addcontent/nuclei-mcp](https://playbooks.com/mcp/mark3labs-nuclei) | Go | Template 管理、結果快取、並發操作 |
| [crazyMarky/mcp_nuclei_server](https://mcp.aibase.com/server/1917147846140424194) | Python | Tag 過濾、JSON 結構化輸出 |
| [FuzzingLabs/mcp-security-hub](https://github.com/FuzzingLabs/mcp-security-hub) | 多語言 | 整合 Nmap + Ghidra + Nuclei + SQLMap + Hashcat |
設定其實很簡單。以 Claude Desktop 為例:
```json
{
"mcpServers": {
"nuclei": {
"command": "go",
"args": ["run", "cmd/nuclei-mcp/main.go"]
}
}
}
```
配置完成後,你可以直接對 Claude 說:
> 「幫我用 nuclei 掃描 example.com,重點檢查 nginx 和 node.js 相關的漏洞」
Agent 會自動:選擇對應 tag 的 templates → 執行掃描 → 解析 JSON 結果 → 用人類看得懂的語言告訴你發現了什麼。
這裡真正厲害的地方在於**組合拳**。[FuzzingLabs 的 mcp-security-hub](https://github.com/FuzzingLabs/mcp-security-hub) 把多個安全工具封裝成 MCP server,一個 AI Agent 可以這樣工作:
```
你:「全面評估 example.com 的安全性」
Agent 的行動:
1. 用 Nmap 掃描開放端口
2. 根據發現的服務,選擇對應的 Nuclei templates
3. 執行漏洞掃描
4. 對可疑端點用 SQLMap 做深度測試
5. 整合所有發現,生成報告
```
整個過程你只下了一條指令。
### 層級三:Workflow 自動化 — DevSecOps Pipeline

這一層不是給「人」用的,是給「流程」用的。
[n8n 社群已經有現成的 workflow template](https://n8n.io/workflows/10446-automate-cve-detection-with-ai-powered-nuclei-template-generation-and-google-drive/),實現了這樣的自動化鏈路:
```mermaid
graph LR
A[新 CVE 公布] --> B[n8n 觸發]
B --> C[LLM 提取技術細節]
C --> D[生成 Nuclei Template]
D --> E[自動掃描資產]
E --> F[結果寫入知識庫]
F --> G[通知安全團隊]
```
ProjectDiscovery 自己也做了類似的事——他們的 [nuclei-templates-ai](https://github.com/projectdiscovery/nuclei-templates-ai) 專案會自動監控新公布的 CVE,用 AI 生成對應的偵測 template,經過社群審核後併入官方 template 庫。
這意味著從 CVE 公布到你能偵測它,中間的時間差正在被壓縮到小時級別。
### 層級四:自主 Agent 框架 — AI 自己做滲透測試
這是目前最前沿的整合方式。不是「AI 輔助人」,而是「AI 自主規劃、執行、驗證」整個滲透測試流程。
後面會展開介紹這些框架,但先讓你感受一下:
```yaml
# Pentest MCP Server 的 scope 定義
scope:
targets:
- example.com
allowed_tools:
- nuclei
- nmap
- sqlmap
constraints:
- no_dos_attacks
- stay_in_scope
```
定義好 scope 後,AI Agent 會自主:偵察 → 發現攻擊面 → 選擇工具 → 執行測試 → 驗證漏洞 → 生成報告。整個過程有推理鏈可追蹤,不是黑盒操作。
---
## 工具生態全景:不只有 Nuclei

Nuclei + LLM 只是這個領域的一角。過去兩年,AI 驅動的安全測試工具像雨後春筍一樣冒出來。我把它們分成幾類:
### 自主滲透測試 Agent
這些工具的目標是讓 AI 自己做完一場滲透測試。
| 工具 | 特色 | 適合誰 |
|------|------|--------|
| [CAI](https://aliasrobotics.github.io/cai/) | 模組化框架、可追蹤推理鏈、Bug Bounty 就緒 | 專業安全研究者 |
| [PentAGI](https://github.com/vxcontrol/pentagi) | 知識圖譜記憶、跨任務學習 | 需要持續性測試的團隊 |
| [Nebula](https://github.com/berylliumsec/nebula) | CLI 原生、自動化偵察 | 偏好命令列的分析師 |
| [Strix](https://github.com/usestrix/strix) | 整合 Nuclei + Caido + Playwright | 端到端自動化測試 |
| [HackingBuddyGPT](https://github.com/ipa-lab/hackingBuddyGPT) | 支援離線 LLM | 隱私優先的場景 |
| PentestGPT | AI 顧問模式(建議→人工確認) | 學習中的安全新手 |
其中 [CAI](https://www.mbgsec.com/archive/2025-05-09-cai-an-open-bug-bounty-ready-cybersecurity-ai/) 值得特別關注。它來自 Alias Robotics,有學術論文支持(arXiv:2504.06017),架構上支持多種 LLM 後端,工具鏈可擴展,而且已經在實際的 Bug Bounty 場景中驗證過。
[PentAGI](https://github.com/vxcontrol/pentagi) 的獨特之處在於它的知識圖譜。用 Graphiti 存儲工具、目標、漏洞之間的語義關係,意味著 Agent 可以「記住」之前的發現,在後續任務中利用這些知識。這不是一次性的掃描,而是持續累積的安全智慧。
### MCP 安全工具 Hub
這些不是單一工具,而是工具的「調度中心」:
- [HexStrike AI](https://github.com/0x4m4/hexstrike-ai):整合 **150+** 安全工具的 MCP server。從 nmap、gobuster、nuclei 到 hashcat、ghidra,幾乎涵蓋了滲透測試的所有環節。支援 Claude、GPT、Copilot 等主流 AI assistant。
- [Pentest-MCP-Server](https://github.com/chfle/Pentest-MCP-Server):在 Kali Linux Docker 容器中運行,帶 scope 管理系統。你可以用 `scope.yaml` 定義測試範圍,AI Agent 會嚴格在範圍內操作。
### 測試 LLM 本身安全性的工具
別忘了,LLM 自己也需要被測試:
- [Garak](https://github.com/NVIDIA/garak)(NVIDIA):專門測試 LLM 的 prompt injection、jailbreak、幻覺等漏洞。支持 Claude、Llama、Mistral 等主流模型。
- [BurpGPT](https://burpgpt.app/):Burp Suite 的 GPT 擴展,用 LLM 做被動掃描分析,能發現傳統掃描器漏掉的邏輯漏洞。
---
## 實戰:三種場景,三套工作流

講了這麼多工具,到底該怎麼選?取決於你的場景。
### 場景一:個人開發者 / 小專案
你只想快速檢查自己的 side project 有沒有明顯漏洞。
```bash
# 安裝 nuclei
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# 設定 API key
nuclei -auth
# 一句話掃描
nuclei -ai "scan for OWASP Top 10 vulnerabilities" -u https://myapp.com
# 針對性掃描
nuclei -ai "check for insecure CORS configuration" -u https://api.myapp.com
```
五分鐘搞定。不需要懂 YAML template 語法,不需要設定 MCP server。
### 場景二:安全團隊 / 中型組織
你需要 AI Agent 幫你做日常的安全巡檢,但要有人監督。
1. **部署 Nuclei MCP Server**
2. **配置到 Claude Desktop / VS Code**
3. **自然語言驅動掃描**:「掃描我們所有的 staging 環境,重點關注最近一個月的 CVE」
4. **Agent 分析結果**:自動分類嚴重程度、建議修復優先順序
### 場景三:專業安全團隊 / Bug Bounty
你需要完整的自主滲透測試能力。
```mermaid
graph TD
A[定義 Scope] --> B[AI Agent 自主偵察]
B --> C{發現攻擊面}
C --> D[subfinder: 子域名枚舉]
C --> E[naabu: 端口掃描]
D --> F[nuclei: 漏洞掃描]
E --> F
F --> G{發現漏洞?}
G -->|是| H[sqlmap/深度驗證]
G -->|否| I[擴大偵察範圍]
H --> J[生成 PoC]
J --> K[完整報告]
```
推薦工具組合:CAI 或 PentAGI 作為 Agent 框架 + HexStrike AI 作為工具 Hub。
---
## 踩坑與現實
聊了這麼多令人興奮的東西,該潑點冷水了。
**AI 生成的 Template 不一定對。** 我測試過 `nuclei -ai` 生成的 template,大約有 20-30% 會有誤報或漏報。LLM 很擅長生成「看起來對」的 YAML,但 matcher 的邏輯細節、edge case 處理,它做得並不完美。**所以 AI 生成的 template 一定要人工審核。**
**自主 Agent 還不能完全信任。** CAI、PentAGI 這些工具雖然能自主操作,但它們偶爾會做出超出預期的事情。一定要設定好 scope 限制,而且最好在隔離環境中運行。
**隱私是個問題。** `-ai` flag 會把你的掃描意圖送到外部 API。如果你測試的是內部系統,這可能不被允許。HackingBuddyGPT 支援本地 LLM,可以考慮作為替代方案。
**工具碎片化嚴重。** 這個領域每個月都有新專案冒出來,但大部分都是個人專案或早期階段,穩定性和維護性都是未知數。挑選時優先看有組織背書的(ProjectDiscovery、NVIDIA、Alias Robotics)。
---
## 這不是未來,這是現在
回到文章開頭那個半夜寫 template 的場景。現在的我會怎麼做?
打開終端機,輸入一行 `nuclei -ai "detect CVE-2024-XXXX"` — 然後去泡杯咖啡。
或者更進一步,配好 MCP server,讓 Claude 幫我做一輪完整的安全巡檢。我只需要在最後看報告、確認發現、決定修復優先順序。
AI 不會取代安全工程師,但會取代「不會用 AI 的安全工程師」。這句被用爛的話在安全測試領域格外真實——當你的對手已經在用 AI 找漏洞,你還在手寫 YAML,這場軍備競賽的結局不難預見。
工具都在那裡了,門檻從沒有這麼低過。該動手了。
---
## 延伸閱讀
- [ProjectDiscovery Blog: From CVE to Template — The Future of Automating Nuclei Templates with AI](https://projectdiscovery.io/blog/future-of-automating-nuclei-templates-with-ai)
- [Top 10 Open-Source AI Agent Penetration Testing Projects](https://blog.spark42.tech/top-10-open-source-ai-agent-penetration-testing-projects/)
- [Nuclei MCP Servers: The AI Engineer's Deep Dive](https://skywork.ai/skypage/en/nuclei-mcp-servers-ai-security/1979043124697747456)
- [CAI: An Open, Bug Bounty-Ready Cybersecurity AI](https://www.mbgsec.com/archive/2025-05-09-cai-an-open-bug-bounty-ready-cybersecurity-ai/)
- [Top 10 AI Pentest Tools 2025 — SOCRadar](https://socradar.io/blog/top-10-ai-pentest-tools-2025/)
- [Garak — LLM Vulnerability Scanner (NVIDIA)](https://garak.ai/)
---
#nuclei #LLM #AI安全測試 #MCP #滲透測試 #DevSecOps #資安工具