跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
TypeScriptSaaSAI算法

Shannon:基于白盒分析的 AI 自动化渗透测试平台

Shannon 是一款结合白盒源代码分析与动态漏洞利用的 AI 自动化渗透测试工具。它通过多智能体架构理解代码上下文,在 CI/CD 流水线中实现持续安全检测,覆盖 OWASP Top 10 关键类别。支持 Docker 部署及多种 AI 模型后端,提供可复现的漏洞证明(PoC),显著降低误报率并提升修复效率,适用于电商、金融及医疗等场景的安全合规验证。

菩提发布于 2026/4/9更新于 2026/4/274 浏览

文章配图

简介

在快速迭代的开发环境中,传统的一年一次或季度性的渗透测试往往跟不上代码发布的节奏,导致巨大的安全缺口。Shannon 是由 Keygraph 开发的一款工具,它通过结合白盒源代码分析和动态漏洞利用,为 Web 应用程序和 API 提供完全自动化的安全测试。

这不仅仅是一个漏洞扫描器,更像是一名真正的 AI 渗透测试工程师。它采用多智能体架构,能够分析应用程序源代码,识别潜在的攻击向量,然后通过浏览器自动化和命令行工具执行真实的漏洞利用。与传统的黑盒扫描器不同,Shannon 能够理解代码上下文,这使得它的攻击更加精准,误报率极低。项目遵循'无漏洞利用,不报告'的原则,确保最终报告中的每一个发现都有可复现的漏洞证明。

其核心价值在于完全自动化和白盒感知能力。它能够处理复杂的身份验证流程,包括 2FA/TOTP 登录甚至 SSO,自动进行浏览器导航、漏洞利用和报告生成,无需人工干预。对于开发团队来说,这意味着安全测试可以无缝集成到 CI/CD 流水线中,在漏洞进入生产环境之前就被发现和修复。Shannon 在 XBOW 安全基准测试中取得了 96.15% 的优异成绩(104 个漏洞中成功利用 100 个),证明了其强大的实战能力。

核心功能

自主渗透测试流程 Shannon 只需一个命令即可启动完整的渗透测试流程。系统自动处理从侦察到报告生成的所有阶段,包括目标识别、技术栈分析、攻击面映射、漏洞分析和实际利用。这种端到端的自动化使得非安全专家也能轻松运行专业的渗透测试。

白盒源代码感知分析 与传统的黑盒扫描器不同,Shannon 能够访问和分析应用程序的源代码。它通过代码审查理解应用程序的业务逻辑、数据流和控制流,从而指导攻击策略。这种代码感知能力使得 Shannon 能够发现那些仅通过外部观察难以识别的深层漏洞。

可复现的漏洞证明 每个被报告的漏洞都附有可复制粘贴的漏洞证明(PoC),开发团队可以立即验证漏洞的真实性和严重程度。这种实践导向的方法大大减少了安全团队和开发团队之间的摩擦。

OWASP 漏洞全面覆盖 系统专门针对 OWASP Top 10 中的关键类别进行优化,包括注入攻击(SQLi、命令注入)、跨站脚本(XSS)、服务器端请求伪造(SSRF)以及身份验证和授权漏洞。每个漏洞类别都有专门的智能体进行分析和利用。

并行处理架构 为了提高测试效率,Shannon 采用并行处理架构。漏洞分析和利用阶段在所有攻击类别中同时运行,这意味着注入攻击、XSS、SSRF 等测试可以并行进行,而不是顺序执行,大大缩短了整体测试时间。

集成安全工具链 Shannon 在侦察和发现阶段集成了行业标准的工具,包括 Nmap(端口扫描)、Subfinder(子域名发现)、WhatWeb(技术栈识别)和 Schemathesis(API 测试)。这些工具的输出被整合到 AI 的分析过程中,提供更全面的攻击面视图。

多模型 AI 支持 除了原生的 Anthropic Claude 模型支持外,Shannon 还兼容 AWS Bedrock 和 Google Vertex AI,用户可以根据自己的基础设施偏好选择 AI 后端。系统使用三种模型层级:小型模型用于摘要任务,中型模型用于安全分析,大型模型用于深度推理。

