SuperAPI AI 工具集

sca-osv-scanner

安全与审计

查看项目

更新于 10-16 07:45

技能介绍

用途

该技能面向安全工程师,用于执行软件成分分析(SCA),借助 Google 的 OSV-Scanner 检测项目依赖中已知的安全漏洞。适用于需要检查依赖漏洞、执行 SCA 或审计第三方库的场景,覆盖所有主流包生态系统。

主要能力

  • 扫描项目目录、指定锁文件或 SBOM 文件中的依赖漏洞。
  • 支持多种包生态系统的锁文件,包括:
    • npm:package-lock.json、yarn.lock、pnpm-lock.yaml
    • Python:requirements.txt、Pipfile.lock、poetry.lock
    • Go:go.sum
    • Rust:Cargo.lock
    • Java:pom.xml、gradle.lockfile
    • .NET:packages.lock.json
    • Ruby:Gemfile.lock
    • PHP:composer.lock
  • 输出 JSON 格式结果,便于解析和展示。
  • 可跳过 Git 扫描。

使用方式

前置条件

需先安装 OSV-Scanner,可通过以下命令安装:

go install github.com/google/osv-scanner/cmd/osv-scanner@latest

或下载二进制文件。安装后验证:

osv-scanner --version

操作步骤

  1. 确定目标:项目目录或特定锁文件。
  2. 运行扫描:
    • 扫描目录:osv-scanner -r --json <target-directory> > osv-results.json
    • 扫描指定锁文件:osv-scanner --lockfile=package-lock.json --json
    • 扫描 SBOM:osv-scanner --sbom=sbom.json --json
    • 跳过 Git 扫描:osv-scanner -r --skip-git --json <directory>
  3. 解析结果:读取 JSON 输出,按表格形式呈现发现的问题,包含序号、OSV ID、严重程度、包名、已安装版本、修复版本、摘要、生态系统。
  4. 总结:提供扫描的依赖总数与发现的漏洞数对比;优先列出严重/高危发现;为每个存在漏洞的包提供升级命令;为每个发现提供 OSV 公告链接。

适用场景

  • 检查项目依赖是否存在已知漏洞。
  • 执行软件成分分析(SCA)。
  • 审计第三方库的安全性。
  • 在 CI/CD 流程中集成依赖漏洞扫描。

限制

  • 需要预先安装 OSV-Scanner。
  • 扫描结果依赖于 OSV 数据库的覆盖范围。
  • 具体支持的锁文件类型以资料所列清单为准,其他生态系统的支持情况暂未提供。