C Review
Comprehensive C/C++ security code review, with coverage verified against a parse of the source
- Type
- Plugin
- Repository
- trailofbits/skills
- GitHub stars
- 7.3k
- License
- CC-BY-SA-4.0
- Repo last updated
- Sep 25, 2026
- Source file
- plugins/c-review/.claude-plugin/plugin.json
- Version
- 2.0.3
- Author
- Paweł Płatek
What C Review is
C Review is a plugin published in the trailofbits/skills repository on GitHub, which has about 7.3k stars. The repository describes itself as: “Trail of Bits Claude Code skills for security research, vulnerability detection, and audit workflows”
A plugin is a package that bundles skills, slash commands, subagents, hooks, and MCP connectors so they install together. Plugins are plain files with a manifest at .claude-plugin/plugin.json, and they work in both Claude Code and Claude Cowork.
Installing C Review adds everything it ships in one step. Connectors inside a plugin still need to be connected separately, and hooks and subagents only run in Cowork and Claude Code, not in regular chat.
How to install C Review
Claude Code
- Add the repository as a plugin marketplace: claude plugin marketplace add trailofbits/skills
- Install the plugin: claude plugin install c-review@<marketplace-name>, using the marketplace name from the repository's .claude-plugin/marketplace.json.
- Restart the session if the new skills or commands don't appear straight away.
Claude Cowork
- Open Customize → Plugins and choose Add marketplace.
- Enter trailofbits/skills (the owner/repo shorthand works for GitHub).
- Find C Review in the list, click Install, then connect any connectors it needs from its Connectors tab.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/c-review/.claude-plugin/plugin.json, shared under the repository's CC-BY-SA-4.0 license. Read the full file on GitHub.
C/C++ security code review. Bug-class knowledge based on the Trail of Bits Testing Handbook.
Invoke with /c-review:c-review. Artifacts land in $(pwd)/.c-review-results/ /.
uv must be on PATH — two phases run Python through it.
How it works
Most review tools split the work by bug type: one agent hunts buffer overflows, another hunts use-after-free, and so on. c-review splits it by place in the source instead.
A parser first cuts the codebase into units — one function, or a slice of a long function, capped at 150 lines. Every line of the tree lands in exactly one unit, and each unit belongs to exactly one agent. That is the coverage claim: not "the agents said they read it", but "a parser assigned it and we can check".
Then each agent works through its units by asking the same fixed set of ten questions of every one:
> bounds at every write · integer width and signedness · allocation/free pairing · > sizeof arithmetic · NUL termination · unchecked return values · what the unit assumes > of its caller · banned APIs · macro contracts · initialisation
A question is only asked where the parser found something for it to be about — no writes in the function, no bounds question. And crucially, the parser counts the relevant spots (the twelve writes, the four malloc calls) and tells the agent the number but not the line numbers. The agent has to read the code to find them.
For each question the agent writes down what it found — the lines it examined and what was at them, whether or not it filed a bug. Those written answers are the coverage record (called the ledger in the code and artifacts). At the end, check_ledger.py re-derives the spots from the source and checks the agent's answers against them. An agent that skipped a function, or claimed "no bugs here" over twelve writes while naming none, fails that check and the run is reported as assembled but unverified.
Two things this buys, both of which a plain "review this code" prompt gives up:
- A bug found does not end the question. A finding is a reason to look harder in that function, not to move on — the record still owes an account of the other eleven writes.
- Coverage is a number you can check, reported as checks satisfied / checks required rather than "functions touched". A function can be touched by every agent while most of its questions go unanswered.
The bug-type catalogue — 56 classes in 18 groups — still exists, in two roles. Review agents get the class names so they can label what they find. Then a sweep phase takes the classes that got no finding anywhere — minus the ones the platform gate, the threat model or Detect's candidate-site check already removed — and sends one agent to look for them across the whole tree, which catches the scattered single-site slips a reader working through a region in order tends to walk past.
Pipeline
/c-review:c-review
└── SKILL.md collect parameters, resolve paths, one Workflow call
└── workflows/c-review.js
├── 1. Detect 1 agent
├── 2. Review 4-14 agents
├── 3. Sweep 0-2 agents
├── 4. Dedup 0-1 agent
└── 5. Assemble 1 agent Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is C Review?
C Review is a plugin for Claude Code and Claude Cowork from the trailofbits/skills repository on GitHub. Comprehensive C/C++ security code review, with coverage verified against a parse of the source
How do I install C Review in Claude Code?
Add the repository as a plugin marketplace: claude plugin marketplace add trailofbits/skills Install the plugin: claude plugin install c-review@<marketplace-name>, using the marketplace name from the repository's .claude-plugin/marketplace.json. Restart the session if the new skills or commands don't appear straight away.
Can I use C Review in Claude Cowork?
Open Customize → Plugins and choose Add marketplace. Enter trailofbits/skills (the owner/repo shorthand works for GitHub). Find C Review in the list, click Install, then connect any connectors it needs from its Connectors tab.
Is C Review safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Differential Review Security-focused differential review of code changes with git history analysis and blast radius estimation Plugin · trailofbits/skills
- Dimension Annotator Adds dimensional annotations to source code at anchor points using Reserve Protocol's format Subagent · trailofbits/skills
- Data Flow Analyzer Analyzes data flow from source to vulnerability sink, mapping trust boundaries, API contracts, environment protections, and cross-references. Spawned by fp-check during Phase 1 verification. Subagent · trailofbits/skills
- Dimension Propagator Propagates dimensional annotations through arithmetic and call chains, reporting mismatches found during propagation Subagent · trailofbits/skills
- Claude In Chrome Troubleshooting Diagnose and fix Claude in Chrome MCP extension connectivity issues Plugin · trailofbits/skills
- Burpsuite Project Parser Search and extract data from Burp Suite project files (.burp) for security analysis Plugin · trailofbits/skills
- Constant Time Analysis Detect compiler-induced timing side-channels in cryptographic code Plugin · trailofbits/skills
- Building Secure Contracts Comprehensive smart contract security toolkit based on Trail of Bits' Building Secure Contracts framework. Includes vulnerability scanners for 6 blockchains and 5 development guideline assistants. Plugin · trailofbits/skills