What problem does it solve?
This skill helps developers secure LLVM-based compilation pipelines by integrating sanitizers, hardening techniques, and exploit mitigations to reduce memory-safety risks and runtime vulnerabilities.
Core Features & Use Cases
- Sanitizers: guidance on enabling AddressSanitizer, MemorySanitizer, ThreadSanitizer, and UndefinedBehaviorSanitizer in LLVM-based projects.
- Hardening Techniques: recommended compiler flags and CI practices for stack protection, control-flow integrity, position independence, and safe-stack usage.
- Exploit Mitigations: design and implementation tips for return-address protection, pointer authentication, and shadow call stacks.
- Secure Tooling & Analysis: approaches for type checks, memory safety analyses, and integration with fuzzing and symbolic execution workflows.
Quick Start
Configure a small LLVM project to enable sanitizers, defensive flags, and basic mitigations, then run a quick sanity check to observe sanitizers reporting issues.