这个项目能做什么

Shannon 是由 Keygraph 开发的自主 AI 渗透测试代理,专为 Web 应用及其底层 API 设计。其核心原则是“无利用,不报告”:只有当 Shannon 能够在运行的应用程序上通过有效的概念验证演示出问题时,该问题才会被记录为发现。 工作原理 - 探索与漏洞分析会探索实时应用程序,将运行时行为与源代码关联起来,并在注入、XSS、SSRF、身份验证和授权等特定领域运行专门的代理。 - 智能安全代码分析会映射架构、信任边界、暴露接口、依赖关系、数据流和高风险资产,然后开启有针对性的调查。 - 发现合并与去重将候选结果流整合并去重,形成漏洞利用队列。 - 漏洞利用代理尝试真实的 PoC 攻击;未被证明的问题将被丢弃。 - 报告功能生成 PDF 和 Markdown 格式的报告,附带证据,同时提供结构化的 JSON 和 SARIF 2.1.0(默认用于漏洞利用模式扫描)格式,供下游工具和 CI/CD 网关使用。 运行方式 - 先决条件:需要 Docker 运行工作容器、Node.js 18+ 用于推荐的 npx 工作流程,以及你自己的 AI 提供商凭证。 - 启动命令为 `npx @keygraph/shannon@latest setup`,然后运行 `npx @keygraph/shannon@latest start -u https://your-app.com -r /path/to/your/repo`。 - 目标仓库以只读方式挂载在一个临时 Docker 容器中,具有隔离的工作区;结果写入本地工作区,中断的扫描可以恢复。 配置与覆盖范围 - 支持认证测试、登录流程、TOTP 和电子邮件认证、关注区域及交战规则。 - 覆盖 OWASP 关注的可利用注入、XSS、SSRF、身份验证失效和授权失效。 - 与提供商无关且支持自定义密钥(BYOK):内置 Anthropic、OpenAI、xAI 和 AWS Bedrock,其他 harness-catalogue 提供商也兼容,自定义基础 URL 支持代理或 LLM 网关,本地模型可通过 Ollama、vLLM 或 LM Studio 提供服务。 - 存在官方集成的 GitHub Actions 和 GitLab CI/CD,保留报告和日志,支持 PR、发布和计划渗透测试,并可在漏洞利用发现达到设定严重性阈值时使流水线失败。仅状态为 `exploited` 的发现才计入严重性门控。 版本与注意事项 开源版本面向个人开发者和小型团队进行本地或 CI 驱动的测试,而商业版 Keygraph Enterprise 平台则提供全面的智能 SAST、持续渗透测试和全生命周期漏洞管理。 Shannon 不是一个被动扫描器:其漏洞利用代理可以创建用户、提交表单、修改应用状态并触发外发请求。它应仅用于你拥有或明确授权测试的系统,并建议在沙箱、预发或本地环境中使用,数据可丢弃。已知限制包括需人工审查 LLM 生成的发现、完整运行大约耗时一到一个半小时、可能产生 LLM API 费用、模型能力差异以及指向不受信任代码库时存在提示注入风险。其许可证为 GNU AGPL v3.0,商业许可可单独获取。