开源 Web 安全测试平台:集代理、扫描器和模糊测试器于一体的 CLI 工具。由 Pennacle Security 开发。
一个用于 Web 安全测试的可脚本化 CLI:扫描器、TLS 拦截代理、模糊测试器、授权测试、WAF 分析、链接劫持检测、竞态条件、定时监控与侦察。
覆盖 11 个类别共 58+ 项检查、37 个内置 YAML 模板、Intruder 风格载荷模糊测试,以及无需流量的攻击面地图。在同类工具收费之处保持免费——由 Pennacle Security 打造。
我们每天都在用 Burp 和 ZAP。我们也一直想要三样它们不具备的东西:一个可以在 CI 中编写脚本调用的扫描器、能告诉我们结论有多确定的发现,以及一个小到能一口气读完的代码库。Summit 现在拥有覆盖 11 个类别的 58+ 项检查、一条命令即可生成的攻击面地图、兼容 Intruder 文件格式的载荷模糊测试,以及一个用自行生成的 CA 解密 HTTPS 的代理。Summit 就是这样的工具——v2.1.0,MIT 许可,公开构建。三个核心依赖(requests、pyyaml、packaging)外加一个可选依赖(cryptography,仅用于 TLS 拦截),全部为 FLOSS,全部为标准库。
完整文档: pennacle-security.github.io/summit
通常需要付费工具才能获得的能力,外加扫描核心:
| 能力 | Summit | 常规途径 |
|---|---|---|
| 失效的访问控制测试(BOLA/IDOR) | summit authorize | Autorize 风格插件 / 付费工作流 |
| 隐藏参数发现 | summit mine | Param Miner 风格插件 |
| OpenAPI 驱动扫描 | summit scan --openapi | 插件 |
| WAF 指纹识别 + 绕过探测 | 内置 | 部分支持 / 插件 |
| 攻击面测绘 | summit map | 插件 / 付费工作流 |
| SQLi、XSS、重定向、路径遍历、子域接管、主机头、CORS | 内置 | 核心扫描器(免费) |
| 侦察链:subfinder -> httpx -> nmap | summit recon | 手动拼接 |
| 竞态条件检测 | summit race | Burp Turbo Intruder(付费) |
| Intruder 风格载荷模糊测试 | summit fuzz --request | 付费(Intruder) |
| TLS 拦截代理 | summit proxy --tls-intercept | 付费核心功能 |
| 带每轮差异对比的定时扫描 | summit schedule | cron + 拼接脚本 |
| TLS 证书审计 | summit tls | 手动 / sslscan |
| 速率限制、重试、JWT/编码器工具包 | 内置 | 插件 / 付费 |
| 可接入 CI、带置信度标签、带 CWE/CVE 标记的发现结果 | 核心目标 | 付费自动化 |
| SARIF + JUnit XML 输出 | 内置 | 付费报告 |
| 预编译二进制文件(linux/amd64、arm64、windows) | 每次发布 | 不适用 |
每条发现结果都带有置信度标签——confirmed(已观察到的事实)、likely(强证据)、needs-manual(供人工核查的启发式判断)或 info——并且该标签会限制严重性上限,因此猜测永远无法伪装成严重问题。这一区分贯穿整个工具。
git clone https://github.com/pennacle-security/summit.git
cd summit
pip install -e .
Python 3.10+。依赖项:requests、pyyaml、packaging——全部为 FLOSS,全部为标准库。
从 PyPI 安装:
pip install summit-scanner
或从源码:
git clone https://github.com/pennacle-security/summit.git
cd summit
pip install -e .
预编译二进制文件可在每个 release 中获取:
summit-linux-amd64 - Linux x86_64(Ubuntu 20.04+、Debian 11+、RHEL 8+)summit-linux-arm64 - Linux ARM64(AWS Graviton、Raspberry Pi 4+、Apple Silicon)summit-windows-amd64.exe - Windows 10+ / Windows Server 2019+二进制文件无需安装 Python。
然后观察它针对一个故意存在漏洞的本地目标运行:
python examples/vuln_app.py # terminal 1 - the target (127.0.0.1 only)
summit map http://127.0.0.1:8765 # attack-surface map, no attack traffic
summit scan http://127.0.0.1:8765 # terminal 2 - the scan
对真实项目进行更全面的处理如下所示:
summit recon target.com --json recon.json # subdomains -> hosts -> ports
summit scan https://target.com --depth 2 --rate 10 # crawl + all checks
summit scan --openapi api-spec.json # API: scan what the spec admits to
summit authorize https://target.com/admin?user=1 \
--role 'admin=Cookie: session=abc' \
--role 'user=Cookie: session=xyz' # BOLA/IDOR testing
本页面上的每一项声明都由 examples/evidence.py 复现——它实时运行演示目标,测量每项功能,并打印带有真实数字的 PASS/FAIL。CI 在每次推送时都会执行它;一旦某项声明不再成立,构建就会失败。
python examples/evidence.py)