Summary

1. Introduction to Rust

  • What’s Rust?

  • Rust basics 101

  • Learning Rust

  • Code examples


2. Rust ecosystem

  • Rust toolchains

  • Compilation

  • Development tools

  • Development IDEs


3. Security concepts

  • Security by design

  • Ownership

  • Borrowing

  • Lifetimes


4. Rust common vulnerabilities

  • Error handling & Unwrapping

  • Panicking macros

  • Arithmetic errors

  • UTF-8 strings handling

  • Index out of bounds

  • Stack overflow

  • Resource exhaustion / OOM

  • Exercises


5. Unsafe codes

  • What's unsafe code?

  • Tooling for detection

  • Out of bounds access

  • Use after free (UAF)

  • Double free

  • Memory leak

  • Uninitialized Memory

  • Data Races and Race Conditions

  • Exercises


6. Rust advanced vulnerabilities

  • Logic errors

  • (Un)Soundness

  • FFI vulnerability

  • Cryptographic attacks/vulnerabilities


7. Auditing tools and code review

  • Attack surface discovery

  • Auditing tools

  • Rust code review

  • Exercices