
Compétence d'agent + script pour analyser les projets à la recherche de CVE-2026-111497 (Brotli), évaluer la criticité et suggérer des correctifs
Analyse un projet ou une image de conteneur à la recherche de CVE-2026-111497, un débordement de tampon dans le décodeur Brotli. Il évalue la criticité comme Critique, Élevée ou Moyenne et liste les étapes pour y remédier.
Le dépôt contient deux éléments :
skills/brotli-cve-check/scripts/brotli_check.py) : effectue l'analyse, l'évaluation et la remédiation proprement dites. Il ne nécessite que Python 3.11+ et aucune dépendance, il s'exécute donc aussi en CI.skills/brotli-cve-check/SKILL.md) : un agent IA exécute le script, lit vos fichiers k8s, terraform, compose et le README pour déterminer le niveau d'exposition du système, puis relance le script avec cette exposition./plugin marketplace add Apaonum/brotli-cve-check
/plugin install brotli-cve-check@brotli-cve-check
Pour récupérer les nouvelles versions, exécutez /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
Une fois le skill installé, demandez à votre agent de « vérifier ce projet pour la CVE Brotli ».
Pour exécuter le script directement :
python3 skills/brotli-cve-check/scripts/brotli_check.py <project> \
[--exposure internet|internal|none] \
[--python <venv>/bin/python] \
[--image <image>] \
[--json]
--exposure | Criticité | Délai | Quand |
|---|---|---|---|
internet | Critique | 24 heures | Reçoit des requêtes depuis internet, appelle des API partenaires ou tierces, ou récupère des URL fournies par les utilisateurs |
internal | Élevée | 7 jours | Reçoit des données d'autres systèmes ou partenaires via un réseau interne ou un VPN, ou traite des données personnelles de clients |
none | Moyenne | ≤ 30 jours | Images de build/CI, machines de développement, tâches par lots qui ne lisent que des données internes |
| (omis) | Critique | 24 heures | L'exposition est inconnue, l'outil suppose donc le niveau le plus élevé |
Codes de sortie : 0 propre, 1 vulnérable ou nécessite une vérification, 2 erreur d'analyse.
requirements*.txt, pyproject.toml, poetry.lock, uv.lock, Pipfile.lock : Brotli 1.0.3–1.2.0 (sauf les correctifs rétroportés 1.0.10 et 1.1.1) et brotlicffi < 1.2.1.0Dockerfile : images de base sur Debian unstable (sid), et images de base non épinglées par digest--image : exécute le conteneur et vérifie libbrotli1 avec dpkg --compare-versions (bookworm nécessite ≥ 1.0.9-2+deb12u1, trixie nécessite ≥ 1.1.0-2+deb13u1). Il vérifie également les paquets Python à l'intérieur de l'image, et exécute trivy s'il est installé. Nécessite docker.--python : vérifie les paquets réellement installés dans cet interpréteur- run: python3 skills/brotli-cve-check/scripts/brotli_check.py . --exposure internet --json
python3 skills/brotli-cve-check/scripts/test_brotli_check.py
--image indique la version installée et la marque « verify ». Comparez cette version avec le suivi de sécurité propre à la distribution.--image, le résultat est « needs verification », car l'analyse ne voit jamais la bibliothèque de l'OS à l'intérieur de l'image.MIT