← 返回列表

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

itadol5j

Shannon 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 讓滲透測試變成一條命令。

GitHub:https://github.com/KeygraphHQ/shannon

官網:https://keygraph.io