软件包扫描功能可识别 Artifact Registry 代码库中基于语言的软件包的开源依赖项中存在的新旧漏洞、恶意软件和密钥。
如需详细了解与扫描软件包相关的费用,请参阅价格。
此概览假定您已熟悉如何在 Artifact Registry 中使用 Docker 代码库。
概览
当软件包推送到 Artifact Registry 时,Artifact Analysis 会扫描该软件包中的文件。初始扫描后,Artifact Registry 会继续监控已扫描软件包的元数据,以发现新漏洞、恶意软件包和密钥。
为了评估潜在的风险领域,Artifact Registry 会将软件包配置文件中的依赖项与已知漏洞进行匹配。您可以在 Artifact Analysis 中查看软件包中的潜在漏洞。
扫描软件包是否存在漏洞
Artifact Analysis 会扫描 Artifact Registry 代码库中的软件包,以识别漏洞、恶意软件、密钥,还会识别依赖项和许可,以便您了解软件包组成。
Artifact Analysis 会在新软件包推送到 Artifact Registry 时扫描这些软件包。此过程称为“自动扫描”。此扫描可提取有关软件包中文件的信息。扫描软件包后,Artifact Analysis 会生成一份漏洞报告,其中显示了该软件包的漏洞和恶意软件包发生情况。 只有在公开监控的软件包中才会检测到漏洞和恶意软件。
持续分析
扫描软件包后,Artifact Analysis 会持续监控 Artifact Registry 中已扫描的软件包元数据,以查找新漏洞和恶意软件包。
Artifact Analysis 每天会多次从漏洞来源接收新的和更新后的漏洞信息。当有新的漏洞数据到达时,Artifact Analysis 会更新现有的漏洞发生实例,为新的备注创建新的漏洞发生实例,并删除不再有效的漏洞发生实例。
只要映像和软件包是在过去 30 天内拉取的,Artifact Analysis 就会继续扫描它们。30 天后,扫描的映像和软件包的元数据将不再更新,结果也会过时。
Artifact Analysis 会归档过时超过 90 天的元数据。只有使用 API 才能评估此归档的元数据。 您可以拉取包含过时或归档元数据的映像,以重新扫描该映像。 刷新元数据最多可能需要 24 小时。无法重新扫描具有过时或已归档元数据的软件包。
支持的软件包类型
当您将软件包推送到 Artifact Registry 时,Artifact Analysis 可以扫描漏洞。
下表显示了 Artifact Analysis 可以扫描的软件包类型:
| 使用 Artifact Registry 进行自动扫描 | 按需扫描 | |
|---|---|---|
| Java 软件包 | ||
| Python 软件包 | ||
| Node.js 软件包 |
Artifact Analysis 界面
在 Google Cloud 控制台中,您可以查看 Artifact Registry 中软件包的漏洞和元数据。
您可以使用 gcloud CLI 查看漏洞和元数据。
您还可以使用 Artifact Analysis REST API 执行上述任何操作。与其他 Cloud Platform API 一样,您必须使用 OAuth2 验证访问权限。
Artifact Analysis API 支持 gRPC 和 REST/JSON。您可以使用客户端库或使用适用于 REST/JSON 的 curl 来调用 API。
漏洞来源
以下部分列出了 Artifact Analysis 用于获取