套件掃描總覽

套件掃描功能會找出 Artifact Registry 存放區中,以語言為基礎的套件是否有開放原始碼依附元件,並偵測現有和新發現的安全漏洞。

如要進一步瞭解掃描套裝組合的相關費用,請參閱定價

本總覽假設您已熟悉如何在 Artifact Registry 中使用 Docker 存放區。

總覽

將套件推送至 Artifact Registry 時,Artifact Analysis 會掃描套件中的檔案。完成初始掃描後,Artifact Registry 會持續監控掃描套件的中繼資料,找出新的安全漏洞。

為評估潛在風險領域,Artifact Registry 會比對套件設定檔中的依附元件與已知安全漏洞。您可以在構件分析中查看套件的潛在安全漏洞。

掃描套件中的安全漏洞

Artifact Analysis 會掃描 Artifact Registry 存放區中的套件,找出安全漏洞,並識別依附元件和授權,協助您瞭解套件組成。

將新套件推送至 Artifact Registry 時,Artifact Analysis 會掃描這些套件。這項程序稱為「自動掃描」。掃描作業會擷取套件中檔案的相關資訊。掃描套件後,Artifact Analysis 會產生安全漏洞報告,顯示該套件的安全漏洞例項。系統只會偵測公開監控安全漏洞的套件。

持續分析

掃描套件後,Artifact Analysis 會持續監控 Artifact Registry 中掃描的套件中繼資料,找出新的安全漏洞。

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 用來取得 CVE 資料的漏洞來源。

語言套件掃描

Artifact Analysis 支援掃描套件中的檔案,檢查是否有安全漏洞。安全漏洞資料來自 GitHub Advisory Database

在多數情況下,每項安全漏洞都會獲派 CVE ID,而這個 ID 會成為該安全漏洞的主要 ID。如果沒有指派給安全漏洞的 CVE ID,系統會指派 GHSA ID 做為 ID。如果該安全漏洞日後取得 CVE ID,安全漏洞 ID 就會更新為 CVE。詳情請參閱「在專案中檢查特定安全漏洞」。

套件管理工具和語意化版本

  • Java - 構件分析支援符合 Maven 命名慣例的 Maven 套件。如果檔案包版本包含空格,系統就不會掃描。
  • Node.js - 套件版本比對遵循語意版本管理規格。
  • Python - Python 版本比對遵循 PEP 440 語意。

限制

  • Artifact Analysis 只會掃描檔案數不超過 100 個的套件。

  • 如果您將相同套件推送至多個存放區,系統會針對每次推送向您收費。詳情請參閱「Artifact Analysis 定價」。

後續步驟

  • 如要瞭解如何查看套件安全漏洞及篩選安全漏洞例項,請參閱「自動掃描套件」。