What problem does it solve?
It helps you detect missing zeroization of secrets and cases where secure wiping is weakened or removed by compiler optimizations, so sensitive data is not left lingering in memory.
Core Features & Use Cases
- Source-level audit: Finds absent or partial zeroization, missing cleanup on some paths, and insecure heap allocation patterns for C/C++ and Rust.
- Compiler-level evidence: Detects when wipes disappear after optimization using mandatory IR/assembly evidence, including control-flow dominance checks and semantic IR checks.
- PoC-backed validation: Generates and validates proof-of-concept programs and produces a structured final report (human-readable markdown plus machine-readable JSON).
- Use cases: Auditing cryptographic code, authentication/password handling flows, and security-critical cleanup logic across C/C++ and Rust.
Quick Start
Use the zeroize-audit skill to audit your repository for missing or optimized-away zeroization by providing your repo path along with the required C/C++ compile database or the Rust Cargo manifest.