供应链攻击日益严重,微软开源 SBOM 生成工具 Salus

Software Package Data Exchange®(SPDX®)规范作为ISO/IEC 5962:2021发布,被认定为安全性、许可合规和其他软件供应链构件领域的国际开放标准。ISO/IEC JTC 1是一个独立的非政府标准机构。

包括英特尔、微软、西门子、索尼、新思科技、VMware和WindRiver在内的众多公司已经使用SPDX在政策或工具中传达软件材料清单(SBOM)信息,以确保在全球软件供应链中实现合规和安全开发。

微软近日将其用于公司内部的 SBOM(Software Bill of Materials,软件物料清单)生成工具开源,以帮助技术行业和 IT 决策者更好地了解其工具的安全性以及软件供应链的依赖关系。

SBOM 的核心是建立一个软件所使用的组件之间在供应链关系上的明确记录,它是一个机器可读的文件,列出了产品中的所有组件,其中也包括所有的开源项目,这就有点像是食品包装上的成分表。通过这个 “成分表” 可以清楚的了解产品上下游之间的关系。

近些年网络安全问题频频发生,最近一起备受关注的漏洞事件应该就是去年年底 Log4j 中的远程代码执行漏洞,让依赖该项目的全球开发者加班加点修复这个问题。不过即便这件事情影响范围极广,在圈子里闹得沸沸扬扬,也依然有企业对此事不太了解的情况发生。因此,SBOM 对于一家企业的重要性自然不言而喻。

微软开发的这个工具名为 Salus,可在 Windows、Linux 和 Mac 平台上使用,并能根据 SPDX 规范生成 SBOM。微软将 Salus 定位为「通用的、经过企业验证的 SBOM 生成器」,可以轻松集成到软件构建的工作流程中。

Salus 创建的文档包含四个主要部分,包括文档创建信息(其中包含软件名称、SPDX 许可证、SPDX 版本、文档创建者和创建时间)、组成软件的文件列表、构建软件时使用的软件包列表,以及 SBOM 不同元素之间的关系列表。

a876772fb2f3b11c2ece65341429a30f.png

在功能上,Salus 能够自动检测 NPM、NuGet、PyPI、CocoaPods、Maven、Golang、Rust Crates、RubyGems、容器内的 Linux 软件包、Gradle、Ivy 和 GitHub 公共仓库。除此之外,Salus 还可以参考其他 SBOM 文件,以获取更加完整的依赖关系。

微软表示:

开放 Salus 的源代码是促进我们社区内合作和创新的重要一步,我们相信这将使更多的组织能够生成 SBOM,并为其发展作出贡献。

项目已托管至 GitHub 平台,地址如下:https://github.com/microsoft/sbom-tool

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

01 冒泡排序

####定义: 冒泡排序(bubble sort):是一种简单的排序算法.它重复的走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作就是重复的进行直到不需要交换,也就是这个数列已经排序完成.这个算法的由来是因为越小的元素由交换慢慢"浮"到…

python 读取json为list及向json文件追加数据

""" 读取json数据到list """ def read_json_list(json_file):if not (os.path.exists(json_file) and os.path.isfile(json_file)):with open(json_file, w) as f:f.write([])with open(json_file, r, encodingutf-8) as f:try:school_list jso…

【BIM入门实战】建筑墙体知识全攻略

墙体是建筑重要构成部分,墙体的主要作用就是承重、围护、分割。所以,稳定、保温、隔热、隔声这些是基本要求。 一、墙体分类 1. 墙体依其在房屋所处位置的不同,有内墙、外墙、其他墙之分 (1)外墙:凡位于建筑物外界的墙称为外墙。外墙是房屋的外围护结构,起着挡风、阻雨…

iOS AVPlayer 简单应用

//1 AVPlayerViewController *avvc [[AVPlayerViewController alloc] init]; //2 avvc.player [[AVPlayer alloc] initWithURL:url]; //3 [self presentViewController:avvc animated:YES completion:nil]; 转载于:https://www.cnblogs.com/fuxx/p/6378957.html

2012 Multi-University #8

DP单调队列优化 E One hundred layer 题意:n*m的矩形,从第一层x位置往下走,每一层都可以往左或往右移动最多k步再往下走,问走到n层时所走路径的最大值&#x…

如何进行「小步重构」?

大家好,我是Z哥。关于重构的文章之前也写过两篇:《接手历史悠久的老项目,干or跑?》《好的重构方法才能摆脱“屎山”》但是这两篇主要讲的是重构的方式方法。在 Z 哥看来,除了方式和方法还有一个点对于重构这件事来说也…

【BIM入门实战】Revit 2018幕墙的绘制与注意事项

一、幕墙概述 1. 定义 幕墙是建筑的外墙围护,不承重,像幕布一样挂上去,是现代大型和高层建筑常用的带有装饰效果的轻质墙体。由面板和支承结构体系组成的,可相对主体结构有一定位移能力或自身有一定变形能力、不承担主体结构所作…

