You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Grype工具扫描PURL及C/C++、Java项目依赖包漏洞?

使用Grype检测C/C++与Java依赖包漏洞指南

一、C/C++依赖(以flatbuffers指定commit为例)

方式1:扫描本地代码目录

先拉取代码并切换到目标提交,再用Grype扫描整个目录:

git clone https://github.com/google/flatbuffers.git
cd flatbuffers
git checkout ee848a02e17a94edaacd1dd95a1664b59c6f06b2
grype dir:.

方式2:使用PURL直接定位版本

Grype完全支持PURL(Package URL)来精准定位依赖,该flatbuffers提交对应的PURL为 pkg:github/google/flatbuffers@ee848a02e17a94edaacd1dd95a1664b59c6f06b2,直接扫描:

grype pkg:github/google/flatbuffers@ee848a02e17a94edaacd1dd95a1664b59c6f06b2

二、Java依赖(以scallop_2.13-5.1.0-sources.jar为例)

方式1:扫描本地jar文件

下载jar包到本地后,直接扫描文件路径:

grype path/to/scallop_2.13-5.1.0-sources.jar

方式2:使用PURL直接定位版本

该Maven源包对应的PURL为 pkg:maven/org.rogach/scallop_2.13@5.1.0?type=source-jar,执行扫描:

grype pkg:maven/org.rogach/scallop_2.13@5.1.0?type=source-jar

三、额外注意事项

  • 确保已安装Grype:可以通过Homebrew执行 brew install grype,或使用官方提供的安装脚本完成部署。
  • PURL格式规则:不同生态的依赖PURL格式有差异,核心结构为 pkg:<类型>/<路径>@<版本>?<附加参数>,比如GitHub项目用pkg:github前缀,Maven包用pkg:maven前缀。
  • 全项目扫描:如果依赖是项目的一部分,直接执行 grype dir:<项目根目录>,Grype会自动识别项目中的依赖配置文件(如C/C++的CMakeLists.txt、Java的pom.xml/gradle文件)并完成漏洞检测。

内容的提问来源于stack exchange,提问作者Sridhar C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 23:43:26