Shannon AI Pentest Agent 安裝與實測指南(macOS/Linux)
我用 10 個 AI agents 打自己的網站,2 小時後交出完整資安報告。Shannon 比我想像的成熟。
為什麼我試 Shannon?
AI 已經開始自己做滲透測試了。
最近 vibe coding 很紅,大家用 Cursor / Claude Code / Gemini 幾小時就能做出產品,然後直接部署到 Cloudflare / Vercel / Supabase。但有個問題很少人提:你真的知道自己的站安不安全嗎?
所以我做了一個很瘋的實驗:把自己的網站丟給 AI pentest agent framework Shannon,讓它自己做 recon、逆向前端 bundle、追 API、驗證漏洞,最後自動生成完整滲透測試報告。
本次實測環境
| 項目 | 內容 |
|---|---|
| Target | https://findtt.top |
| Stack | Cloudflare Pages / Cloudflare Functions / Supabase / Vue |
| Framework | Shannon v1.2.0 |
| Model | DeepSeek v4 Pro(透過 Anthropic 相容 Base URL) |
| Agents | 10 |
| Duration | 128m 37s |
Shannon 在做什麼?(多代理工作流)
Shannon 不是那種「掃關鍵字 → 生成報告」的 scanner。它是多代理 autonomous workflow,而且每個代理都有自己上下文,會自己驗證 exploit。
- Pre-Recon:讀 repo、理解框架、部署方式、API 結構、Auth flow,甚至會讀 migration / SQL / env 用法與 Supabase config
- Recon:反解 JS bundle、抓 API endpoint、追 request flow、看 Cloudflare topology
- Vuln Analysis:XSS / Auth / Authz / Injection / SSRF 五個代理並行找線索
- Exploit Validation:找到線索後就嘗試真實利用,排除 false positive
- Report:只保留「可利用」漏洞進報告
最誇張的是它不只打前端,還會直接:
- 打 Supabase REST API
- 測 CORS / anon key / auth boundary
- 嘗試真正 exploit
Temporal Timeline 的體感
這次我最有感的是 Temporal 真的很適合 AI agents。
這種 workflow 本來就是:長時間、多代理、會 retry、會 queue orchestration。
看 timeline 很像在看 AI SOC team 自己工作。


這次實測結果
**高風險:**完全沒有 server-side rate limiting
**低風險:**部分 route parameter 存在 path traversal,但影響不高
更意外的是它確認了沒有:
- SSRF
- 可利用的 XSS
- SQL injection
- Auth bypass
很多掃描器會亂噴,但 Shannon 會驗證 false positive,這點我很買單。
成本與時間
| 指標 | 數值 |
|---|---|
| Total Cost | $13.67(CLI 預估,以 Claude 價格計) |
| Agents | 10 completed |
我實際是走自訂 Base URL 接 DeepSeek,官方顯示成本約 1.15U,落差非常大。
(Shannon 的成本估算是以 Claude 價格計算,實際費用會因模型與代理路由而不同。)
必要條件(Docker 真的必要)
Shannon 會用 Docker 跑一個預先建好的工作映像,npx 模式也一樣需要 Docker。
實際上它會:
- 從 Docker Hub 拉取約 1GB 的工作映像
- 在容器中執行完整測試
- 把你的 repo 以唯讀方式掛載進容器
最低需求:
- Docker Desktop(必須)
- Node.js 18+(npx)
- 目標 URL 可連線
- 測試目標與程式碼庫的明確授權
快速上手(白盒測試)
Shannon 是白盒測試,必須提供 repo 路徑。
# 一次性設定
npx @keygraph/shannon setup
# 開始測試
npx @keygraph/shannon start -u https://your-app.com -r /abs/path/to/your-repo
你可以用 npx @keygraph/shannon logs <workspace> 看進度,或開 http://localhost:8233 看 Temporal UI。
如果你走自訂 Base URL(例如代理到非 Claude 模型):
export ANTHROPIC_BASE_URL=https://your-proxy.example.com
export ANTHROPIC_AUTH_TOKEN=your-auth-token
使用提醒
- Shannon 會主動利用漏洞,請只在 staging / sandbox 跑
- 你必須擁有目標系統的明確授權
- 只會報告「可利用」漏洞,無法利用的問題會被丟棄
- 代理流程可能很長,請預留 1~2 小時
個人心得
這次跑完後,我第一次覺得 AI security agent 已經脫離玩具階段了。
尤其對 indie hacker 或小團隊,這種「部署後丟給 AI 自跑兩小時 → 回收報告」的流程,非常實用。
但它也暴露了一個現實:AI agent 容易過度 digging。
有一段時間它開始 recursive exploit validation,不斷 merge findings、重跑測試。
所以如果要長期使用,規則與邊界很重要(例如限制速率、限制範圍、限制漏洞類型)。
我現在的感想是:
未來很可能變成「快速上線 → AI pentest → 迭代修補」的標準流程,
而人類的角色會變成:定義 scope、解讀報告、修補與驗證。
相關連結: