遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/8380)
<a href="https://www.bestpractices.dev/projects/8380"><img src="https://www.bestpractices.dev/projects/8380/badge"></a>
Gramine (formerly called Graphene) is a lightweight library OS, designed to run a single application with minimal host requirements. Gramine can run applications in an isolated environment with benefits comparable to running a complete OS in a virtual machine -- including guest customization, ease of porting to different OSes, and process migration.
Using the truck-factor tool: https://github.com/aserg-ufmg/Truck-Factor, we have a TF of 4 (at the time of 2/20/2024, commit 2cef387481ba47fff2df16b02fa49acf6fc1e94e).
https://github.com/gramineproject/gramine -- Repository on GitHub, which uses git. git is distributed.
https://github.com/gramineproject/gramine/blob/master/CONTRIBUTING.rst#running-regression-tests-by-hand describes how gramine-test works. Note that users can invoke tests via PyTest, but this is less convenient.
gramine-test
https://github.com/gramineproject/gramine/tree/master/.ci
Gramine internally uses TLS-PSK 1.2 with AES-GCM 128 and SHA256 for Inter-Process Communication (IPC) when the application’s enclaves (parent, its children) communicate via pipes/sockets. Gramine provides RA-TLS shared lib that runs on top of Gramine, which integrates SGX RA with the establishment of the standard TLS secure channel protocol. The main difference from normal TLS lib is in the X.509 cert and TLS handshake verification. The use of TLS (e.g., versions, configurations) is application specific and is out of scope for the project.
Found all required security hardening headers.
警告:需要URL,但找不到URL。
Gramine is built with stack-protector where supported.
We run with sanitizers (ASAN, UBSAN) enabled for every commit and conduct syzkaller-based fuzzing regularly.
Assertions are enabled during test builds. There are many assertions in the code that are checked by this. We also run with sanitizers (ASAN, UBSAN) enabled for every commit and conduct syzkaller-based fuzzing regularly.
后退