Most trusted execution environments fail reproducible builds checks
"They don't care about this": A Systematic Study of TEE Build Reproducibility in the Wild
Cryptography and Security
Summary
Trusted Execution Environments (TEEs) protect sensitive data and code in the cloud, but to trust them fully, people need to check that the software inside is exactly what it should be. This is only possible if the software builds are reproducible, meaning they can be rebuilt identically from the original source code. The authors studied 115 real-world TEEs and found that 91% were not reproducible, mostly because source code or reference builds were missing. They also learned from developer interviews that reproducibility is rarely a priority, and broader challenges like complex build environments get in the way.
What this means in practice
- •For cloud service providers: Improve trust in cloud computing by ensuring TEE software builds are reproducible and verifiable to support stronger remote attestation.
- •For security software developers: Design and implement TEE applications with reproducible build practices to enhance code authenticity guarantees for clients.
Authors
Annika Wilde, Marco Gutfleisch, Felix Reichmann, Anirban Chakraborty, Yuval Yarom, M. Angela Sasse, Ghassan Karame
Abstract
Trusted Execution Environments (TEEs) have become a cornerstone of modern cloud computing, providing strong confidentiality and integrity guarantees for both code and data. A critical component of this trust model is remote attestation, which enables external entities to verify the authenticity and integrity of code executing within a TEE through cryptographic measurements. However, the effectiveness of remote attestation fundamentally depends on the verifier's ability to trace the reported measurement back to the original source code - a property that can only be guaranteed through reproducible builds. In this paper, we investigate the reproducibility of TEE builds through a technical analysis of 115 TEE deployments. Our analysis spans popular TEEs such as Intel SGX, Intel TDX, and AMD SEV, and reveals that a striking 91% of those deployments were not reproducible, with 80% failing to provide both source code and a reference build, the two essential prerequisites for reproducibility. To explore the root causes, we contacted the maintainers of 50 SGX projects and managed to recruit 12 developers from industry and academia for interviews. Only one of our participants reported that reproducibility is a priority during development, effectively confirming our technical findings. Beyond technical barriers (e.g., timestamps included in the binary) that can be readily addressed, we identify broader ecosystem-level challenges, such as the lack of control over the build environment in projects involving multiple stakeholders. We argue that achieving reproducibility in TEEs requires a holistic development approach that extends beyond individual developers and calls for stronger commitments - rather than treating TEEs as a "security badge".