shannon
自主白盒AI渗透测试工具,通过分析源码、识别攻击向量并执行实际漏洞利用来验证安全性。采用多agent架构(Claude驱动)并行扫描注入、XSS、SSRF等OWASP类别,严格遵循'No Exploit, No Report'策略减少误报。支持resume续跑和Docker隔离,适合集成到CI/CD流程。注意:使用前必须获得明确授权,仅限沙盒/测试环境,禁止用于生产。
README
[!NOTE] 📢 路由模式(claude-code-router)即将退役 →

Shannon — Keygraph 出品 AI 渗透测试工具
Shannon 是一款自主式、白盒 AI 渗透测试工具,专为 Web 应用和 API 设计。
它分析你的源代码,识别攻击向量,并执行真实利用,在漏洞进入生产环境之前加以证明。
Shannon 是什么?
Shannon 是由 Keygraph 开发的 AI 渗透测试工具。它通过将源代码分析与实时利用相结合,对 Web 应用及其底层 API 执行白盒安全测试。
Shannon 分析你的 Web 应用程序源代码以识别潜在攻击向量,然后使用浏览器自动化和命令行工具,针对运行中的应用及其 API 执行真实利用(注入攻击、身份验证绕过、SSRF、XSS)。最终报告中仅包含具有有效概念验证(PoC)的漏洞。
为什么需要 Shannon
借助 Claude Code 和 Cursor 等工具,你的团队可以不停歇地交付代码。但你的渗透测试呢?每年仅进行一次。这就造成了巨大的安全缺口。在其余 364 天里,你可能会在不知情的情况下将漏洞发布到生产环境。
Shannon 通过提供按需、自动化的渗透测试来填补这一缺口,可针对每次构建或发布运行。
Shannon 实际操作
Shannon 在 OWASP Juice Shop 中发现了 20 多个漏洞,包括身份验证绕过和数据库泄露。完整报告 →

