← ClaudeAtlas

binary-crypto-verifylisted

Verifies in compiled machine code that security properties survived the compiler: that secret zeroization was not removed by dead-store elimination and that constant-time logic did not regain secret-dependent branches. Use when auditing a binary, shared object, static library, or firmware image whose source claims constant-time or wiping guarantees, when a memset on a key may have been optimized away, or when confirming a fix actually landed in the shipped artifact, using Ghidra, objdump, or radare2. Not for source-level crypto review (use crypto-source-audit) and not for general binary exploitation or malware analysis.
Quant-Off/skills · ★ 1 · Code & Development · score 75
Install: claude install-skill Quant-Off/skills
# Binary Crypto Verify Source review proves intent. Only the emitted machine code proves the guarantee. Compilers routinely delete wipes whose results are never read and lower branchless source into conditional jumps, and both transformations are silent, legal, and invisible from the source tree. The disassembler tells you which instructions exist. It does not tell you which operands are secret. **A branch inventory is a worklist, not a verdict**, and reporting one as a set of vulnerabilities is the primary failure mode of this skill. ## When to Use - A source audit produced a "wipe present but not barrier-backed" finding that needs confirmation in the shipped artifact. - A `memset` or `Zeroize` on key material may have been eliminated at `-O2`. - A masked select or ternary must be confirmed as branchless (`cmov`/`csel`). - Confirming a security fix actually landed in a rebuilt binary. - Auditing a vendor binary, firmware image, or `.so` with no source available. ## When NOT to Use - **Source-level crypto review.** Use `crypto-source-audit` first; this skill confirms its findings, it does not replace them. - **Managed-runtime code** (Java, C#, Python, JavaScript, Go's runtime-managed values). JIT output is not the shipped artifact. The exception is native modules and FFI, where this skill applies normally. - **Empirical timing measurement.** Static disassembly does not measure. Use dudect or ctgrind, described in [references/dynamic-validation.md](references