构建开源供应链安全的软件物料清单(SBOM)( 二 )


如果你是一个正在使用React、或其他开源软件库的开发人员 , 当出现许可证问题时 , 你很可能需要对此负责 。
3.格式要求
你构建的应用程序和使用的软件可能已经包含正在使用的许可证的引用 。例如 , 如果你正在构建一个项目 , 许可证信息是.json清单文件的一部分:
这个.json文件中描述的许可证使用通用的SBOM格式(被称为SPDX) , 以确保它符合跨工具的国际标准和交互操作性标准 。
三、SPDX是什么?
SPDX(软件包数据交换)是一个Linux基金会协作项目 , 它提供了一个通用的SBOM格式标准 , 用于跟踪软件材料清单 , 使得通过各种工具创建交互操作性报告变得更加容易 。通俗易懂的来说 , SPDX许可证列表提供了一个通用的许可证列表标识符以及每个许可证的规范URL 。
四、SBOM能带给我什么?
1.提高透明度:为了产生忠诚度和推动重复销售 , 公司需要建立客户信任 。共享的SBOM意味着企业所依赖的工具是可见的 , 它们的质量是有保障的 , 而不是一纸空文 。
2.增强安全性:目前大多数开源漏洞都是通过间接依赖关系产生的 。根据的2021年软件供应链报告 , 29%的流行项目版本包含至少一个已知的安全漏洞 。通过使用SBOM , 公司可以在软件发布之前找到并消除漏洞 , 并在发布后迅速修复新漏洞 。
3.提高供应链弹性:供应链的强度取决于其最薄弱的环节 。在像医疗保健这样高度监管的环境下 , 一个未被发现的软件漏洞可能会暴露病人的数据并导致代价高昂的漏洞 。虽然SBOM不可能防止所有未被发现的漏洞 , 但它可以在SDLC早期发现问题 , 并有效的解决它们 。
4.降低成本:让开发人员手动挖掘平台以发现和解决漏洞是一件费时费力的工作 。通过将组件和版本更新的列表合并到一起 , SBOM节省了开发人员手动搜索漏洞所花费的大量时间 , 这种自动化可以降低成本并提高生产率 。
5.减少代码膨胀:软件迭代经常导致软件变得越来越臃肿 , 这就是所谓的代码膨胀 。当开发人员添加多个执行相同功能的不同组件时 , 就会发生这种情况 。这同时也增加了受攻击面 , 即需要维护的组件数量 。SBOM可以帮助开发人员识别多余的代码 , 这意味着更快、更精简、更安全的服务 。
6.简化EOL管理:当软件组件抵达它们的EOL(END OF LIFE)阶段时 , 供应商应该立即停止对它们的支持 , 这也意味着它们不再接收关键的更新和安全补丁 。当组件到达EOL阶段时 , 开发人员需要根据SBOM来识别组件 。SBOM有助于防止过时和不安全的组件继续运行 , 并帮助确定替换组件 。
7.提高许可证合规性:公司在使用开源软件时需要注意许可证问题 。不遵守开源协议可能会导致声誉受损、诉讼等等麻烦 , 另外一些许可证可以保护用户不受专利问题的影响 , 但前提是你要知道自己的哪些组件用的是哪些许可证 。SBOM有助于公司管理许可证风险 , 帮助它们进行尽职调查 , 并避免将不符合规定的软件投入生产 。
五、如何捍卫开源软件供应链安全?
【构建开源供应链安全的软件物料清单(SBOM)】最直接的办法是将SCA工具集成进企业的CI/CD管道 , 一般的SCA工具只能做到开源组件检测 , 实现开源代码的管理和监控 。但泛联新安的开发安全平台采用SaaS模式 , 快速简便的为企业提供SCA功能 , 同时能对开源协议的风险系数进行检测和预警 , 实时生成SBOM清单管理企业的供应链第三方组件 , 为您的软件供应链安全保驾护航 。