FLOSS 最佳实践标准(黄金徽章)
这是自由/自由和开源软件(FLOSS)项目的最佳实践集,以在通过,银色和金色徽章级别获得核心基础设施计划(OpenSSF)最佳实践徽章。您可以仅使用标准或其他信息来显示此列表。您还可以仅查看通过,银和金标准,以及全套标准。
有关这些条件的更多信息,请参见条件讨论。
黄金
基本
先决条件
项目监督
其他
变更控制
公开的版本控制的源代码存储库
-
必须使用通用的分布式版本控制软件(例如,git,mercurial)作为项目的源代码存储库。
{Met justification}
[repo_distributed]
-
该项目必须清楚地识别新的或临时贡献者可以执行的小型任务。
{Met URL}
[small_tasks]
-
项目必须要求开发人员使用双因素身份验证(2FA)来更改中央存储库或访问敏感数据(如私密漏洞报告)。这种2FA机制可以使用没有密码学机制的方案,如SMS(短消息),尽管不推荐。
{Met justification}
[require_2FA]
-
项目的双因素身份认证(2FA)应该使用加密机制来防止仿冒。基于短消息服务(SMS)的2FA本身不符合此标准,因为它不被加密。
{Met justification}
[secure_2FA]
质量
编码标准
-
该项目必须记录其代码检视需求,包括代码检视是如何进行的,必须检查的内容以及哪些是可接纳的内容。
{N/A justification}
{Met URL}
[code_review_standards]
-
该项目必须至少有50%的修改(作者之外的人提出的)在发布之前审查,以确定是否是一个有价值的修改,并且没有已知的问题,会反对其包含
{Met justification}
[two_person_review]
可工作的构建系统
自动测试套件
安全
使用基础的良好加密实践
-
项目生成的软件必须支持所有网络通信的安全协议,如SSHv2或更高版本,TLS1.2或更高版本(HTTPS),IPsec,SFTP和SNMPv3。默认情况下,FTP,HTTP,Telnet,SSLv3或更早版本以及SSHv1等不安全协议必须被禁用,只有在用户专门配置时才启用。如果项目生成的软件不支持网络通信,请选择“不适用”(N/A)。
{N/A allowed}
{Met justification}
[crypto_used_network]
-
由项目生成的软件必须,如果支持或使用TLS,至少支持TLS版本1.2。请注意,TLS的前身称为SSL。如果软件不使用TLS,请选择“不适用”(N/A)。
{N/A allowed}
{Met justification}
[crypto_tls12]
安全交付防御中间人(MITM)的攻击
-
项目网站,存储库(如果可通过网络访问)和下载站点(如果单独)必须包括具有非允许值的密钥加固头。
{Met URL}
[hardened_site]
其他安全问题
-
该项目必须在过去5年内进行安全审查。此审查必须考虑安全需求和安全边界。
{Met justification}
[security_review]
-
加固机制必须用于项目生产的软件,以便软件缺陷不太可能导致安全漏洞。
{N/A justification}
{Met URL}
[hardening]
分析
动态代码分析