OpenSSF的开源软件风险评估工具:Scorecards
对于IT从业者来说,Marc Andreessen 十年前提出“软件吞噬世界”的观点早已耳熟能详。无论是私人生活还是公共领域,软件为现代社会的方方面面提供动力,对现代经济和国家安全至关重要。
开源已经吞噬软件世界也是近几年非常流行的观点。Linux 基金会曾预测自由开源软件(FOSS)占现代软件的70%~90%。不仅仅是现代软件由大量的开源组件构成,而且 IT 行业的从业人员也更愿意与给开源社区做贡献的供应商合作。
由于开源软件灵活、低成本、通过社区项目推动创新的特性,它们被广泛使用,而由于多人协作参与从而项目可以获得更好的安全性,对于大型开源项目而言更是如此。尽管如此,开源软件也有其自身的问题,包括受影响代码的常见漏洞和暴露(CVE)。
CVE是 MITRE 的一个项目,致力于 “识别、定义和分类公开披露的网络安全漏洞”。然而,CNCF 在其软件供应链最佳实践白皮书中指出,CVE 是“事后指标”,即它们所列举的漏洞都已经被公开披露。它们也只是与软件相关的风险的一种类型。
出于这一原因,组织应该使用其他方法来评估他们所使用的开源项目的安全状态。最著名的项目之一是开源安全基金会(OpenSSF)的 Scorecards 项目。
项目地址:https://github.com/ossf/scorecard
什么是 OpenSSF Scorecards?
Scorecards 旨在为开源项目自动生成安全指数来帮助项目的使用者和组织做出风险知情的决策。企业正在大量使用开源依赖项,但确定这些依赖项风险仍是一项手动工作。Scorecards 项目旨在采用自动启发式(automated heuristics)和安全检查来减轻负担,最终在0到10的评分表上生成安全指数。它在评估开源软件项目的安全问题时,与安全领导者倡导的最佳实践(如签名或SAST)保持一致。

