当前位置: 首页 > news >正文

Google OSV-Scanner:一个命令扫清项目依赖里的漏洞

文章目录

  • Google OSV-Scanner:一个命令扫清项目依赖里的漏洞
    • 1、 为什么是 OSV
    • 2、 能用在哪
    • 3、 怎么用
    • 4、 不只是发现漏洞
    • 5、 适合谁用

Google OSV-Scanner:一个命令扫清项目依赖里的漏洞

OSV-Scanner 是 Google 开源的漏洞扫描工具,在 GitHub 上已经拿到 10,609 个 Star。

它干的事很直接:扫描项目的依赖清单,查出哪些依赖存在已知漏洞。支持 11+ 编程语言生态、19+ 锁文件格式、Linux 系统包、容器镜像,还能给出修复建议。

1、 为什么是 OSV

市面上漏洞扫描工具不少,但 OSV-Scanner 的底层数据库 OSV.dev 有自己的一套逻辑。

多数商业扫描器的漏洞库是闭源的,你没法知道它为什么报这个漏洞、数据来源是哪里。OSV.dev 的数据全部来自公开权威来源——GitHub Security Advisories、RustSec Advisory Database、Ubuntu 安全通知等。

每个漏洞的描述格式统一,版本影响范围用机器可读的方式存储,能精确匹配开发者项目里的依赖列表。结果是误报率低很多。

更直接的好处:任何人都可以对漏洞条目提改进建议,社区参与感强,数据质量也在持续变好。

2、 能用在哪

OSV-Scanner 不是只扫一种项目。它覆盖的范围比较广:

  • 语言生态:C/C++、Dart、Elixir、Go、Java、JavaScript、PHP、Python、R、Ruby、Rust
  • 包管理器:npm、pip、yarn、Maven、Go modules、Cargo、Gem、Composer、NuGet 等
  • 操作系统:Linux 系统包也能扫
  • 容器镜像:支持层感知扫描,识别基础镜像和应用依赖中的漏洞

3、 怎么用

最基础的用法是扫整个项目目录:

osv-scanner scansource-r/path/to/your/dir

它会递归查找目录下所有支持的锁文件(package.json、go.mod、pom.xml 等),逐个匹配漏洞库。

扫容器镜像也很简单:

osv-scanner scan image my-image-name:tag

如果网络不方便,支持离线模式,先下载本地数据库,之后完全不需要联网:

osv-scanner--offline--download-offline-databases ./path/to/your/dir

4、 不只是发现漏洞

OSV-Scanner 还有一个实验性功能叫 Guided Remediation。它不只是告诉你"有漏洞",还会建议升级到哪个版本能修掉。

支持基于依赖深度、最低严重等级、修复策略等条件过滤建议。目前 npm 和 Maven 项目都可以用:

osv-scanner fix --max-depth=3--min-severity=5-Lpath/to/package-lock.json

还带交互模式,方便一条一条确认要不要升级。

另外它内置了调用分析——如果某个漏洞函数在你的代码里根本没被调用,就不会报警。这个功能能有效减少干扰。

5、 适合谁用

正在维护多语言项目的团队、做 CI/CD 安全流水线的开发者、或者单纯想了解自己项目依赖状况的人,都可以试试 OSV-Scanner。安装很简单,下载预编译二进制或者用go install一行就行。

想了解自己项目依赖状况的人,都可以试试 OSV-Scanner。安装很简单,下载预编译二进制或者用go install一行就行。

http://www.cnnetsun.cn/news/3237848.html

相关文章:

  • 计算机毕业设计之旅行社网站的设计与实现
  • 2026年外贸获客新思路:SEO保底,GEO抢跑,双管齐下
  • 小说大纲生成AI写作辅助工具使用参考
  • 私有化视频会议平台/智能会议管理系统EasyDSS助力企业实现数字化培训全链路转型
  • Maven POM 标签说明
  • 从单兵到团队:用AI智能体协作框架构建高效自动化工作流
  • 3步免费获取国家中小学智慧教育平台电子课本PDF:教师必备的终极下载指南
  • SketchUp STL插件:3D打印工作流的终极解决方案
  • 空号检测能力综合评估:2026主流方案数据源覆盖度、识别准确率与实时响应速度梯队解读
  • 终极指南:快速解决ComfyUI-Impact-Pack FaceDetailer节点种子缺失问题
  • 怎样高效实现微信群消息智能转发:自动化同步完整指南
  • 【Qt初识】信号槽(二):自定义信号函数与槽函数
  • 微信群消息自动转发完整指南:3步实现跨群信息同步
  • 校招季消息发不完,如何告别重复邀约内耗
  • 多个 AI 怎么「开会不抢话」?AutoGen Group Chat 一文讲透
  • MambaDFuse 多模态图像融合实战:RTX 4090 双卡训练,8大指标超越SOTA
  • Python scikit-learn KMeans 与 ArcPy 结合:GIS面数据4属性聚类与3步自动化制图
  • 计算机毕业设计之旅游资源及线路管理系统
  • 2026零基础考试季课堂记录入门教程避坑详解包教包会可直接上手
  • 【IEEE出版、往届2.5个月检索、中山大学主办】第六届计算机科学与区块链国际学术会议(CCSB 2026)
  • 网站发布内容预检和网站巡查预警对运营管理有哪些要求?
  • 【油藏地球物理正演软件ColchisFM】地震剖面图片数值化地震数据——科吉思技术实战分享
  • 终极RPG Maker解密教程:5分钟学会提取加密游戏资源
  • 如何在Windows电脑上安装APK文件:APK安装器完整使用指南
  • 谷歌 Made By Google 发布会官宣!Pixel 11 彻底终结 128GB:为何 AI 时代“256GB 起步”成了硬红线?
  • 计算机毕业设计之旅游资源网站平台设计与实现
  • 店铺运营自动化,多款电商运营内容协作工具实操分享
  • PCA主成分分析1--(矿相定向重构、高效协同浸出)
  • 80后最累?错。是三股力同时砸在一代人身上|唤醒国人·建设性自述 v1.0
  • 反向海淘海外仓架构设计:解决国货出海集运仓储全链路核心挑战