对于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的更多相关文章

  1. oschina图形和图像工具开源软件

    图形和图像工具开源软件 http://www.oschina.net/project/tag/181/imagetools?sort=view&lang=21&os=0

  2. spring boot 实战:我们的第一款开源软件

    在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...

  3. Google软件构建工具Bazel原理及使用方法介绍

    近期,Google开源了强大的自动化构建工具Bazel. 正好博主近期在使用china版的Bazel--腾讯自主开发的Blade,所以准备跟大家分享一下Google Bazel这个分布式构建系统的原理 ...

  4. Google软件构建工具Bazel FAQ

    Google软件构建工具Bazel FAQ 本文是我的翻译,原文在这里.欢迎转载,转载请注名本文作者和原始链接 注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用方 ...

  5. 2014 年最热门的国人开发开源软件 TOP 100 - 开源中国社区

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...

  6. 2014 年最热门的国人开发开源软件TOP 100

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外认可.中国是开 ...

  7. 2014年国人开发的最热门的开源软件TOP 100

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...

  8. GIS开源软件大全

    3 - F 3map:行星地球项目由3map驱动,这是一个自由软件,由Telstra宽带基金会创建并支持,提供客户端与服务器的能力以在线再现虚拟地球. Amein!:其界面介于ArcMap和UMN M ...

  9. 2016国产开源软件TOP100(Q1)

    随着互联网的发展.开放标准的普及和虚拟化技术的应用等诸多IT新领域的创新及拓展,开源技术凭借其开放性.低成本.稳定性.灵活性.安全性和技术创新性等特点迅速走向成熟,逐步发展成为一种主流模式,日益改变着 ...

随机推荐

  1. 从URL输入到页面展现到底发生什么?DNS 解析&TCP 连接

    DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一.什么是URL? ...

  2. CF1682F MCMF?

    题意: 费用流,其实bushi 给你长为\(n\)的序列\(a\),\(b\).\(a\)单增,\(b\)有正有负. \(q\)次询问\([l,r]\),保证\(\sum\limits_{i=l}^r ...

  3. (十二).NET6 + React :升级!升级!还是***升级!!!+ IdentityServer4实战

    一.前言 此篇内容较多,我是一步一个脚印(坑),以至于写了好久,主要是这几部分:后台升级 .NET6  VS2022.前台升级Ant Design Pro V5 .前后台联调 IdentityServ ...

  4. 优先队列STL

    引入 优先队列是一种特殊的队列,它的功能是--自动排序. 基本操作: q.size(); //返回q里元素个数 q.empty(); //返回q是否为空,空则返回1,否则返回0 q.push(k); ...

  5. Linux系列之安装JDK

    卸载open jdk #查看jdk [root@localhost tools]# rpm -qa | grep jdk java-1.8.0-openjdk-headless-1.8.0.65-3. ...

  6. 写Selenium代码时一些技巧

    本文地址: https://www.cnblogs.com/hchengmx/p/10880002.html 1. Chrome插件之"CSS Selector Helper for Chr ...

  7. 使用 .NET MAUI 创建移动应用——Get Start

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 1.IDE下载安装 如果你还没安装Visual Studio 2022 预览版 你 ...

  8. SpringBoot之:SpringBoot的HATEOAS基础

    目录 简介 链接Links URI templates Link relations Representation models 总结 简介 SpringBoot提供了HATEOAS的便捷使用方式,前 ...

  9. 关于使用koa 跨域问题你可能会遇到

    var cors = require('koa2-cors');// 跨域const allowOrigins = ["http://localhost:8080" // 需要跨域 ...

  10. SAP 定义用户组

    SUGR,可进行创建.查看.删除等维护性操作,并可指定本组的用户