遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/74)
<a href="https://www.bestpractices.dev/projects/74"><img src="https://www.bestpractices.dev/projects/74/badge"></a>
The Zephyr Project is a small, scalable real-time operating system for use on resource-constrained systems supporting multiple architectures. Developers are able to tailor their optimal solution. As a true open source project, the community can evolve the Zephyr Project to support new hardware, developer tools, sensor and device drivers. Advancements in security, device management capabilities, connectivity stacks and file systems can be easily implemented.
Using the truck-factor tool, we have a TF of 12, see https://github.com/zephyrproject-rtos/zephyr/wiki/Truck-Factor for the output from the tool.
See the contributor list in github:
https://github.com/zephyrproject-rtos/zephyr/graphs/contributors
All existing and future contributions will contain copyright holder and year.
All files contain a SPDX license statement.
https://github.com/zephyrproject-rtos/ -- Repository on GitHub, which uses git. git is distributed.
"good first issue" label in GH issues: https://github.com/zephyrproject-rtos/zephyr/labels/good%20first%20issue
Using Github 2FA and enforcing all contributors and members of the project to use this method of authentication.
Using Github 2FA and enforcing all contributors and members of the project to use this method of authentication.This method relies on google authenticator which is time based TOTP
https://github.com/zephyrproject-rtos/zephyr/blob/master/CONTRIBUTING.rst
GH pull requests do not allow the original author to merge their own changes.
Reproducible builds are guaranteed with an SDK provided by the project that given a commit or the same state of the source code would generate the same binaries and output files. Timestamps are not enabled by default and used only for debugging and testing. https://github.com/zephyrproject-rtos/zephyr/wiki/Repeatable-Builds-by-Architecture
python script that is called to run test cases written in standard C. see https://github.com/zephyrproject-rtos/zephyr/blob/main/CONTRIBUTING.rst (twister)
https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain
https://codecov.io/gh/zephyrproject-rtos/zephyr
We support TLS and DTLS for all communication protocols. HTTPS, COAPS and any other protocols can be abled with additional security enabled.
All configurations of the project use TLS 12 by default:
lib/crypto/mbedtls/configs/config-ccm-psk-tls1_2.h:#define MBEDTLS_SSL_PROTO_TLS1_2 ext/lib/crypto/mbedtls/configs/config-coap.h:#define MBEDTLS_SSL_PROTO_TLS1_2 ext/lib/crypto/mbedtls/configs/config-mini-dtls1_2.h:#define MBEDTLS_SSL_PROTO_TLS1_2 ext/lib/crypto/mbedtls/configs/config-mini-tls1_2.h:#define MBEDTLS_SSL_PROTO_TLS1_2 ext/lib/crypto/mbedtls/configs/config-threadnet.h:#define MBEDTLS_SSL_PROTO_TLS1_2
https://github.com/zephyrproject-rtos/zephyr/tree/master/ext/lib/crypto/mbedtls/configs
The project websites implement hardening headers.
www.zephyrproject.org https://github.com/zephyrproject-rtos/zephyr // One or more of the required security hardening headers is missing. // X-Content-Type-Options was not set to "nosniff".
This was done in 2017 and performed by David Brown and most recently https://research.nccgroup.com/wp-content/uploads/2020/05/NCC_Group_Zephyr_MCUboot_Research_Report_2020-05-26_v1.0.pdf
We do build by default with -Wformat -Wformat-security -Wno-format-zero-length and stack-protector is enabled as an option where supported. It is disabled by default for performance reasons but can be enabled by the user. The master CMake file contents show this to be the case:
https://github.com/zephyrproject-rtos/zephyr/blob/master/CMakeLists.txt
GCOV and ASAN are used.
Assertions are enabled during test builds. There are "many" assertions in the code that are checked by this.
后退