工作空间和恢复功能 Shannon 支持工作空间概念,允许用户为每次测试运行指定自定义名称。如果测试因故中断,可以从上次完成的地方恢复,跳过已经成功完成的智能体,避免重复工作,节省时间和 API 调用成本。

安装与配置

Shannon 基于 Docker 容器运行,因此需要先安装 Docker 运行时环境。支持的操作系统包括 Windows(通过 WSL2 或 Git Bash)、macOS 和 Linux。对于 AI 推理能力,需要准备以下凭证之一:Anthropic API 密钥、Claude Code OAuth 令牌、AWS Bedrock 访问权限或 Google Vertex AI 服务账户。

快速安装步骤
  1. 克隆仓库

    git clone https://github.com/KeygraphHQ/shannon.git
    cd shannon
    
  2. 配置凭证 可以选择设置环境变量或创建 文件。

.env
  • 导出环境变量:
    export ANTHROPIC_API_KEY="your-api-key"
    
  • 或创建 .env 文件并填入凭证信息
  • 准备目标仓库 将需要测试的代码仓库放置在 ./repos/ 目录下。

  • 平台特定说明
    • Windows 用户:推荐使用 WSL2 环境,安装 Docker Desktop 并启用 WSL2 后端支持。
    • macOS 用户:直接安装 Docker Desktop 即可。
    • Linux 用户:可能需要使用 sudo 权限运行 Docker 命令。
    配置文件设置

    虽然 Shannon 可以无需配置直接运行,但创建配置文件可以启用身份验证测试和定制化分析。基本配置包括:

    • 身份验证设置:指定登录类型、URL、凭证和成功条件。
    • TOTP 支持:如果应用程序使用双因素认证,只需添加 TOTP 密钥。
    • 规则定义:指定 AI 应该避免测试的路径和应该重点关注的区域。
    AI 提供商配置

    用户可以根据需要选择不同的 AI 后端:

    • Anthropic 原生 API:直接使用 Claude 模型。
    • AWS Bedrock:通过 Amazon Bedrock 服务路由请求。
    • Google Vertex AI:通过 Google Cloud 平台使用 Claude 模型。
    • 实验性路由模式:支持 OpenAI GPT 或 Google Gemini 模型(非官方支持)。
    测试本地应用程序

    对于运行在本地开发环境的应用程序,需要使用 host.docker.internal 代替 localhost 作为目标 URL,因为 Docker 容器无法直接访问宿主机的本地主机地址。

    如何使用

    启动渗透测试

    完成安装和配置后,使用简单的命令即可启动渗透测试:

    ./shannon start URL=https://your-app.com REPO=your-repo
    

    Shannon 会自动构建容器、启动工作流并返回工作流 ID。测试过程在后台运行,用户可以继续其他工作。

    监控测试进度

    Shannon 提供多种监控方式:

    • 实时日志查看:./shannon logs 命令显示工作器的实时日志。
    • 工作流查询:./shannon query ID=shannon-1234567890 查询特定工作流的进度。
    • Temporal Web UI:通过浏览器访问 http://localhost:8233 获取详细的可视化监控界面。
    工作空间管理

    每次测试运行都会创建一个工作空间,默认自动命名(如 example-com_shannon-1771007534808)。用户也可以指定自定义工作空间名称,便于管理和恢复:

    • 命名工作空间:./shannon start URL=... REPO=... WORKSPACE=my-audit
    • 恢复运行:使用相同的工作空间名称可以从中断处恢复测试。
    • 列出工作空间:./shannon workspaces 显示所有工作空间及其状态。
    测试参数调整

    Shannon 支持多种运行参数:

    • 基本测试:仅需目标 URL 和仓库名称。
    • 配置文件:使用 CONFIG=./configs/my-config.yaml 指定自定义配置。
    • 输出目录:通过 OUTPUT=./my-reports 设置自定义报告保存位置。
    • 并发控制:配置 max_concurrent_pipelines 控制同时运行的漏洞管道数量。
    处理速率限制

    对于使用订阅计划的用户,Anthropic API 有 5 小时滚动窗口的速率限制。Shannon 提供了专门的 retry_preset: subscription 配置,将最大退避时间延长至 6 小时,重试次数增加到 100 次,确保测试能够顺利完成。

    停止和清理

    测试完成后或需要中断时:

    • 停止容器:./shannon stop 停止所有容器但保留工作流数据。
    • 完全清理:./shannon stop CLEAN=true 移除所有数据和容器。
    • 资源释放:长时间运行的测试可能占用较多资源,定期清理可以释放系统资源。
    结果验证和调试

    如果测试结果异常或需要深入分析:

    • 检查智能体日志:每个智能体的详细执行日志保存在 agents/ 目录下。
    • 查看提示快照:prompts/ 目录包含每次 AI 调用的完整提示,便于复现和分析。
    • 会话数据分析:session.json 文件包含测试会话的完整指标和数据。

    应用场景实例

    电子商务平台持续安全测试 一家快速增长的电子商务公司每周发布多次新功能和更新,传统的季度渗透测试无法跟上开发速度。安全团队将 Shannon 集成到其 GitHub Actions 工作流中。每次拉取请求创建或代码推送到主分支时,自动触发 Shannon 测试。由于 Shannon 的白盒分析能力,它能够理解复杂的业务逻辑,如购物车流程、支付集成和用户账户管理,从而进行针对性的测试。在三个月内,Shannon 发现了 12 个关键漏洞,包括一个通过复杂业务逻辑绕过的身份验证漏洞和一个隐蔽的 SQL 注入点。所有报告都附有可复现的漏洞证明,开发团队平均在 4 小时内修复了这些漏洞。误报率低于 2%,大大减少了安全团队的手动验证工作。

    金融科技 API 安全验证 一家金融科技初创公司提供基于 REST API 的金融服务,安全性是客户信任的核心。团队使用 Shannon 测试其基于 OpenAPI 规范的 API。Shannon 首先分析 API 定义文件,理解端点结构、参数类型和身份验证要求。然后它执行动态测试,尝试各种攻击向量,包括 JWT 令牌操纵、批量分配漏洞和业务逻辑绕过。由于 Shannon 集成了 Schemathesis,它能够生成符合 API 模式但包含恶意负载的测试用例。Shannon 发现了 API v1 中的一个遗留端点,该端点仍然使用弱加密算法,允许攻击者伪造 JWT 令牌。还发现了一个通过 IDOR(不安全的直接对象引用)访问其他用户财务数据的漏洞。这些发现促使公司实施了全面的 API 安全加固计划。

    医疗健康应用合规性测试 一家开发患者门户的医疗健康公司需要符合 HIPAA 安全要求。他们不仅需要发现技术漏洞,还需要确保患者健康信息(PHI)得到适当保护。公司部署 Shannon 进行每周自动化的安全测试。配置文件中特别关注与 PHI 处理相关的代码路径,如医疗记录访问、处方管理和预约调度。Shannon 的 AI 智能体被训练识别医疗健康领域的特定风险模式,如不当的日志记录可能暴露敏感健康信息。Shannon 发现了一个调试端点,该端点在错误条件下记录完整的患者记录,违反了 HIPAA 的最小必要原则。还识别了几个访问控制漏洞,允许用户查看未授权的医疗记录。公司利用这些发现加强了安全控制,顺利通过了年度 HIPAA 审计。

    教育平台第三方组件安全 一个在线教育平台使用了大量第三方 JavaScript 库和框架。虽然团队定期更新这些依赖项,但难以评估每个更新是否引入了新的安全风险。平台使用 Shannon 测试其 React 前端应用。Shannon 分析组件结构、状态管理和 API 调用模式,然后通过浏览器自动化执行客户端攻击,如 DOM 型 XSS、客户端存储操纵和授权绕过。由于 Shannon 能够执行真实的浏览器交互,它可以测试那些仅通过静态分析难以发现的复杂漏洞。Shannon 发现了一个流行的 UI 组件库中的漏洞,该漏洞允许攻击者通过特制的道具值执行跨站脚本攻击。还识别了几个不安全的客户端存储实践,可能允许攻击者提升权限。

    物联网设备管理面板安全 一家物联网公司提供基于 Web 的设备管理面板,客户通过该面板监控和控制连接的设备。面板的安全漏洞可能导致对物理设备的未授权访问,造成实际安全风险。由于设备管理面板涉及复杂的多步骤流程(设备注册、配置、固件更新),团队使用 Shannon 的浏览器自动化能力测试这些流程。Shannon 模拟真实用户操作,尝试在每个步骤中注入恶意输入或绕过安全检查。特别关注与设备控制相关的功能,如命令执行和配置更改。Shannon 发现了一个固件更新过程中的漏洞,允许攻击者上传恶意固件并完全控制设备。还识别了一个会话管理问题,导致设备访问令牌泄露。

    项目信息

    官方仓库地址:https://github.com/KeygraphHQ/shannon

    核心定位:结合白盒源代码分析和动态漏洞利用的完全自动化渗透测试。

    技术栈:基于 Anthropic Agent SDK,使用 TypeScript 开发,Docker 容器化部署。

    开源协议:AGPL-3.0 许可证(Shannon Lite 版本)。

    仓库结构概览:

    • 核心组件:多智能体渗透测试流水线源代码。
    • 配置目录:示例配置文件和各种测试场景配置。
    • 审计日志:测试运行的工作空间和输出数据。
    • 样本报告:针对知名漏洞应用的完整测试报告。
    • MCP 服务器:模型上下文协议服务器实现。
    • 资源文件:文档、图片和其他支持材料。

    快速开始资源:

    • 一键启动:./shannon start URL=https://your-app.com REPO=your-repo
    • Docker 支持:完整的容器化部署方案。
    • 详细文档:包含平台特定说明和故障排除指南。
    • 示例配置:提供身份验证测试和定制化分析的配置文件模板。

    社区与支持:

    • 问题反馈:通过 GitHub Issues 报告问题或提出功能建议。
    • 贡献指南:欢迎提交 PR,项目有清晰的开发流程和代码规范。

    发展愿景:Shannon 代表了应用安全测试的未来方向——将专业安全专家的知识和经验编码到 AI 系统中,实现持续、自动化的安全保证。随着 AI 技术的进步和更多漏洞类别的覆盖,Shannon 有望成为每个开发团队的标准安全工具,真正实现'安全左移'和'持续安全'的理念。通过开源协作和社区贡献,Shannon 将继续进化,帮助组织在快速交付的同时保持强大的安全态势,最终使互联网对每个人都更加安全。

    目录

    1. 简介
    2. 核心功能
    3. 安装与配置
    4. 快速安装步骤
    5. 平台特定说明
    6. 配置文件设置
    7. AI 提供商配置
    8. 测试本地应用程序
    9. 如何使用
    10. 启动渗透测试
    11. 监控测试进度
    12. 工作空间管理
    13. 测试参数调整
    14. 处理速率限制
    15. 停止和清理
    16. 结果验证和调试
    17. 应用场景实例
    18. 项目信息
    • 💰 8折买阿里云服务器限时8折了解详情
    • 💰 8折买阿里云服务器限时8折购买
    • 🦞 5分钟部署阿里云小龙虾了解详情
    • 🤖 一键搭建Deepseek满血版了解详情
    • 一键打造专属AI 智能体了解详情
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • ESPHome Flasher 智能家居设备配置工具使用指南
    • 律师如何利用大语言模型辅助法律工作
    • ClawX: OpenClaw 可视化桌面客户端使用指南
    • 扩散模型技术演进:从 DDPM、Stable Diffusion 到 DiT
    • 数据结构:图论基础
    • HTML input 标签 type 属性详解与实战避坑指南
    • OpenClaw 与 Ollama 本地部署指南
    • Python 办公自动化:PPT 高级功能与常用操作
    • Python 调用 Dify API 实现知识检索结果溯源展示
    • Windows 7 编译 llama.cpp 运行 Qwen3 模型指南
    • VSCode 本地部署 DeepSeek,打造私人 AI 编程助手
    • 华为 OD 机试:分割均衡字符串 Python 解法
    • FLUX.1-dev FP8 模型低显存部署与优化指南
    • 从 MVP 到千万级并发:AI 在前后端开发中的差异化落地指南
    • 前缀和技巧:和为 K 及可被 K 整除的子数组
    • Java 对象比较详解:equals、hashCode、Comparable 与 Comparator
    • Python MQTT 客户端开发实战:Paho-MQTT 库详解
    • Django 请求对象 request 详解:前端传参与后端接收
    • 数据结构:二叉树基础概念与堆实现详解
    • PyCharm 安装通义灵码插件及功能使用指南

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Gemini 图片去水印

      基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online