Cocoon: Static Information Flow Control in Rust
Ada Lamba, Max Taylor, Vincent Beardsley, Jacob Bambeck, Michael D. Bond, Zhiqiang Lin
Abstract
Information flow control (IFC) provides confidentiality by enforcing noninterference, which ensures that high-secrecy values cannot affect low-secrecy values. Prior work introduces fine-grained IFC approaches that modify the programming language and use nonstandard compilation tools, impose run-time overhead, or report false secrecy leaks-all of which hinder adoption.
This paper presents Cocoon, a Rust library for static type-based IFC that uses the unmodified Rust language and compiler. The key insight of Cocoon lies in leveraging Rust's type system and procedural macros to establish an effect system that enforces noninterference. A performance evaluation shows that using Cocoon increases compile time but has no impact on application performance. To demonstrate Cocoon's utility, we retrofitted two popular Rust programs, the Spotify TUI client and Mozilla's Servo browser engine, to use Cocoon to enforce limited confidentiality policies.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 02e1547e-464b-419c-bb32-12a9505087e6Cited by top-tier papers4
- Carapace: Static-Dynamic Information Flow Control in RustVincent Beardsley, Chris Xiong, Ada Lamba, Michael D. BondOOPSLA 2025 · 3 citations
- Paralegal: Practical Static Analysis for Privacy BugsJustus Adam, Carolyn Zech, Livia Zhu, Sreshtaa Rajesh et al.OSDI 2025 · 2 citations
- Sesame: Practical End-to-End Privacy Compliance with Policy Containers and Privacy RegionsKinan Dak Albab, Artem Agvanian, Allen Aby, Corinn Tiffany et al.SOSP 2024 · 2 citations
- Sound Enforcement of Dynamic Release Information Flow PolicyJeffrey Ching, Danfeng ZhangOOPSLA 2026
Builds on5
- Viaduct: an extensible, optimizing compiler for secure distributed programsCosku Acay, Rolph Recto, Joshua Gancher, Andrew C. Myers et al.PLDI 2021 · 25 citations
- A Type System for Safe Intermittent ComputingMilijana Surbatovich, Naomi Spargo, Limin Jia, Brandon LuciaPLDI 2023 · 13 citations
- Modular information flow through ownershipWill Crichton, Marco Patrignani, Maneesh Agrawala, Pat HanrahanPLDI 2022 · 13 citations
- Co-Inflow: Coarse-grained Information Flow Control for Java-like LanguagesJian Xiang, Stephen ChongS&P 2021 · 12 citations
- Retrofitting Fine Grain Isolation in the Firefox RendererShravan Narayan, Craig Disselkoen, Tal Garfinkel, Nathan Froyd et al.USENIX Security 2020
Related papers
- A Type System for Optimizing Dynamic IFCDaniel Galán Pascual, François Hublet, Srđan Krstić, Roman Fischer et al.OOPSLA 2026
- TRust: A Compilation Framework for In-process Isolation to Protect Safe Rust against Untrusted CodeInyoung Bang, Martin Kayondo, Hyungon Moon, Yunheung PaekUSENIX Security 2023
- Rusted Types: Static Detection of Rust Type Confusion BugsZeyang Zhuang, Wei Meng, Michael R. LyuICSE 2026
- Securing Mixed Rust with Hardware CapabilitiesJason Zhijingcheng Yu, Fangqi Han, Kaustab Choudhury, Trevor E. Carlson et al.CCS 2025 · 1 citation
- Quest Complete: The Holy Grail of Gradual SecurityTianyu Chen, Jeremy G. SiekPLDI 2024 · 6 citations
