zeroize-audit

Audit C/C++/Rust codebases for missing zeroization and compiler-removed wipe routines.

Updated Feb 24, 2026
One-click install
npx skills add https://github.com/ofelixdev/cc-kit --skill zeroize-audit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zeroize-audit
Source: https://github.com/ofelixdev/cc-kit/tree/main/template/skills/zeroize-audit
Command: npx skills add https://github.com/ofelixdev/cc-kit --skill zeroize-audit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pypdf, pdfplumber, pdf2image, and includes scripts (resource) and references (resource) and schemas (resource) components.

What problem does it solve?

This Skill automatically audits C/C++/Rust codebases to detect vulnerabilities related to sensitive data handling, specifically focusing on missing zeroization of secrets in memory and compiler optimizations that might remove security measures.

Core Features & Use Cases

  • Comprehensive Analysis: Detects missing zeroization in source code, identifies secrets copied insecurely, and flags sensitive data retained on the stack or in registers.
  • Compiler Optimization Auditing: Analyzes LLVM IR and assembly to find zeroization routines eliminated by compiler optimizations like Dead Store Elimination (DSE) or loop unrolling.
  • Rust-Specific Checks: Includes MIR and LLVM IR analysis tailored for Rust's memory management and zeroization patterns.
  • Use Case: A security engineer can use this Skill to scan a cryptographic library or a system handling PII to ensure secrets like API keys, passwords, and encryption keys are properly wiped from memory before they can be leaked.

Quick Start

Use the zeroize-audit skill to audit the current project's C/C++/Rust code for secret memory vulnerabilities.

Frequently Asked Questions about zeroize-audit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect missing zeroization of secrets in C/C++ and Rust code?

To detect missing zeroization of secrets in C/C++ and Rust code, you can audit the codebase to identify sensitive data retained on the stack or in registers, and find secrets copied insecurely. This process scans source code for vulnerabilities related to memory safety.

Why does the compiler remove my memory zeroization routines?

Compiler optimizations like Dead Store Elimination (DSE) or loop unrolling often remove memory zeroization routines because they view wiping unused variables as unnecessary operations. Analyzing LLVM IR and assembly reveals when these security measures are eliminated during the build process.

How do I audit LLVM IR and assembly for dead store elimination of wipe routines?

You audit LLVM IR and assembly for dead store elimination of wipe routines by analyzing the compiled intermediate representations rather than just the source code. This approach detects when compiler optimizations silently remove security measures meant to zeroize secrets from memory.

Can I use this memory safety audit for Rust MIR and LLVM IR analysis?

Yes, you can use this memory safety audit for Rust MIR and LLVM IR analysis. It includes specific checks tailored for Rust's memory management and zeroization patterns, ensuring that sensitive data handling vulnerabilities are detected across Rust's intermediate representations.

What's the best way to scan a cryptographic library for secret memory leaks?

The best way to scan a cryptographic library for secret memory leaks is to perform a comprehensive audit that checks for missing zeroization of API keys, passwords, and encryption keys. This ensures secrets are properly wiped from memory before they can be leaked.