Secure development with C++ - Lessons and techniques
summary
C++ projects get concrete advice: enable all warnings and Werror, run clang‑tidy, run sanitizers and fuzzers in CI (unit and integrated tests), and keep cumulative fuzzing seeds and coverage data; use integer sanitizer and thread sanitizer and prefer clang’s sanitizers because GCC O2 can optimize away UB; enable libstdc++ bounds checking or a debug ABI and trap conversions (make replacement for make_unique warning gap); use boost::safe_numerics or Rust for arithmetic, assert in release via a macro, and deploy ASLR/stack protector/ARM branch protection.
AI-written summary · about
chapters (18)
- 0:00Introduction to Thales
- 2:58Authoring secure code
- 5:58Smart pointers and memory
- 8:16Integer over/underflow
- 11:17Compiler warnings in libraries
- 13:07Integer security strategies
- 15:37Fuzz testing techniques
- 18:57Sanitizer limitations and tools
- 21:05Thread sanitizer
- 23:22CI pipeline and review
- 24:44Fuzzing strategy
- 27:23Asserts in release builds
- 29:46Operator usage and speed
- 32:17C++ language priorities
- 35:11Compiler hardening options
- 37:05Hardening and architecture
- 39:22Hiding assets
- 40:35Conclusion and Q&A








