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
Skill

Extended access

Why this level

  • The skill runs scanner scripts and reads project and container image files; it does not execute application code.
All reasons and checks

trailofbits/brotli-checker

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/brotli-checker

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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.

Skills

A security scanner for agent skills: finds prompt injection, data exfiltration and malicious code before you install

CLIExtended access2.7KRepository stars

Trail of Bits skills

Trail of Bits Skills Marketplace

Editors’ pick

Trail of Bits plugin marketplace for security work: smart contracts, C/C++ and Rust review, Semgrep, CodeQL and fuzzing

PluginExtended access8.2KRepository stars

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

SkillMinimal access440Repository stars

A scanner for skill directories: rules find obvious signs and an AI analyst in a read-only filesystem catches disguised chains.

CLIExtended access50Repository stars
Editors’ pick

Security scanner for agent skills and MCP servers: finds prompt injection, data exfiltration and supply chain risks before install

CLIExtended access25.8KRepository stars

A Claude Code skill that finds vulnerabilities in one session: threat model, verified findings, CWE and CVSS report.

SkillExtended access51Repository stars

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

Report a problem