OpenSSF Scorecards对风险严重程度采用分层计分
Scorecards 可以基于直接依赖项扫描100万个最关键的开源项目,并定期将结果发布到公共数据集上。除了利用公开的数据集外,企业还可以使用 GitHub Action 对自己的 GitHub 项目运行 Scorecards,当 Repo 有变化时,GitHub Action 就会运行,并向这些项目的维护者提供告警。
Scorecards 项目使用【关键】【高】【中】【低】的评分标准,这也是大多数安全从业者所熟悉的标准。它还使用一个标准的检查列表,针对你的目标项目进行检查,无论是公开的项目还是原生使用的私有项目。
你还可以深入了解其中一些检查,包括基础的安全实践,如使用分支保护、加密签名发布以及存在未修复的漏洞。Scorecards 项目采用 OSV 漏洞数据库(osv.dev)来检测未修复漏洞的存在。这是一个为开源项目设计的分布式漏洞数据库,它采用OpenSSF OSV 格式。OSV的核心是聚合使用OSV模式的其他漏洞数据库,如 GitHub Security Advisories 和全球安全数据库等。OSC还支持API和命令行界面(CLI)工具,用于扫描 CycloneDX 或 SPDX 格式的 SBOMs。
Scorecards 项目有双周会和 Slack channel。它由来自谷歌、Datto和思科等公司的工程师主导,自成立以来已经有近3000颗star,还有用户将其添加至收藏夹。随着企业继续推动其开源软件采用治理实践的成熟,该项目将不可避免地越来越受到青睐。
企业如何使用 OpenSSF Scorecards?
当前,企业对开源软件的治理和风险管理能力仍处于初级阶段。而近年来频发的软件供应链攻击事件将是一个巨大的推动力,促进企业加强软件供应链的安全实践。目前我们有 OpenSSF 安全动员计划、SLSA、《安全软件开发框架》(SSDF)以及其他最佳实践指南。所有这些都涉及到企业对开源软件使用的管理,并确保这种使用与企业对风险的容忍度一致。
尽管听起来很简单,但要在整个强大的开源项目和组件的生态中做到这一点是十分具有挑战性的。OpenSSF的Scorecards项目提供了一种自动化的方式来获得对超过100万个OSS项目的安全和风险洞察力,并将该项目直接用于他们自己的软件和内部的项目。
企业可以通过CLI对不属于他们的项目使用 Scorecards,也可以对 npm、Pypi 或 RubyGems 等项目使用软件包管理器。Scorecards 也可以作为 Docker 容器使用。
企业和个人开发者都可以参与该项目,包括提交需求检查,以便进行评分评估。组织也可以自定义使用 Scorecards,比如只运行特定的检查,或者与同行业的特定安全要求保持一致。
OpenSSF的开源软件风险评估工具:Scorecards的更多相关文章
- oschina图形和图像工具开源软件
图形和图像工具开源软件 http://www.oschina.net/project/tag/181/imagetools?sort=view&lang=21&os=0
- spring boot 实战:我们的第一款开源软件
在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...
- Google软件构建工具Bazel原理及使用方法介绍
近期,Google开源了强大的自动化构建工具Bazel. 正好博主近期在使用china版的Bazel--腾讯自主开发的Blade,所以准备跟大家分享一下Google Bazel这个分布式构建系统的原理 ...
- Google软件构建工具Bazel FAQ
Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接 注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用方 ...
- 2014 年最热门的国人开发开源软件 TOP 100 - 开源中国社区
不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...
- 2014 年最热门的国人开发开源软件TOP 100
不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外认可.中国是开 ...
- 2014年国人开发的最热门的开源软件TOP 100
不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...
- GIS开源软件大全
3 - F 3map:行星地球项目由3map驱动,这是一个自由软件,由Telstra宽带基金会创建并支持,提供客户端与服务器的能力以在线再现虚拟地球. Amein!:其界面介于ArcMap和UMN M ...
- 2016国产开源软件TOP100(Q1)
随着互联网的发展.开放标准的普及和虚拟化技术的应用等诸多IT新领域的创新及拓展,开源技术凭借其开放性.低成本.稳定性.灵活性.安全性和技术创新性等特点迅速走向成熟,逐步发展成为一种主流模式,日益改变着 ...
随机推荐
- elementUI 输入框用户名和密码取消自动填充
<!-- 用户名取消自动填充 autocomplete="off" --> <el-form-item label="用户名" prop=&q ...
- ARM学习1
ARM相关概念 1.ARM的发展史 1. 1978年,CPU公司 Cambridge processing Unit 2. 1979年 Acorn 3. 1985年, 32位,8MHz, 使用的精简指 ...
- 解惑unittest框架中导入HTMLTestRunner模块后正常运行却无法生成HTML报告问题
1.HTMLTestRunner介绍 HTMLTestRunner是一个第三方的unittest HTML报告库,用于python单元测试框架的TestRunner.它是生成一个HTML报告,以一目了 ...
- Python with语句和上下文管理器
open("FishC.txt","w")#此处需注意如果被打开的文件中,已有内容,那么用w的方式打开,则会导致原文件内容被截断,也就是相当于被清空了,然后重新 ...
- C语言- 基础数据结构和算法 - 09 栈的应用_中缀表达式转后缀表达式20220611
09 栈的应用_中缀表达式转后缀表达式20220611 听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/ ...
- VTK 截图
vtk的vtkRenderWindowInteractor中的Initialize函数初始化了可交互的窗口,但是实际工程中,往往需要把窗口拿出来在别的页面上显示,如存为png图片等等.本文主要介绍如何 ...
- redis击穿,穿透,雪崩,分布式锁,api(jedis,luttuce)
击穿:(redis做缓存用,肯定发生了高并发,到达数据库查询) 设置key 的过期时间,过期后没有这个key,找不到了,就穿过了(其中一个key过期导致并发访问数据库) LRU (LRU,即:最近最少 ...
- mysql密码忘记了重置方法
#先把mysql停止 service mysqld stop #安全模式进入mysql,并且跳过授权表 mysqld_safe --skip-grant-tables & #如果上面这个命令报 ...
- NC200211 装备合成
NC200211 装备合成 题目 题目描述 牛牛有 \({x}\) 件材料 \({a}\) 和 \({y}\) 件材料 \({b}\) ,用 \({2}\) 件材料 \({a}\) 和 \({3}\) ...
- Tapdata x 轻流,为用户打造实时接入轻流的数据高速通道
在全行业加速布局数字化的当口,如何善用工具,也是为转型升级添薪助力的关键一步. 那么当轻量的异构数据实时同步工具,遇上轻量的数字化管理工具,将会收获什么样的新体验?此番 Tapdata 与轻流 ...