What problem does it solve? Rust's compiler guarantees memory safety for safe code, but it does not prevent logic bugs, authorization flaws, integer overflow in release builds, supply-chain compromise, or unsound unsafe blocks. This Skill provides the assurance layer above "it compiles" for software where security and correctness must be justified with evidence. ## Core Features & Use Cases - Threat Modeling: Guides STRIDE-based threat enumeration, risk ranking (likelihood × severity), and mitigation planning before code is written. - Disciplined Unsafe & Robustness: Enforces #![forbid(unsafe_code)], // SAFETY: comments, fallible APIs with Result/try_reserve, no-panic patterns, and release-mode overflow checks. - Supply-Chain & Dynamic Assurance: Covers cargo-audit scanning, Cargo.lock/rust-toolchain.toml pinning, property-based testing, differential fuzzing with cargo-fuzz, Miri, and formal methods like kani. - Use Case: You are building a security-critical Rust service handling untrusted input. Use this Skill to write a threat model, harden the dependency graph, eliminate hidden panics, and set up fuzzing and model checking for trust-critical functions. ## Quick Start Review my Rust crate for high-assurance issues and produce a threat model plus a hardening checklist covering unsafe code, dependencies, and untrusted input handling.