Compile-Time Authorization
summary
Claims compile-time enforcement of authorization by encoding checks into typestates and compile-time typelists, uses nightly Rust and the experimental marker_trait_adder to avoid conflicting trait impls, targets attribute-based access control (ABAC) so function calls require stamped attestations, and demonstrates a proof-of-concept library that ties attestations to specific object instances. The prototype runs on unstable Rust, prevents whole classes of forgotten checks, and the author reports it saved a couple of real bugs.
AI-written summary · about
chapters (13)
- 0:00Rust’s potential
- 1:50Introduction
- 2:53Authentication vs authorization
- 4:17Ad hoc access control flaws
- 6:04Django and Oso
- 8:32Centralized authorization benefits
- 10:40Authorization logic fails
- 13:08Reactive authorization design
- 16:20Type lists for compile-time checks
- 20:57Trait conflicts with markers
- 22:44Guarded functions with traits
- 24:30Daeri library for policies
- 25:35Key takeaways
related talks
36mRust's trait system is a proof engine, let's make it prove us an ABI!
54mCompile-Time Validation in C++ Programming
29mCompile-Time Social Coordination
10mAutomatically Enforcing Rust Trait Properties
31mThe Rust That Could Have Been
25m"Compiler-Driven Development: Making Rust Work for You"
35mLet’s Talk About Rust
17mRefinedRust: A Type System for High-Assurance Verification of Rust Programs
