扫描项目或容器镜像,以检测 CVE-2026-111497,即 Brotli 解码器中的缓冲区溢出漏洞。该工具将严重程度评定为 Critical(严重)、High(高)或 Medium(中),并列出修复步骤。
该仓库包含两个部分:
skills/brotli-cve-check/scripts/brotli_check.py):执行实际的扫描、评级和修复。它仅需 Python 3.11+,无任何依赖,因此也可在 CI 中运行。skills/brotli-cve-check/SKILL.md):由 AI 代理运行脚本,读取你的 k8s、terraform、compose 文件和 README,以判断系统的暴露程度,然后带着该暴露程度再次运行脚本。/plugin marketplace add Apaonum/brotli-cve-check
/plugin install brotli-cve-check@brotli-cve-check
要获取新版本,请运行 /plugin marketplace update brotli-cve-check。
npx skills add Apaonum/brotli-cve-check
git clone https://github.com/Apaonum/brotli-cve-check
ln -s "$PWD/brotli-cve-check/skills/brotli-cve-check" ~/.claude/skills/brotli-cve-check
安装技能后,让你的代理“检查此项目是否存在 Brotli CVE”。
直接运行脚本:
python3 skills/brotli-cve-check/scripts/brotli_check.py <project> \
[--exposure internet|internal|none] \
[--python <venv>/bin/python] \
[--image <image>] \
[--json]
--exposure | 严重程度 | 期限 | 适用场景 |
|---|---|---|---|
internet | Critical | 24 小时 | 接收来自互联网的请求、调用合作伙伴或第三方 API,或获取用户提供的 URL |
internal | High | 7 天 | 通过内部网络或 VPN 从其他系统或合作伙伴接收数据,或处理客户个人数据 |
none | Medium | ≤ 30 天 | 构建/CI 镜像、开发机器、仅读取内部数据的批处理任务 |
| (省略) | Critical | 24 小时 | 暴露程度未知,因此工具假定为更高级别 |
退出码:0 表示无问题,1 表示存在漏洞或需要验证,2 表示扫描错误。
requirements*.txt、pyproject.toml、poetry.lock、uv.lock、Pipfile.lock:Brotli 1.0.3–1.2.0(不包括向后移植的修复版本 1.0.10 和 1.1.1)以及 brotlicffi < 1.2.1.0Dockerfile:基于 Debian unstable(sid)的基础镜像,以及未通过摘要固定的基础镜像--image:运行容器并使用 dpkg --compare-versions 检查 libbrotli1(bookworm 需要 ≥ 1.0.9-2+deb12u1,trixie 需要 ≥ 1.1.0-2+deb13u1)。它还会检查镜像内的 Python 包,并在安装了 trivy 时运行它。需要 docker。--python:检查该解释器中实际安装的包- run: python3 skills/brotli-cve-check/scripts/brotli_check.py . --exposure internet --json
python3 skills/brotli-cve-check/scripts/test_brotli_check.py
--image 会报告已安装的版本并将其标记为“verify”(验证)。请将该版本与该发行版自身的安全跟踪器进行比对。--image 时,结果为“needs verification”(需要验证),因为扫描永远不会看到镜像内的操作系统库。MIT