红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

谷歌开源漏洞扫描工具 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:0011479

评论

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

API接口设计最佳实践

Man

Java 安全开发 设计实践 APi设计 接口管理

关于如何判断一个list是否为空的思考

Leetao

Python Python基础知识 列表

昨天、今天、明天

escray

CAP原理

李白

【进收藏夹吃灰系列】——Java基础快速扫盲

Noneplus

Java

实战技巧,Vue原来还可以这样写

前端有的玩

Java Vue 大前端 技巧

6种快速统计代码执行时间的方法,真香!

王磊

Java

猿灯塔:spring Boot Starter开发及源码刨析(五)

猿灯塔

spring 猿灯塔

从0开始设计Flutter独立APP | 第三篇: 一劳永逸解决全局BuildContext问题

渔子长

flutter 大前端 跨平台 React

30岁+程序员职场攻略:找到自己的“职业锚”乘风破浪

华为云开发者联盟

程序员 AI 开发者 职场

文档写作利器:Markdown

xcbeyond

markdown

MySQL性能优化(二):选择优化的数据类型

xcbeyond

MySQL性能优化

当我们在谈架构时,我们谈的是什么?

冯文辉

架构 企业架构 系统架构

Java8——方法引用

Java旅途

java8 方法引用

纯CSS实现自定义单选框和复选框

爱嘤嘤嘤斯坦

CSS Java 编程语言 标签

开发框架文档体系化的思考

vivo互联网技术

框架开发

架构师训练营作业 -- Week 6

吴炳华

极客大学架构师训练营

MySQL性能优化(一):MySQL架构与核心问题

xcbeyond

MySQL MySQL性能优化

week6 总结

不在调上

Doris 临时失效处理过程

石刻掌纹

一张PDF了解JDK10 GC调优秘籍-附PDF下载

程序那些事

Java jdk JVM GC JDK10

Docker网络学习第一篇:Linux虚拟网络

Lazy

Docker Linux 网络

秒懂云通信:通信圈黑话大盘点

阿里云Edge Plus

云通信 通信云

5万字、97 张图总结操作系统核心知识点

cxuan

操作系统 计算机

Malagu 框架开发 React 应用新体验

木香丘

Serverless 大前端 React 微应用 Malagu

第六周总结

石刻掌纹

Docker网络学习第二篇-认识iptables

Lazy

Docker Linux 网络

Malagu 框架的认证与授权【借鉴 Spring Security 和 aws iam 的设计】

木香丘

身份认证 权限系统

“Python的单例模式有四种写法,你知道么?”——孔乙己

BigYoung

Python 设计模式 单例模式

【面试题系列】——Java基础

Noneplus

Java

震惊!ConcurrentHashMap里面也有死循环,作者留下的“彩蛋”了解一下?

why技术

Java 源码 jdk 后端 bug

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