微信小程序之登录

直接获取用户数据wx.getUserInfo({success: function (res) {var userInfo res.userInfoconsole.log("获取登录用户的所有信息")console.log(res.userInfo)}}) 复制代码如果用户拒绝,提示模态框,点击确定,进入设置,再次…

对象、字节流转换

数据表示时间   长度(字节)   数据类型   描述及要求平台登入时间   6        BYTE[6] (每个字节分别代表:年、月、日、时、分、秒)登入流水号 2        WORD    每登入一…

【BIM入门实战】Revit 图元分类有哪三种?Revit图元分类图文详解

Revit在项目中使用3种类型的图元:模型图元、基准图元和视图专有图元。 Revit中的图元也称为族。族包含图元的几何定义和图元所使用的参数。图元的每个实例都由族定义和控制。 1. 模型图元 模型图元表示建筑的实际三维几何图形,包括如下:墙、窗、门和屋顶,结构墙、楼板、坡…

跟益达学Solr5之solrconfig.xml配置详解

solrconfig.xml配置文件中包含了很多solr自身配置相关的参数,solrconfig.xml配置文件示例可以从solr的解压目录下找到&#xff0c;如图&#xff1a; 用文本编辑软件打开solrconfig.xml配置&#xff0c;你将会看到以下配置内容&#xff1a; Xml代码 <?xml version"1.…

.NET 7 新增速率限制 (Rate Limiting) 功能,轻松限制请求数量

前言.NET 7 内置了速率限制&#xff08;Rate Limiting&#xff09;功能&#xff0c;速率限制指的是限制可访问资源的请求数。例如数据库每分钟可以安全处理 1000 个请求&#xff0c;再多不确定会不会崩。这时就可以在应用程序中放一个速率限制器&#xff0c;规定每分钟只允许 …

Cmder集成到VS Code (新旧版设置不同)

1.55版本之前 "terminal.integrated.shell.windows": "cmd.exe","terminal.integrated.shellArgs.windows": ["/k", "d:\\cmder\\cmdermini\\vendor\\init.bat"],1.55版本之后 "terminal.integrated.profiles.windows&…

Linux Tomcat8 启动堆内存溢出

今天在部署一个开源项目的时候&#xff0c;Tomcat8启动异常&#xff0c;报错信息&#xff1a; Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: PermGen space 根据报错信息我们可以看出是堆内存不够。所以需要手动设置堆内存大小&…

【BIM入门实战】Revit视图中图元看不见的原因总结

在Revit模型设计的过程中&#xff0c;有时会提示绘制的图元不可见&#xff0c;通常情况下&#xff0c;可以采用以下三种方法让隐藏的图元显示出来。 原因一&#xff1a;视图范围 平面视图的形成是由操作平面对三维进行 水平切割的俯视图&#xff0c;如果绘制的图元不可见&…

Tabcontrol动态添加TabPage(获取或设置当前选项卡及其属性)

http://blog.csdn.net/xiongxyt2/article/details/6920575 •MultiLine 属性用true 或false来确定是否可以多行显示 •Appearance 属性设置选项卡的显示方式&#xff0c;Normal,Buttons和FlatButtons为三种不同的显示方式。 •TabPages属性设置选项卡的一系列属性&#xff0c;包…

用C#为国产智能手表写“Hello, China. ”

在此之前&#xff0c; 我写过几篇如何使用C#编写STM32程序的例子&#xff0c; 那么同样&#xff0c; ESP32下我们也可以使用C#&#xff0c;我们依然仰仗于一直在发展壮大的 .Net nanoFramework , 目前他支持的开发板越来越多 &#xff0c; 支持的芯片种类也越来越多&#xff0c…

Python将list存为csv文件

#!/usr/bin/env python # -*- encoding: utf-8 -*-import sys import json import os import pandas as pd""" description:将list存为csv文件 param {*} return {*} """staticmethod def list_to_csv(list_data, csv_file):if len(list_data) &…

【BIM入门实战】Revit入门基础知识选择题带答案解析(116题)

1、在Revit同一个界面同时打开多个视图的快捷键是( )。 A、 WT B、 WA C、 WC D、 WD 答案: A 2、Revit样板文件的后缀名是( )。 A、 .rvt B、 .rte C、 .rfa D、 .ifc 答案: B 3、标高、轴网创建的快捷键分别是( )。 A、 AL LL B、 LL GR C、 AR MM D、 LL TR 答案…

数据迁移 (选做)

1. pip install flask-migrate #Flask-Migrate 是一个数据迁移框架,需要通过Flask-script库来操作. 2. pip install flask-script #通过命令行来操作Flask 3. 新建模型更改文件&#xff1a;manage.py from flask_script import Managerfrom flask_migrate import Migrate, Mi…