finding-crypto-misuse

Solid

Find exploitable cryptographic misuse, not theoretical weakness: reused nonces (stream and counter/GCM keystream reuse, ECDSA private-key recovery from a repeated per-signature secret), padding oracles that decrypt ciphertext, hash length-extension on naive MAC constructions, predictable or reused IVs and keys, and a hash chosen for the wrong job. Use when reviewing code that encrypts, signs, authenticates, or hashes, or when a protocol rolls its own crypto. The finding is a concrete recovery or forgery, not "weak algorithm."

AI & Automation 4 stars 1 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 80/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Finding crypto misuse: the finding is a recovery, not a weak primitive Most crypto findings that matter are not "the algorithm is broken"; they are the algorithm used wrong in a way that hands you plaintext, a key, or a forgery. A cipher is only as safe as its nonce discipline, a signature only as safe as its randomness, a MAC only as safe as its construction. Finding crypto misuse means looking for the specific misuse patterns that collapse to a concrete attack, and proving the attack rather than flagging the primitive. ## When to use - You are reviewing code that encrypts, decrypts, signs, verifies, MACs, or hashes. - A protocol or service rolls its own crypto or composes primitives by hand. - You need to separate an exploitable misuse from a cosmetic "weak crypto" alert. ## Scope check Analyze crypto in code you own or are authorized to test. Demonstrate recovery or forgery only against your own keys and data. If you can't name the authorization, stop. ## The loop 1. **Inventory the crypto operations and their inputs.** List every place the code encrypts, decrypts, signs, verifies, MACs, or hashes, and for each capture the primitive, the mode, and where the key, nonce or IV, and randomness come from. The misuse lives in the inputs, not the primitive name. 2. **Hunt nonce and IV reuse.** For any stream or counter/GCM mode, does a (key, nonce) pair ever repeat across messages (a fixed IV, a counter that resets, a random nonce in too small a space)? R...

Details

Author
UnboundCompute
Repository
UnboundCompute/security-agent-skills
Created
5 days ago
Last Updated
yesterday
Language
N/A
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

crypto-misuse

Block weak ciphers, predictable RNG, undersized keys, fast-hash password storage, nonce reuse, and non-constant-time comparison. Use when generating code that hashes, encrypts, or signs, code that compares secrets, MACs, or tokens, or config for key sizes and randomness.

22 Updated 1 weeks ago
ShieldNet-360
Code & Development Listed

crypto-source-audit

Audits cryptographic source code for timing side channels, missing secret zeroization, non-constant-time comparison, and weak randomness. Use when reviewing crypto primitives, key/nonce/PSK handling, TLS or handshake code, signature or KEM implementations, or any function that touches secret key material, including the bare conversational form ("is this constant-time?", "is this key actually wiped?"). Not for confirming that a compiled binary preserved these properties (use binary-crypto-verify) and not for general non-crypto vulnerability hunting (use codebase-security-audit).

1 Updated 1 weeks ago
Quant-Off
Code & Development Listed

binary-crypto-verify

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.

1 Updated 1 weeks ago
Quant-Off