写点什么

谷歌开源漏洞扫描工具 OSV-Scanner

  • 2023-01-19
    北京
  • 本文字数:1520 字

    阅读完需:约 5 分钟

谷歌开源漏洞扫描工具OSV-Scanner

谷歌发布OSV-Scanner,一款开源漏洞(Open Source Vulnerability,OSV)数据库前端接口。OSV 数据库是一个分布式开源数据库,通过 OSV 格式存储漏洞信息。OSV-Scanner 会基于 OSV 数据库评估项目的依赖项,显示与项目相关的所有漏洞。


在扫描项目时,OSV-Scanner 首先通过分析清单、软件材料清单(SBOM)和代码提交哈希值来确定正在使用的所有依赖项。这些信息用于查询 OSV 数据库,并报告与项目相关的漏洞。漏洞通过表格的形式或基于 JSON 的 OSV 格式(可选)进行报告。



OSV-Scanner 的漏洞扫描输出(来源


OSV格式提供了一种机器可读的 JSON 模式,用于表示漏洞信息。这种格式被用来加强与实际开源包中使用的命名和方案一致的版本规范。谷歌高级工程师Oliver Chang和谷歌杰出工程师Russ Cox表示,这种方法“可以用来描述任意开源生态系统中的漏洞,同时又不需要依赖生态系统的逻辑来处理它们。”


"schema_version": "1.3.0",  "id": "GHSA-c3g4-w6cv-6v7h",  "modified": "2022-04-01T13:56:42Z",  "published": "2022-04-01T13:56:42Z",  "aliases": [ "CVE-2022-27651" ],  "summary": "Non-empty default inheritable capabilities for linux container in Buildah",  "details": "A bug was found in Buildah where containers were created ...",  "affected": [    {      "package": {        "ecosystem": "Go",        "name": "github.com/containers/buildah"      },      "ranges": [        {          "type": "SEMVER",          "events": [            {              "introduced": "0"            },            {              "fixed": "1.25.0"            }          ]        }      ]    }  ],  "references": [    {      "type": "WEB",      "url": "https://github.com/containers/buildah/commit/..."    },    {      "type": "PACKAGE",      "url": "https://github.com/containers/buildah"    }  ]}
复制代码


使用命令 osv-scanner -r /path/to/your/dir 来扫描目录,找到 lockfiles、SBOM 和 git 目录。选项-r 用于进行递归扫描。目前支持使用 Package URL 的 SPDX 和 CycloneDX SBOM,也支持多种锁文件,包括 yarn.lock、composer.lock、go.mod 和 Gemfile.lock。


OSV-Scanner 也可以用于扫描 Debian 镜像中已安装的包,找出其中的漏洞:$ osv-scanner --docker image_name:latest。这需要安装 docker,并且目前不扫描 docker 容器的文件系统。关于这项预览功能的更多细节可以在GitHub Issue中找到。


OSV-Scanner 可以被配置为根据漏洞 ID 来忽略漏洞,在配置时还可以可选地提供忽略的到期日期和原因。忽略的漏洞通过 IgnoreVulns 键来指定。


[[IgnoredVulns]]id = "GO-2022-0968"# ignoreUntil = 2022-11-09 reason = "No ssh servers are connected to or hosted in Go lang"
复制代码


OSV-Scanner 也被集成到OpensSSF Scorecard的漏洞检测中。Scorecard 是一种自动化的安全工具,用于识别开源项目中有风险的供应链。因为集成了 OSV-Scanner,Scorecard 的能力得到了扩展,可以扫描项目本身的漏洞和项目依赖项中的漏洞。


谷歌软件工程师Rex Pan分享了 OSV-Scanner 后续的一些细节。该团队打算提供一个独立的 CI 操作,以便可以进一步与工作流集成。Pan 说,他们希望通过“向 CVE 添加精确的提交级元数据来构建一个高质量的 C/C++漏洞数据库”,以此来改进对 C 和 C++的支持。


OSV-Scanner 基于Apache License 2.0发行许可,代码托管在GitHub上。关于这个项目的更多细节可以在发布博文中找到。


原文链接

https://www.infoq.com/news/2022/12/google-osv-scanner/


相关阅读:

符号执行,从漏洞扫描到自动化生成测试用例

网络安全从业人员调查:漏洞扫描是最该被防范的安全问题

2023-01-19 08:0012474

评论

发布
暂无评论
发现更多内容

DDD实战(9):冲刺1战术之服务设计(上)

深清秋

DDD 软件架构 生鲜电商系统

这个页面效果看起来真恶心,怎么解?

石云升

团队管理 项目管理 职场经验 5月月更

架构实战营-模块四-作业

michael

架构实战营 #架构实战营 「架构实战营」

软件架构的23个基本原则

俞凡

架构

在线Excel转XML工具

入门小站

工具

运营好公众号需要具备的能力/技能

源字节1号

软件开发

深度学习之解构基础网络结构

AIWeker

人工智能 深度学习 基础网络

千万级学生管理系统的考试试卷存储方案

高山觅流水

「架构实战营」

模块四:学生管理系统考试试卷存储方案

jiaoxn

「架构实战营」

今天是第几周

入门小站

工具

【愚公系列】2022 年 05月 二十三种设计模式(一)-工厂方法模式(Factory Method Pattern)

愚公搬代码

5月月更

千万级学生管理系统的考试试卷存储方案

鱼恨水

linux之登录式shell和非登录式shell

入门小站

Linux

Kotlin 中的泛型:协变与逆变

如浴春风

5月月更

[Day32-02]-[二叉树]在二叉树中增加一行

方勇(gopher)

LeetCode 二叉树 数据结构和算法

[Day32-03]-[二叉树]不同的二叉搜索树

方勇(gopher)

LeetCode 二叉树 动态规划 数据结构和算法 卡特兰数

千万级学生管理系统的考试试卷存储方案

CityAnimal

架构实战营 #架构实战营 架构师实战营 「架构实战营」

[Day32-04]-[二叉树]二叉树的最近公共祖先

方勇(gopher)

LeetCode 二叉树 数据结构和算法

Hadoop全分布式部署

芝士味的椒盐

Java 大数据 hadoop 5月月更

深入理解 Go 中的字符串

宇宙之一粟

字符串 Go 语言 5月月更

千万级学生管理系统的考试试卷存储方案设计

大眼喵

「架构实战营」

nginx配置系列(四)请求限制

乌龟哥哥

5月月更

Kubernetes 如何将 Pod 分配给节点

玄月九

Kubernetes 污点 亲和 反亲和 容忍

设计千万级学生管理系统的考试试卷存储方案

唐诗宋词

[Day32-05]-[BST] BST最近公共祖先

方勇(gopher)

LeetCode 二叉树 数据结构和算法

如何在网站上安装 WordPress

海拥(haiyong.site)

WordPress 5月月更

maven构建docker镜像三部曲之一:准备环境

程序员欣宸

Java Docker 5月月更

M4: 设计千万级学生管理系统的考试试卷存储方案

Jadedev

架构实战营

深度学习之解构卷积

AIWeker

人工智能 深度学习 卷积 convolution

他们连夜跑路了,原因是我给数据开发的学弟学妹写了个实习生年终总结

袁袁袁袁满

使用PIL.Image库极简生成含冬奥会元素头像

芝士味的椒盐

Python 冬奥会 5月月更

谷歌开源漏洞扫描工具OSV-Scanner_安全_Matt Campbell_InfoQ精选文章