
Навык агента + скрипт для сканирования проектов на наличие CVE-2026-111497 (Brotli), оценки критичности и предложения исправлений
Сканирует проект или образ контейнера на наличие 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) и базовые образы, не закреплённые по digest--image: запускает контейнер и проверяет libbrotli1 с помощью dpkg --compare-versions (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