Shannon:41.4K Star白盒AI滲透測試工具

🤖 Shannon:41.4K Star 白盒 AI 滲透測試工具,No PoC No Report
Shannon是一個自主運行的白盒 AI 滲透測試工具,針對 Web 應用和 API:
- 41.4K GitHub Stars:安全領域最熱門開源項目之一
- No PoC No Report:沒有 PoC 就不報告,零假陽性
- XBOW 基準 96.15%:漏洞利用成功率碾壓商業工具
- $50/次:單次測試成本,1-1.5 小時出報告
- 白盒測試:需要源代碼訪問,源碼分析+動態攻擊
這是安全工具鏈中的動態驗證層,填補傳統滲透測試的空白。
🔍 爲什麼 Shannon 存在?
安全空白問題
你的團隊用 AI 編程工具每天部署代碼,但滲透測試一年做一次——中間364天的安全空白誰來填?
- 傳統掃描器:報一堆”可能存在”的漏洞,安全工程師逐條驗證
- 人工滲透測試:週期數周、成本數萬美元
- 安全空白:中間364天可能正在部署漏洞到生產環境
Shannon 的回答
Shannon 給出的回答是:一個能讀源代碼、能自己操作瀏覽器發起攻擊、打不進去就不報告的全自主滲透測試 Agent。
⚠️ 不是掃描器:No Exploit, No Report
理解 Shannon 的第一步
理解 Shannon 的第一步,是明確它不是什麼:
- 不是 DAST:不是動態應用安全測試工具
- 不是 SAST:不是靜態應用安全測試工具
- 不是模式匹配:不是掃描已知危險模式
傳統工具本質上是模式匹配——掃描代碼或 HTTP 響應中的已知危險模式,輸出一份”疑似漏洞”清單。
Shannon 的核心設計原則
Shannon 的核心設計原則用一句話概括:“POC or it didn’t happen”(沒有 PoC 就等於沒發生):
| 特徵 | 說明 |
|---|---|
| 實際發起攻擊 | 通過瀏覽器自動化注入 SQL、構造 XSS 載荷、發送 SSRF 請求 |
| 只有成功利用才報告 | 只有成功利用的漏洞纔會進入最終報告 |
| 附帶可複製粘貼 PoC | 每條發現都附帶可直接複製粘貼的 PoC 代碼 |
| 假陽性不進入報告 | 無法利用的漏洞被標記爲”假陽性”或”潛在”,不進入報告 |
這意味着安全團隊拿到的每一條發現都是已驗證的、可復現的。
OWASP Juice Shop 測試
在官方提供的OWASP Juice Shop測試報告中,Shannon 發現了20+個漏洞:
- SQL 注入認證繞過(Critical)
- UNION 注入數據提取(Critical)
- SSRF(High)
- XSS(High)
- 多種授權繞過(High)
值得注意的是,在另外兩個測試目標上,Shannon 的 XSS 檢測零假陽性——它正確識別出這些應用具備健壯的 XSS 防禦,沒有誤報。
🔬 五階段管線架構
五階段管線 + 多 Agent 並行
Shannon 的技術架構有兩個關鍵詞:五階段管線和多 Agent 並行:
| 階段 | 名稱 | 說明 |
|---|---|---|
| 階段 1 | Pre-Recon | 外部掃描 + 源代碼分析(Nmap、Subfinder、WhatWeb) |
| 階段 2 | Recon | 橋接靜態分析和動態分析,驗證端點、映射認證流程 |
| 階段 3 | Vulnerability Analysis | 5 個並行 Agent,各負責一個漏洞類別 |
| 階段 4 | Exploitation | 5 個並行 Agent,執行真實攻擊 |
| 階段 5 | Reporting | 生成滲透測試級別的執行報告 |
底層推理引擎
Shannon 基於Anthropic Claude Agent SDK,採用三層模型配置:
- Claude Haiku 4.5:摘要
- Claude Sonnet 4.6:安全分析
- Claude Opus 4.6:深度推理
📊 5 類漏洞並行 Agent
5 個獨立的分析 Agent
Shannon 同時啓動5 個獨立的分析 Agent,各負責一個漏洞類別:
| Agent | 方法 | 覆蓋漏洞 |
|---|---|---|
| Injection | Source→Sink 污點追蹤 | SQL/命令/文件/模板/反序列化注入 |
| XSS | Sink→Source 污點追蹤 | HTML 渲染上下文中的跨站腳本 |
| SSRF | Sink→Source 污點追蹤 | HTTP 客戶端、原始 socket、URL 打開器 |
| Auth | Guard 驗證 | 缺失的安全控制(限速、會話管理等) |
| Authz | Guard 驗證 | 缺失的授權檢查(水平/垂直/上下文) |
5 個 Agent併發運行,互不阻塞。每個分析 Agent 完成後,對應的利用 Agent 立即啓動。
漏洞分類狀態
利用 Agent 將每個發現分類爲三種狀態:
- EXPLOITED(已利用):進入最終報告
- POTENTIAL(潛在):不進入報告
- FALSE POSITIVE(假陽性):不進入報告
只有EXPLOITED進入最終報告。
🔥 XBOW 基準 96.15%
XBOW 基準測試
Shannon 在XBOW 基準上取得了96.15%的漏洞利用成功率(100/104):
| 漏洞類型 | 總數 | 成功 | 成功率 |
|---|---|---|---|
| Broken Authorization | 25 | 25 | 100% |
| SQL Injection | 7 | 7 | 100% |
| Blind SQL Injection | 3 | 3 | 100% |
| SSRF / Misconfiguration | 22 | 21 | 95.45% |
| XSS | 23 | 22 | 95.65% |
| Server-Side Template Injection | 13 | 12 | 92.31% |
| Command Injection | 11 | 10 | 90.91% |
| 總計 | 104 | 100 | 96.15% |
測試條件說明
- XBOW 基準:104 個故意設置漏洞的應用
- 清理版本:移除了變量名、註釋、文件路徑提示
- 白盒模式:Shannon 可以訪問應用源代碼
與商業工具對比
- Shannon:96.15%(白盒模式)
- KinoSec:92.3%(黑盒模式)
- Xfenser AI:88.5%
- XBOW 商業平臺:約 85%(黑盒)
💰 成本與上手
成本
單次完整掃描:
- 耗時:1-1.5 小時
- API 成本:約 $50 USD(基於 Claude Sonnet 4.6)
- 範圍:$40-55,取決於模型定價和應用複雜度
對比傳統人工滲透測試:一次數萬美元、耗時數週。
上手方式
npx 模式(推薦,零安裝):
# 一次性配置 npx @keygraph/shannon setup # 运行渗透测试 npx @keygraph/shannon start -u https://your-app.com -r /path/to/repo
本地模式(完整構建):
# 克隆仓库 git clone https://github.com/KeygraphHQ/shannon.git cd shannon # 配置 API Key echo "ANTHROPIC_API_KEY=your-key" > .env # 安装和构建 pnpm install && pnpm build # 运行 ./shannon start -u https://your-app.com -r /path/to/repo
前置條件
- Docker:容器運行時
- Node.js 18+:運行環境
- Anthropic API Key:推薦
- 源代碼訪問:白盒工具需要
🤝 Shannon Lite vs Shannon Pro
兩個版本
| 版本 | 許可證 | 定位 |
|---|---|---|
| Shannon Lite | AGPL-3.0 | 本地測試自己的應用 |
| Shannon Pro | 商業 | 組織級 AppSec 平臺(SAST + SCA + Pentest) |
Shannon Pro 功能
Shannon Pro是全功能應用安全平臺:
- Code Property Graph:靜態分析引擎
- 業務邏輯安全測試:自動化不變量發現
- SCA 可達性分析:CVE 可達性追蹤
- 祕密檢測:正則 + LLM 檢測
- 靜態-動態關聯:靜態發現自動餵給動態滲透
- CI/CD 集成:GitHub PR 掃描
⚠️ 使用注意事項
重要警告
- 絕對不能對未授權系統使用:Shannon 會執行真實攻擊,未經授權掃描違法
- 不建議在生產環境運行:攻擊行爲可能產生破壞性影響
- 倉庫可能對 AI 提示注入:這是官方明確列出的安全風險
- Shannon Lite 是白盒工具:需要訪問源代碼倉庫
LLM 幻覺風險
官方免責聲明:LLM 仍可能產生幻覺,需人工驗證所有發現的合法性和嚴重性。
📝 總結
Shannon 代表了一種正在成型的安全工具範式:
- No PoC No Report:只有成功利用才報告
- 41.4K Stars:安全領域最熱門開源項目
- XBOW 基準 96.15%:白盒測試成功率碾壓商業工具
- 五階段管線:Pre-Recon → Recon → Vuln → Exploit → Report
- 5 類並行 Agent:Injection、XSS、SSRF、Auth、Authz
- $50/次,1-1.5 小時:成本遠低於人工滲透測試
- 白盒工具:需要源代碼訪問
沒有 PoC 就不報告,Shannon 讓滲透測試變成一條命令。