|
Download integrations/claude-code/README.md from AProver/aprover: direct link, hf CLI and curl.
- Browser
- Download file 1.68 kB
-
https://huggingface.co/spaces/AProver/aprover/resolve/main/integrations/claude-code/README.md
- Command line
-
hf download hf://spaces/AProver/aprover/integrations/claude-code/README.md
-
curl -L -o README.md https://huggingface.co/spaces/AProver/aprover/resolve/main/integrations/claude-code/README.md
1.68 kB
bmc-agent for Claude Code
Verify C code for memory-safety (and overflow / reachability) bugs from inside a
Claude Code session, using CBMC-backed bounded model checking. Claude Code calls
the bmc_verify tool on the function/file you're working on, gets structured
findings (counterexamples, confidence, advisory triage), and helps you fix them.
What you get
- MCP tool
bmc_verify(file, function, goal)βgoal:memsafety(default, low false-alarm),overflow,reach, orall. - Slash command
/verifyβ e.g./verify http.c parse_header. - Optional auto-verify hook β nudges a verify after Claude Code edits a
.cfile.
Requirements
- CBMC on PATH β
apt install cbmc(Linux) orbrew install cbmc(macOS). - The
claudeCLI logged in βclaude /login. bmc-agent runs its internal spec-gen/triage LLM through your Claude subscription (no separate API key, flat-rate). The MCP server stripsANTHROPIC_API_KEYfrom its child env so the subscription is used, and pins a subscription-served model. - Python deps:
pip install mcp, and bmc-agent's own requirements.
Install
Add the plugin (or point Claude Code's MCP config at bmc_mcp_server.py). The
bundled .mcp.json registers the bmc-agent server; BMC_AGENT_ROOT points at
the bmc-agent checkout.
Notes
- Do not run the MCP server under a
ulimit -vcap β theclaudeCLI (Node) needs unbounded virtual memory. - The solver verdict is ground truth;
triageis advisory.memsafetydoes not check integer overflow β usegoal=overflow/allfor that. - Large files: raise
BMC_AGENT_VERIFY_TIMEOUT(default 600s).