功能特点
- 完全自主运行:一条命令即可启动完整渗透测试。Shannon 无需人工干预即可处理 2FA/TOTP 登录(包括 SSO)、浏览器导航、漏洞利用和报告生成。
- 可重现的概念验证利用:最终报告仅包含经过验证、可被利用的发现,并提供可直接复制粘贴的 PoC。无法被利用的漏洞不予报告。
- OWASP 漏洞覆盖:识别并验证注入、XSS、SSRF 以及身份验证/授权缺陷,更多类别正在开发中。
- 代码感知的动态测试:分析源代码以指导攻击策略,然后通过实时浏览器和基于 CLI 的利用手段,针对运行中的应用验证发现。
- 并行处理:漏洞分析和利用阶段在所有攻击类别上同时进行。
产品线
Shannon 由 Keygraph 开发,提供两个版本:
| 版本 | 许可证 | 适用场景 |
|---|---|---|
| Shannon Lite | AGPL-3.0 | 本地测试你自己的应用程序。 |
| Shannon Pro | 商业版 | 需要统一的 AppSec 平台(SAST、SCA、密钥检测、业务逻辑测试、自主渗透测试)的组织,支持 CI/CD 集成和自托管部署。 |
本仓库包含 Shannon Lite,即核心自主 AI 渗透测试框架。Shannon Pro 是 Keygraph 的一体化 AppSec 平台,将 SAST、SCA、密钥扫描、业务逻辑安全测试和自主 AI 渗透测试整合到一个关联工作流中。每项发现都通过有效的概念验证利用进行验证。
[!IMPORTANT] 仅限白盒。 Shannon Lite 专为白盒(源码可用) 应用程序安全测试而设计。
它需要访问你的应用程序源代码和仓库结构。
Shannon Pro:架构概述
Shannon Pro 是一个一体化的应用安全平台,取代了将独立的 SAST、SCA、密钥扫描和渗透测试工具拼凑在一起的需求。它作为两阶段管道运行:对代码库进行代理式静态分析,随后进行自主 AI 渗透测试。两个阶段的发现会被交叉引用和关联,因此每个报告的漏洞都有有效的概念验证利用和精确的源代码位置。
阶段 1:代理式静态分析
Shannon Pro 将代码库转换为代码属性图(CPG),组合了 AST、控制流图和程序依赖图。然后运行五种分析能力:
- 数据流分析(SAST):识别源(用户输入、API 请求)和汇聚点(SQL 查询、命令执行),然后追踪它们之间的路径。在每个节点,LLM 会评估所应用的具体净化措施对于上下文中的特定漏洞是否足够,而不是依赖于硬编码的安全函数白名单。
- 点问题检测(SAST):基于 LLM 的单一位置漏洞检测:弱加密、硬编码凭证、不安全配置、缺失安全头部、弱 RNG、禁用证书验证以及过于宽松的 CORS。
- 业务逻辑安全测试(SAST):LLM 代理分析代码库以发现应用特定的不变量(例如“文档访问必须验证组织归属权”),生成有针对性的模糊测试器以违反这些不变量,并综合出完整的 PoC 利用。这可以捕获模式化扫描器无法检测到的授权失败和领域特定逻辑错误。
- 带可达性分析的 SCA:通过 CPG 追踪易受攻击的函数是否真正从应用程序入口点可达,从而超越简单的 CVE 标记。不可达的漏洞会被降低优先级。
- 密钥检测:结合正则表达式模式匹配和基于 LLM 的检测(针对动态构造的凭证、自定义格式、混淆的令牌),并通过只读 API 调用针对相应服务进行活性验证。
阶段 2:自主动态渗透测试
与 Shannon Lite 相同的多代理渗透测试管道(侦察、并行漏洞分析、并行利用、报告),并增强为将静态发现注入利用队列。静态发现被映射到 Shannon 的五个攻击领域(注入、XSS、SSRF、Auth、Authz),利用代理针对每项发现尝试针对运行中的应用程序发起真实的概念验证攻击。
静态-动态关联
这是核心差异化优势。在静态分析中识别出的数据流漏洞(例如,未净化的输入到达 SQL 查询)不会被报告为理论风险。它被提供给相应的利用代理,该代理尝试针对实时应用程序利用该漏洞。已确认的利用会被追溯回确切的源代码位置,让开发者既能获得可利用性的证明,也能获得需要修复的代码行。
部署模型
Shannon Pro 支持自托管运行者模型(类似于 GitHub Actions 的自托管运行者)。处理代码访问和所有 LLM API 调用的数据平面,完全在客户基础设施内使用客户自己的 API 密钥运行。源代码不会离开客户网络。Keygraph 控制平面负责作业编排、扫描调度和报告 UI,仅接收汇总的发现。
| 能力 | Shannon Lite | Shannon Pro(一体化 AppSec) |
|---|---|---|
| 许可 | AGPL-3.0 | 商业版 |
| 静态分析 | 代码审查提示 | 完整的代理式 SAST、SCA、密钥检测、业务逻辑测试 |
| 动态测试 | 自主 AI 渗透测试 | 带静态-动态关联的自主 AI 渗透测试 |
| 分析引擎 | 代码审查提示 | 基于 CPG 的数据流,每个节点带有 LLM 推理 |
| 业务逻辑 | 无 | 自动化不变量发现、模糊测试生成、利用合成 |
| CI/CD 集成 | 手动 / CLI | 原生 CI/CD、GitHub PR 扫描 |
| 部署 | CLI | 托管云或自托管运行者 |
| 边界分析 | 无 | 自动服务边界检测并团队路由 |
目录
设置与使用说明
前提条件
- Docker - 容器运行时(安装 Docker)
- Node.js 18+ - 使用
npx所需(安装 Node.js) - pnpm - 克隆并构建模式所需(安装 pnpm)
- AI 提供商凭证(选择其一):
- Anthropic API 密钥(推荐) - 从 Anthropic Console 获取
- Claude Code OAuth 令牌
- AWS Bedrock - 通过 Amazon Bedrock 路由,使用 AWS 凭证(见 AWS Bedrock)
- Google Vertex AI - 通过 Google Cloud Vertex AI 路由(见 Google Vertex AI)
[!NOTE] 使用
npx工作流时仍需要 Docker。在底层,CLI 从 Docker Hub 拉取并运行一个预构建的 Shannon worker 镜像,该镜像约 1 GB,包含 Shannon 及所有必需的依赖项。Shannon 以只读方式将目标仓库挂载到 worker 容器内部,以防止分析期间的意外修改。通过npx @keygraph/shannon运行 Shannon 可获取最新发布版本,如果从源码构建则拉取最新main分支。
快速入门(推荐:npx)
[!WARNING] 在运行 Shannon 之前,请阅读 免责声明。 Shannon 不是被动扫描器——它主动对目标执行利用。你必须获得系统所有者的明确的书面授权。
# 1. 配置凭证(交互式向导——一次性设置)
npx @keygraph/shannon setup
# 或者直接导出环境变量
export ANTHROPIC_API_KEY=your-api-key
# 2. 运行渗透测试
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo
Shannon 将从 Docker Hub 拉取 worker 镜像,启动基础设施,并为扫描启动一个临时 worker 容器。
克隆并构建
如果你希望从本地克隆运行 Shannon、修改 Shannon 本身,或本地构建 worker 镜像,请使用此方式。
# 1. 克隆 Shannon
git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
# 2. 配置凭证(选择一种方式)
# 选项 A:创建 .env 文件
cat > .env << 'EOF'
ANTHROPIC_API_KEY=your-api-key
CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
EOF
# 选项 B:导出环境变量
export ANTHROPIC_API_KEY="your-api-key" # 或 CLAUDE_CODE_OAUTH_TOKEN
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000 # 推荐
# 3. 安装依赖并构建
pnpm install
pnpm build
# 4. 运行渗透测试
./shannon start -u https://your-app.com -r /path/to/your-repo
Shannon 将在本地构建 worker 镜像,启动基础设施,并为扫描启动一个临时 worker 容器。
准备你的仓库
Shannon 可以扫描你机器上的任何仓库。使用 -r 传递绝对或相对路径。
示例:
npx @keygraph/shannon start -u https://example.com -r /path/to/repo
克隆并构建对应的命令./shannon start -u https://example.com -r ./relative/path
常用命令
监控进度
npx @keygraph/shannon logs <workspace>
npx @keygraph/shannon status
打开 Temporal Web UI 进行详细监控:
open http://localhost:8233
克隆并构建对应的命令./shannon logs <workspace>
./shannon status
停止 Shannon
npx @keygraph/shannon stop
npx @keygraph/shannon stop --clean
npx @keygraph/shannon uninstall
克隆并构建对应的命令./shannon stop
./shannon stop --clean
使用示例
# 基础渗透测试
npx @keygraph/shannon start -u https://example.com -r /path/to/repo
# 使用配置文件
npx @keygraph/shannon start -u https://example.com -r /path/to/repo -c /path/to/my-config.yaml
# 自定义输出目录
npx @keygraph/shannon start -u https://example.com -r /path/to/repo -o ./my-reports
# 命名工作区
npx @keygraph/shannon start -u https://example.com -r /path/to/repo -w q1-audit
# 列出所有工作区
npx @keygraph/shannon workspaces
克隆并构建对应的命令# 基础渗透测试
./shannon start -u https://example.com -r /path/to/repo
# 使用配置文件
./shannon start -u https://example.com -r /path/to/repo -c /path/to/my-config.yaml
# 自定义输出目录
./shannon start -u https://example.com -r /path/to/repo -o ./my-reports
# 命名工作区
./shannon start -u https://example.com -r /path/to/repo -w q1-audit
# 列出所有工作区
./shannon workspaces
# 重新构建 worker 镜像
./shannon build --no-cache
工作区与恢复
Shannon 支持工作区,允许你恢复中断或失败的任务,而无需重新运行已完成的代理。
工作原理:
- 每次运行都会创建一个工作区(默认自动命名,例如
example-com_shannon-1771007534808) - 工作区存储在
./workspaces/(本地模式)或~/.shannon/workspaces/(npx 模式) - 使用
-w <name>为你的运行指定自定义名称以便于引用 - 要恢复任何运行,通过
-w传递其工作区名称——Shannon 会检测哪些代理已成功完成,并从断点处继续 - 每个代理的进度通过 git 提交进行检查点保存,因此恢复后的运行从干净的、已验证的状态开始
# 使用命名工作区启动
npx @keygraph/shannon start -u https://example.com -r /path/to/repo -w my-audit
# 恢复同一个工作区(跳过已完成的代理)
npx @keygraph/shannon start -u https://example.com -r /path/to/repo -w my-audit
# 从之前的运行中恢复自动命名的工作区
npx @keygraph/shannon start -u https://example.com -r /path/to/repo -w example-com_shannon-1771007534808
# 列出所有工作区及其状态
npx @keygraph/shannon workspaces
克隆并构建对应的命令./shannon start -u https://example.com -r /path/to/repo -w my-audit
./shannon start -u https://example.com -r /path/to/repo -w my-audit
./shannon start -u https://example.com -r /path/to/repo -w example-com_shannon-1771007534808
./shannon workspaces
[!NOTE] 恢复时,
URL必须与原始工作区的 URL 匹配。Shannon 会拒绝不匹配的 URL,以防止跨目标污染。
凭证与配置
凭证优先级
本地模式按以下顺序解析凭证:
- 环境变量 -
export ANTHROPIC_API_KEY=... .env文件 -./.env
npx 模式使用 TOML 而非 .env:
- 环境变量 -
export ANTHROPIC_API_KEY=... ~/.shannon/config.toml- 由npx @keygraph/shannon setup创建
环境变量始终优先,因此你可以在单个会话中覆盖已保存的配置,而无需编辑文件。
配置(可选)
虽然无需配置文件即可运行,但创建配置文件可以启用经过身份验证的测试和自定义分析。使用 -c 传递任何配置文件路径。
创建配置文件
复制并修改示例配置:
cp configs/example-config.yaml ./my-app-config.yaml
基本配置结构
# 描述你的目标环境(可选,最多 500 字符)
description: "Next.js 电商应用,后端 PostgreSQL。本地开发环境——.env 文件包含仅限本地的凭证,不会部署到生产环境。"
# 限制端到端运行的漏洞类别(可选,默认全部五类)
# vuln_classes: [injection, xss, auth, authz, ssrf]
# 跳过利用阶段(可选,默认 "true")
# exploit: "false"
# 自由格式的交战规则(可选)
# rules_of_engagement: |
# - 不要暴力破解密码;每个账号登录尝试限制为 5 次。
# - 每个端点限速每秒少于 5 个请求;遇到 429 时退避 60 秒。
# - 在交付物中使用占位符如 [order_id]——不要使用真实数据值。
authentication:
login_type: form
login_url: "https://your-app.com/login"
credentials:
username: "test@example.com"
password: "yourpassword"
totp_secret: "LB2E2RX7XFHSTGCK" # 可选,用于 2FA
login_flow:
- "在邮箱字段中输入 $username"
- "在密码字段中输入 $password"
- "点击 '登录' 按钮"
success_condition:
type: url_contains
value: "/dashboard"
rules:
# 支持的类型:url_path, subdomain, domain, method, header, parameter, code_path
avoid:
- description: "AI 应避免测试登出功能"
type: url_path
value: "/logout"
# code_path 值为仓库相对路径或 glob(例如 "src/auth.ts", "src/vendor/**")。
# - description: "范围外的供应商库"
# type: code_path
# value: "src/vendor/**"
focus:
- description: "AI 应重点测试 API 端点"
type: url_path
value: "/api"
# 报告代理在组装最终报告时应用的过滤器(可选)。
# report:
# min_severity: low # 丢弃低于此严重性的发现(low | medium | high | critical)
# min_confidence: low # 丢弃低于此置信度的发现(low | medium | high)
# guidance: |
# 丢弃有关缺少安全头部和限速漏洞的发现。
运行:
npx @keygraph/shannon start -u https://example.com -r /path/to/repo -c ./my-app-config.yaml
克隆并构建对应的命令./shannon start -u https://example.com -r /path/to/repo -c ./my-app-config.yaml
用于 2FA 的 TOTP 设置
如果你的应用程序使用双因素身份验证,只需在配置文件中添加 TOTP 密钥。AI 会在测试期间自动生成所需的验证码。
自适应思考(Opus 4.6/4.7)
Claude 决定在 Opus 4.6 和 4.7 上何时以及多深地进行推理。只要层级解析为这些模型之一,默认启用。
- npx 模式 —
npx @keygraph/shannon setup在向导期间提示你。 - 本地模式 — 在
.env中设置CLAUDE_ADAPTIVE_THINKING=false(或导出为环境变量)以禁用。
订阅计划速率限制
Anthropic 订阅计划在滚动 5 小时间隔内重置使用量。默认重试策略(最大退避 30 分钟)会在窗口重置前耗尽重试次数。将此添加到配置中:
pipeline:
retry_preset: subscription # 将最大退避延长至 6 小时,100 次重试
max_concurrent_pipelines: 2 # 一次运行 2 个管道(共 5 个),减少突发 API 使用量
max_concurrent_pipelines 控制同时运行的漏洞管道数量(1-5,默认:5)。较低的值可降低触发速率限制的概率,但会增加总执行时间。
AWS Bedrock
Shannon 也支持 Amazon Bedrock 替代使用 Anthropic API 密钥。
快速设置
运行 npx @keygraph/shannon setup 并选择 AWS Bedrock。向导将提示你输入区域、Bearer 令牌和模型 ID。
或者直接导出环境变量:
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export AWS_BEARER_TOKEN_BEDROCK=your-bearer-token
export ANTHROPIC_SMALL_MODEL=us.anthropic.claude-haiku-4-5-20251001-v1:0
export ANTHROPIC_MEDIUM_MODEL=us.anthropic.claude-sonnet-4-6
export ANTHROPIC_LARGE_MODEL=us.anthropic.claude-opus-4-7
克隆并构建:改为添加至 .envCLAUDE_CODE_USE_BEDROCK=1
AWS_REGION=us-east-1
AWS_BEARER_TOKEN_BEDROCK=your-bearer-token
ANTHROPIC_SMALL_MODEL=us.anthropic.claude-haiku-4-5-20251001-v1:0
ANTHROPIC_MEDIUM_MODEL=us.anthropic.claude-sonnet-4-6
ANTHROPIC_LARGE_MODEL=us.anthropic.claude-opus-4-7
Shannon 使用三个模型层级:小模型(claude-haiku-4-5-20251001)用于摘要,中等模型(claude-sonnet-4-6)用于安全分析,大模型(claude-opus-4-7)用于深度推理。将 ANTHROPIC_SMALL_MODEL、ANTHROPIC_MEDIUM_MODEL 和 ANTHROPIC_LARGE_MODEL 设置为适用于你区域的 Bedrock 模型 ID。
Google Vertex AI
Shannon 也支持 Google Vertex AI 替代使用 Anthropic API 密钥。
在 GCP Console 中创建一个具有 roles/aiplatform.user 角色的服务账号,然后下载 JSON 密钥文件。
快速设置
运行 npx @keygraph/shannon setup 并选择 Google Vertex AI。向导将提示你输入区域、项目 ID、服务账号密钥文件路径和模型 ID。密钥文件会安全地复制到 ~/.shannon/google-sa-key.json。
或者直接导出环境变量:
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your-sa-key.json
export ANTHROPIC_SMALL_MODEL=claude-haiku-4-5@20251001
export ANTHROPIC_MEDIUM_MODEL=claude-sonnet-4-6
export ANTHROPIC_LARGE_MODEL=claude-opus-4-7
克隆并构建:改为添加至 .envCLAUDE_CODE_USE_VERTEX=1
CLOUD_ML_REGION=us-east5
ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
GOOGLE_APPLICATION_CREDENTIALS=./credentials/google-sa-key.json
ANTHROPIC_SMALL_MODEL=claude-haiku-4-5@20251001
ANTHROPIC_MEDIUM_MODEL=claude-sonnet-4-6
ANTHROPIC_LARGE_MODEL=claude-opus-4-7
将 CLOUD_ML_REGION=global 设置为全局端点,或设置为特定区域如 us-east5。某些模型在全局端点可能不可用——请参阅 Vertex AI Model Garden 了解区域可用性。
自定义 Base URL
Shannon 支持通过 ANTHROPIC_BASE_URL 将 SDK 指向任何兼容 Anthropic 的端点。对于需要基于代理路由的用户,推荐的方式是使用配置为暴露 Anthropic 兼容端点的 LLM 代理,例如 LiteLLM。
[!IMPORTANT] 仅官方支持 Claude 模型。 Shannon 的评估、内部测试和代理框架均为 Claude 优化。较小的或替代模型——包括通过代理路由的非 Claude 模型——可能无法可靠地遵循 Shannon 的指令或工具使用约束,且不受官方支持。使用它们风险自负;结果可能不完整、不准确或不稳定。
之前实验性的
claude-code-router集成将在即将发布的版本中移除。如果你当前依赖它,请在升级前迁移到兼容 Anthropic 的代理(如 LiteLLM)。
运行 npx @keygraph/shannon setup 并选择 自定义 Base URL。向导将提示你输入端点 URL、认证令牌,并可选择覆盖默认的模型层级。
或者直接导出环境变量:
export ANTHROPIC_BASE_URL=https://your-proxy.example.com
export ANTHROPIC_AUTH_TOKEN=your-auth-token
# 可选:覆盖模型层级(未设置则使用默认值)
export ANTHROPIC_SMALL_MODEL=claude-haiku-4-5-20251001
export ANTHROPIC_MEDIUM_MODEL=claude-sonnet-4-6
export ANTHROPIC_LARGE_MODEL=claude-opus-4-7
克隆并构建:改为添加至 .envANTHROPIC_BASE_URL=https://your-proxy.example.com
ANTHROPIC_AUTH_TOKEN=your-auth-token
ANTHROPIC_SMALL_MODEL=claude-haiku-4-5-20251001
ANTHROPIC_MEDIUM_MODEL=claude-sonnet-4-6
ANTHROPIC_LARGE_MODEL=claude-opus-4-7
平台特定说明
对于 Windows:
在 Windows 上,Shannon 仅通过 WSL2 支持。原生 Windows(包括 Git Bash)不受支持。
第 1 步:确保 WSL 2
wsl --install
wsl --set-default-version 2
# 检查已安装的发行版
wsl --list --verbose
# 如果没有发行版,安装一个(推荐 Ubuntu 24.04)
wsl --list --online
wsl --install Ubuntu-24.04
# 如果发行版显示 VERSION 1,将其转换为 WSL 2:
wsl --set-version <distro-name> 2
参考 WSL 基本命令。
第 2 步:在 Windows 上安装 Docker Desktop,并在 设置 > 通用 > 使用基于 WSL 2 的引擎 下启用 WSL2 后端。
第 3 步:在 WSL 内运行 Shannon,使用任一流程。
在 WSL 内使用 npx:
npx @keygraph/shannon setup
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo
克隆并构建对应的命令git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
cp .env.example .env # 编辑填入你的 API 密钥
./shannon start -u https://your-app.com -r /path/to/your-repo
要访问 Temporal Web UI,在 WSL 内运行 ip addr 找到你的 WSL IP 地址,然后在 Windows 浏览器中导航到 http://<wsl-ip>:8233。
Windows Defender 可能会将报告中的利用代码标记为误报;请参阅下面的 防病毒误报。
对于 Linux(原生 Docker):
根据你的 Docker 设置,可能需要使用 sudo 运行命令。如果遇到输出文件的权限问题,请确保你的用户有权访问 Docker 套接字。
对于 macOS:
安装 Docker Desktop 后即可开箱使用。
测试本地应用程序:
Docker 容器无法访问主机上的 localhost。请使用 host.docker.internal 代替 localhost:
npx @keygraph/shannon start -u http://host.docker.internal:3000 -r /path/to/repo
克隆并构建对应的命令./shannon start -u http://host.docker.internal:3000 -r /path/to/repo
输出与结果
所有结果均保存到工作区目录:./workspaces/(本地模式)或 ~/.shannon/workspaces/(npx 模式)。运行完成后,使用 -o <path> 将交付物复制到自定义输出目录。
输出结构:
workspaces/{hostname}_{sessionId}/
├── session.json # 指标和会话数据
├── workflow.log # 人类可读的工作流日志
├── agents/ # 每个代理的执行日志
├── prompts/ # 用于可重现性的提示快照
└── deliverables/
└── comprehensive_security_assessment_report.md # 最终的综合安全评估报告
示例报告
来自行业标准易受攻击应用程序的渗透测试报告示例:
OWASP Juice Shop • GitHub
OWASP 维护的一个臭名昭著的不安全 Web 应用程序,旨在测试工具发现各种现代漏洞的能力。
结果:在单个自动运行中,在目标 OWASP 类别中识别出超过 20 个漏洞。
值得注意的发现:
- 通过 SQL 注入绕过身份验证并窃取完整用户数据库
- 通过注册工作流绕过实现权限提升至管理员
- IDOR 漏洞允许访问其他用户的数据和购物车
- SSRF 实现内部网络侦察
c{api}tal API • GitHub
Checkmarx 的一个故意易受攻击的 API,旨在测试工具发现 OWASP API 安全 Top 10 的能力。
结果:识别出约 15 个严重和高严重性漏洞。
值得注意的发现:
- 通过隐藏调试端点中的黑名单绕过实现根级命令注入
- 通过遗留的、未修补的 v1 API 端点绕过身份验证
- 通过用户资料更新功能中的 Mass Assignment 实现权限提升
- XSS 零误报(正确确认了强大的 XSS 防御)