Brotli Checker skill
A skill that finds Brotli decoder copies hit by CVE-2026-111497 in projects and container images and says what to update.
- 70 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The skill runs scanner scripts and reads project and container image files; it does not execute application code.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/brotli-checkerDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The skill runs scanner scripts and reads project and container image files; it does not execute application code.
This is third-party code. Review the repository files before installing.
What it does
Brotli Checker works out whether an app needs an update because of CVE-2026-111497 in the Brotli decoder. The skill scans source, dependencies, app packages and unpacked container filesystems, matches fingerprints of source and supported ELF code, checks which copies the app actually uses and explains what to update or review. Each copy gets its own verdict: fixing one copy does not clear the others. The skill also recognises decoder tables in stripped or LTO binaries. A table match only points to a copy to review and does not establish patch status. For source review Trailmark maps calls to the decoder and fetch APIs, and the agent checks whether those links apply in the running app. The scanner can also run alone, without an agent, on the Python standard library.
Who it is for. Developers and security engineers who need to find out quickly whether a project is hit by CVE-2026-111497 in Brotli.
Good fit when
- A Brotli advisory was published and you need to know whether the project holds a vulnerable copy.
- An Electron app or a container may carry embedded decoder copies.
- You need a separate verdict for each copy found, saying what to update.
- You only have a site address: the skill explains what is missing and prepares a request for the hosting provider.
Not a fit when
- You want a check for other vulnerabilities: the skill rules are built for CVE-2026-111497.
- An empty scan result is meant to prove safety: the skill does not draw that conclusion.
- You want to read patch status from a site's HTTP headers: the headers do not show it.
Example request
Use brotli-checker to check this project and tell me whether I need to update anything.Limitations
The rules rest on the advisory of 2026-10-23: check current versions and backports against vendor guidance. Trailmark source discovery needs Python 3.12–3.15 and `uv`, while the standalone scanner uses only the standard library. Binary review covers ELF builds for x86, x86-64, ARM, AArch64, RISC-V64, PowerPC64 LE, s390x, MIPS and LoongArch64 and depends on compiler and build flags. Unsupported formats and skipped files appear as coverage gaps.
How to disable. Delete the `brotli-checker` folder from `~/.claude/skills/` or `~/.codex/skills/`. A repository clone used for running the scanner standalone can be removed.
FAQ
How do I install Brotli Checker?
Ask Claude Code or Codex to install the skill from the README link, or copy the `skills/brotli-checker` folder into `~/.claude/skills/` or `~/.codex/skills/` and start a new session.
Can the scanner run without an agent?
Yes. Clone the repository and run `python3 skills/brotli-checker/scripts/brotli_inventory.py /path/to/application`. The `--json` flag prints per-copy data.
Does the skill execute application code?
No. The scanner reads files without running application code or sending network probes.
What if the result is empty?
Treat it as partial evidence: an empty scan does not prove the app is safe, and the coverage gaps list shows what stayed unchecked.
Which agents are supported?
The skill is documented for Claude Code and Codex: the folder goes to `~/.claude/skills/` or `~/.codex/skills/`.
Discussion
No questions or reviews yet.
Related
SkillsA security scanner for agent skills: finds prompt injection, data exfiltration and malicious code before you install
Trail of Bits skills
Trail of Bits Skills Marketplace
Trail of Bits plugin marketplace for security work: smart contracts, C/C++ and Rust review, Semgrep, CodeQL and fuzzing
A skill for reviewing code for vulnerabilities against OWASP Top 10:2025, ASVS 5.0 and the 2026 lists for LLM and AI agent security
A scanner for skill directories: rules find obvious signs and an AI analyst in a read-only filesystem catches disguised chains.
Security scanner for agent skills and MCP servers: finds prompt injection, data exfiltration and supply chain risks before install
A Claude Code skill that finds vulnerabilities in one session: threat model, verified findings, CWE and CVSS report.
README in short
A Trail of Bits skill for Claude Code and Codex under the MIT licence. It ships scanner scripts, an advisory reference, fingerprints and reachability guides for Node, Electron, Java, fonts and TLS.
README badge
Original SKILL.md
--- name: brotli-checker description: Check whether an app or project needs a Brotli security update for CVE-2026-111497, explain the result in plain language, and give practical next steps. Find bundled copies and investigate whether the running app uses them. --- # Check whether an app needs a Brotli update Help someone who is not a security expert answer: "Does my app need an update, and what should I do next?" They should be able to say "check this project" or give a website address without knowing library versions, build details, or the CVE number. Gather technical evidence yourself; translate it into a short, actionable answer. Assess CVE-2026-111497 for the requested source tree, application, or deployment. Finding vulnerable source establishes source containment. Build selection, shipment, attacker-controlled input reaching that decoder, and exploitability are separate conclusions. Keep a result for each copy; one fixed copy cannot clear other copies. ## Gather evidence For "this project", start with the current project folder and discover its application, dependencies, and deployment files. Use the supplied folder or server access when available. Collect versions and package information with trusted, read-only inspection tools; do not run application code or scripts from the target. Do not make the user supply technical facts you can inspect. Identify the target revision, build/platform, deployed artifact or container digest, and the installation actually serving the application when available. If only a URL is supplied, explain that headers and Brotli response support cannot identify the decoder or its patch status. Say "I can't confirm this from the website address alone" and give a short message the user can send to their hosting provider asking it to check and update the app's Brotli decoder. If the conversation already provides local/server access, use it. Ask only for missing access or a target that cannot be inferred. Do not send malformed streams or exploit probes. From this skill's directory, run the offline inventory helper (Python 3.12–3.15). Use JSON internally for the evidence; the default text output is for people: ```sh python3 scripts/brotli_inventory.py /absolute/target --json ``` It reads files and bounded ZIP/JAR/WAR/wheel, TAR, gzip, bzip2, and XZ containers