Security #AI Agents #Security #Automation

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、驗證漏洞,最後自動生成完整滲透測試報告。


本次實測環境

項目內容
Targethttps://findtt.top
StackCloudflare Pages / Cloudflare Functions / Supabase / Vue
FrameworkShannon v1.2.0
ModelDeepSeek v4 Pro(透過 Anthropic 相容 Base URL)
Agents10
Duration128m 37s

Shannon 在做什麼?(多代理工作流)

Shannon 不是那種「掃關鍵字 → 生成報告」的 scanner。它是多代理 autonomous workflow,而且每個代理都有自己上下文,會自己驗證 exploit。

  1. Pre-Recon:讀 repo、理解框架、部署方式、API 結構、Auth flow,甚至會讀 migration / SQL / env 用法與 Supabase config
  2. Recon:反解 JS bundle、抓 API endpoint、追 request flow、看 Cloudflare topology
  3. Vuln Analysis:XSS / Auth / Authz / Injection / SSRF 五個代理並行找線索
  4. Exploit Validation:找到線索後就嘗試真實利用,排除 false positive
  5. Report:只保留「可利用」漏洞進報告

最誇張的是它不只打前端,還會直接:

  • 打 Supabase REST API
  • 測 CORS / anon key / auth boundary
  • 嘗試真正 exploit

Temporal Timeline 的體感

這次我最有感的是 Temporal 真的很適合 AI agents
這種 workflow 本來就是:長時間、多代理、會 retry、會 queue orchestration。
看 timeline 很像在看 AI SOC team 自己工作。

Shannon 終端畫面

執行任務時間線


這次實測結果

**高風險:**完全沒有 server-side rate limiting
**低風險:**部分 route parameter 存在 path traversal,但影響不高

更意外的是它確認了沒有

  • SSRF
  • 可利用的 XSS
  • SQL injection
  • Auth bypass

很多掃描器會亂噴,但 Shannon 會驗證 false positive,這點我很買單。


成本與時間

指標數值
Total Cost$13.67(CLI 預估,以 Claude 價格計)
Agents10 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 路徑。

bash
# 一次性設定
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 模型):

bash
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、解讀報告、修補與驗證


相關連結: