要防范软件供应链攻击,自动化扫描工具必不可少。OSV-Scanner 这个开源代码漏洞扫描器,以及支持该扫描器的漏洞数据库 osv.dev 在推出的当时就有点及时雨的意思。
之前笔者对 OSV-Scanner 已经做了介绍和功能跟踪。最新版本(本文为1.9.2)增加了一些颇为有用的实验性功能,比如离线模式和指导性纠正,所以再来仔细看看。
笔者:国际注册信息系统审计师、软考系统分析师、软件工程硕士
本篇5千余字。
离线模式看名字都大约知道是什么了,所以先看指导性纠正(Guided Remediation)这个晦涩功能名字的细节。
其实在笔者理解,这个实验性功能如此命名,是工具开发人员不想用户误以为可以无脑使用此功能。
指导性纠正功能可以帮助开发人员简单、快速地修正扫描器发现的有漏洞的依赖项,而且可以批量修复。据介绍,该功能的设计要点包括:
1)利用 deps.dev 分解软件项目的整个传递图,通过分析确定消除漏洞所需的最少更改;
2)根据能修正的传递性漏洞的总数,排列出直接依赖升级的优先级;
3)根据依赖深度、严重性和是否关心仅用于开发的依赖等筛选项排列出修正漏洞的优先级;
4)修改软件包清单(manifest)和锁定文件(lockfile)从而修正漏洞;