发现 AI 代理的未来arrow_forward

Shannon

calendar_today收录于 2026年1月27日
category智能体与应用工具
code开源
TypeScript工作流自动化DockerAI代理智能体与应用工具开发者工具/代码安全/隐私

全自主 AI 渗透测试工具,结合源码分析与动态攻击验证,执行真实漏洞利用并生成安全报告,采用"No Exploit, No Report"策略消除误报。

核心定位#

Shannon 由 Keygraph 开发,定位为 Fully autonomous AI pentester(全自主 AI 渗透测试器)。与传统 DAST 工具或仅提供修复建议的代码审计工具不同,Shannon 强调 "No Exploit, No Report" 策略——必须成功利用漏洞才会将其纳入报告,以此消除误报。

核心能力#

完全自主运行#

  • 单命令启动渗透测试,自动处理高级 2FA/TOTP 登录(包括 Google Sign In)
  • 自动浏览器导航、命令行工具调用
  • 生成最终 Markdown 格式安全评估报告

混合测试模式#

  • 白盒分析:源码静态分析
  • 黑盒验证:动态 HTTP/浏览器交互攻击验证

并行 Agent 架构#

在漏洞分析与利用阶段启动 5 个并发专用 Agent:

  • Injection Agent (SQLi, Command Injection, Code Injection, SSTI)
  • XSS Agent (Reflected, Stored, DOM-based)
  • Auth Agent (Broken Authentication, JWT attacks, OAuth weaknesses)
  • AuthZ Agent (Authorization Bypass, IDOR)
  • SSRF Agent (Server-Side Request Forgery)

支持的漏洞类型#

类别具体类型
注入类SQL Injection, Command Injection, Code Injection, SSTI
跨站脚本Reflected XSS, Stored XSS, DOM-based XSS
服务端请求伪造SSRF
认证与授权Broken Authentication, Authorization Bypass, IDOR, JWT attacks, OAuth weaknesses
会话管理CSRF, Session Fixation, Session Timeout

基准测试与实战成绩#

  • XBOW Benchmark: 96.15% 成功率
  • OWASP Juice Shop: 识别 20+ 高危漏洞,包括完整 Auth Bypass、数据库泄露、IDOR、SSRF
  • c{api}tal API: 近 15 个 critical/high 漏洞,root 级 Injection、Auth Bypass、Mass Assignment 提权
  • OWASP crAPI: 15+ critical/high 漏洞,JWT 攻击、PostgreSQL 凭据泄露、SSRF 窃取内部 Token

五阶段流水线架构#

Phase 1: Pre-Recon (外部扫描 Nmap/Subfinder/WhatWeb + 源码分析)
         ↓
Phase 2: Recon (攻击面映射)
         ↓
Phase 3: Vulnerability Analysis (5 并行 Agent)
         ↓
Phase 4: Exploitation (5 并行 Agent,条件执行)
         ↓
Phase 5: Reporting (最终安全报告)

核心模块#

模块说明
src/session-manager.tsAgent 定义注册表 (AGENTS)
src/ai/claude-executor.tsClaude Agent SDK 集成,含重试逻辑
src/temporal/workflows.ts主工作流 pentestPipelineWorkflow
src/temporal/activities.tsActivity 包装层,委托至 src/services/
src/services/业务逻辑层,含 agent-execution.ts, error-handling.ts, container.ts
src/config-parser.tsYAML 配置解析 + JSON Schema 验证

关键设计模式#

  • 配置驱动: YAML + JSON Schema 验证
  • SDK-First: 依托 @anthropic-ai/claude-agent-sdkmaxTurns: 10_000, bypassPermissions 模式
  • 服务边界分离: Activity 仅作 Temporal 包装;业务逻辑在 src/services/
  • DI 容器: 每工作流实例化 (src/services/container.ts)
  • 模块化错误处理: ErrorCode 枚举 + Result<T,E> 显式错误传播,自动重试(每 Agent 3 次)

快速启动#

前置条件#

  • Docker(容器运行时)
  • AI Provider 凭证:Anthropic API Key(推荐)或 Claude Code OAuth Token

启动步骤#

# 1. 克隆仓库
git clone https://github.com/KeygraphHQ/shannon.git
cd shannon

# 2. 配置凭证
export ANTHROPIC_API_KEY="your-api-key"
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000

# 3. 准备目标仓库(放入 ./repos/ 目录)
git clone https://github.com/your-org/your-repo.git ./repos/your-repo

# 4. 启动测试
./shannon start URL=https://your-app.com REPO=your-repo

CLI 命令#

# 基本运行
./shannon start URL=https://example.com REPO=repo-name

# 指定配置文件
./shannon start URL=https://example.com REPO=repo-name CONFIG=./configs/my-config.yaml

# 自定义输出目录
./shannon start URL=https://example.com REPO=repo-name OUTPUT=./my-reports

# 命名工作区
./shannon start URL=https://example.com REPO=repo-name WORKSPACE=my-audit

# 查看工作区列表
./shannon workspaces

# 监控日志
./shannon logs
./shannon query ID=shannon-1234567890

# 停止
./shannon stop
./shannon stop CLEAN=true  # 完全清理

配置文件示例#

authentication:
  login_type: form
  login_url: "https://your-app.com/login"
  credentials:
    username: "test@example.com"
    password: "yourpassword"
    totp_secret: "LB2E2RX7XFHSTGCK"  # 可选,用于 2FA
  login_flow:
    - "Type $username into the email field"
    - "Type $password into the password field"
    - "Click the 'Sign In' button"
  success_condition:
    type: url_contains
    value: "/dashboard"

rules:
  avoid:
    - description: "AI should avoid testing logout functionality"
      type: path
      url_path: "/logout"
  focus:
    - description: "AI should emphasize testing API endpoints"
      type: path
      url_path: "/api"

输出结构#

audit-logs/{hostname}_{sessionId}/
├── session.json          # 指标与会话数据
├── agents/               # Per-agent 执行日志
├── prompts/              # 提示词快照(可复现)
└── deliverables/
    └── comprehensive_security_assessment_report.md

重要免责声明#

  1. 不要在生产环境运行 — 仅用于沙箱/开发/测试环境
  2. 需获得明确授权 — 未经授权扫描他人系统违法
  3. 人工复核必需 — LLM 可能产生幻觉内容
  4. 成本预估 — 完整测试约 1-1.5 小时,使用 Claude 4.5 Sonnet 约 $50 USD
  5. 白盒模式 — Shannon Lite 需要访问目标源码

版本说明#

  • Shannon Lite: 开源版本,AGPL-3.0 协议,需要目标源码访问权限
  • Shannon Pro: 商业版本,联系 shannon@keygraph.io 获取详情

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch