Carapace: Static–Dynamic Information Flow Control in Rust
summary
Carapace implements hybrid static–dynamic information flow control for unmodified Rust via a library and macros that add secure blocks and generated runtime checks, plus static and dynamic labels for secrecy and integrity. The team retrofits three real apps (Servo, Avail, MK48.io), changing under 3% of lines in Servo and reporting undetectable runtime overhead in most cases; policies (per-tab secrecy, calendar sharing, ship control) compile only when enforced, and declassification is handled via audited trusted blocks.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:24Information flow control
- 3:55Static IFC with Cocoon
- 4:56Static-only limits
- 6:02Carropus features
- 7:27Retrofitting programs
- 9:56Guarantees and developer experience
- 10:16Evaluating on projects
- 11:40Performance impact
- 12:21Q&A
related talks
18mCocoon: Static Information Flow Control in Rust
35mFunctional Reactive Rust
32mStatic Information Flow Control Made Simple
19mCounterexamples in Safe Rust
41mCap'n Proto and Rust: Type Systems for Sharing
50mRust: Removing the Sharp Edges from Systems Programming
01h 05mKeynote - Rust: confident, productive systems programming
30mA RustFest Carol
