Counterexamples in Safe Rust
summary
Shows concrete safe Rust breaks: using proc/self/mem memory patching to flip const pointers and enlarge vector capacity for out‑of‑bounds reads/writes, spawning a tracer to tamper secure memory via ptrace leading to command execution, and a build.rs compiler wrapper that intercepts and runs injected code plus modifies PATH for stealthy supply‑chain attacks. Evaluation runs cargo‑scan on top 500 crates plus random 500, finds real instances (a Windows grab CLI CVE, rust_decimal examples), and shows most static tools miss these patterns.
AI-written summary · about
chapters (12)
- 0:00Counterexamples in safe Rust
- 1:10Why Rust became popular
- 2:34Attack patterns breaking Rust
- 4:00File system access in Rust
- 5:25Out-of-bounds via memory mapping
- 6:50Command execution via process manipulation
- 8:59Compiler soundness and lifetimes
- 10:44Build-time supply chain attacks
- 12:50Tools against attack patterns
- 13:54Top Rust crates analysis
- 15:18Future Rust security directions
- 16:05Q&A
related talks
45mBuilding Safe and Secure Systems in Rust
58mRust for The Curious C++ Developers
01h 22mRust for the C++ Programmer
40mWhat's up with Rust?
01h 01mMemory Safety: Rust vs. C
56mReady for Rust
59mRust for C++ developers - What you need to know to get rolling with crates
28mDetecting Borrow and Provenance Bugs Across Unsafe Rust [...]
