QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

评论

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

设计模式只是一把锤子

博文视点Broadview

读书笔记 编程 面向对象 设计模式

音乐创作者必备软件,轻松玩转原创

奈奈的杂社

音乐制作 编曲 电音 作曲 乐团

所见即所得的用户增长技术背后是如何实现的

代立冬

大数据 用户增长 用户增长技术 ad-hoc技术

云图说 | 华为云GPU共享型AI容器,让你用得起,用得好,用的放心

华为云开发者联盟

gpu caffe

SpringBoot写后端接口,看这一篇就够了!

华为云开发者联盟

后端 swagger pringboot

区块链合约层是一种自动执行的数字协议

CECBC

区块链 智能合约

python——深入类和对象

菜鸟小sailor 🐕

Js 封装:阻止频繁重复操作

程序员与厨子

Mysql学习笔记:分库分表(sharding)

马迪奥

MySQL Sharding

Spring IoC 到底是什么?

小齐本齐

spring 程序员 ioc Spring Framework Spring Bean

两年Java工作经验涨到23K,这究竟是怎么做到的?

Java架构师迁哥

Mysql学习笔记:InnoDB索引结构浅析

马迪奥

MySQL 索引结构 innodb

开源决策树工具xDecision简介

赫杰辉

决策树 可视化 简化代码

一次代码评审,差点过不了试用期!

小傅哥

Java 小傅哥 代码质量 代码优化 代码规范

有关 HashMap 面试会问的一切

小齐本齐

Java 数据结构 算法

Java String 面面观

keaper

Java string pool string

区块链技术最重要价值所在

CECBC

区块链 数字经济 互联网革命

如何搭建第一个 Spring 项目?

小齐本齐

spring Spring Framework Spring Bean

架构师期末作业

傻傻的帅

区块链交易系统开发,期货合约平台搭建

我敢说,这个版本的斗地主你肯定没玩过?

华为云开发者联盟

命令行 游戏 斗地主

如何正确设置Java.home

谷鱼

拥抱K8S系列-07-部署K8S集群(Rancher)

张无忌

Kubernetes rancher

解Bug之路-记一次JVM堆外内存泄露Bug的查找

无毁的湖光

Linux JVM heap memory GC Linux Kenel

不懂 ZooKeeper?没关系,这一篇给你讲的明明白白

大头星

区块链技术与我们的生活将并存

CECBC

区块链 数字经济

端-边-云全面协同创新 英特尔携手百度共推产业智能化升级

E科讯

如何让知识图谱告诉你“故障根因”

华为云开发者联盟

华为云 知识图谱 图谱

oeasy 教您玩转 linux 010214 画面转文字 asciiview

o

知识点总结

Acker飏

高并发系列——CAS操作及CPU底层操作解析

诸葛小猿

CAS AtomicInteger compareAndSwap cmpxchg lock

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