このドキュメントでは、既存の Vulnerability Exploitability eXchange(VEX)ステートメントを Artifact Analysis にアップロードする方法について説明します。他のパブリッシャーから提供された明細書をアップロードすることもできます。
VEX ステートメントは、JSON の Common Security Advisory Format(CSAF)2.0 標準に従ってフォーマットする必要があります。
必要なロール
VEX 評価をアップロードし、脆弱性の VEX ステータスを確認するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
メモを作成して更新する: Container Analysis メモの編集者 (
roles/containeranalysis.notes.editor
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
VEX ステートメントをアップロードする
artifacts vulnerabilities load-vex
コマンドを実行して、VEX データをアップロードし、Artifact Analysis に保存します。
gcloud artifacts vulnerabilities load-vex /
--source CSAF_SOURCE /
--uri RESOURCE_URI /
場所
- CSAF_SOURCE は、ローカルに保存されている VEX ステートメント ファイルのパスです。ファイルは、CSAF スキーマに沿った JSON ファイルでなければなりません。
- RESOURCE_URI は、次のいずれかになります。
- 画像の完全な URL(
https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH
など)。 - 画像の URL(
https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID
など)。
- 画像の完全な URL(
Artifact Analysis は、VEX ステートメントを Grafeas VulnerabilityAssessment
メモに変換します。
Artifact Analysis は、脆弱性評価メモを CVE ごとに 1 つのメモとして保存します。メモは、指定されたイメージと同じプロジェクト内の Container Analysis API に保存されます。
VEX ステートメントをアップロードすると、Artifact Analysis は関連する脆弱性の発生に VEX ステータス情報も転送するため、VEX ステータスで脆弱性をフィルタできます。VEX ステートメントがイメージに適用されると、Artifact Analysis は、新しく push されたバージョンを含む、そのイメージのすべてのバージョンに VEX ステータスを引き継ぎます。
単一のバージョンに 2 つの VEX ステートメント(リソース URL 用と関連付けられたイメージ URL 用)がある場合、リソース URL 用に作成された VEX ステートメントが優先され、脆弱性オカレンスに引き継がれます。
次のステップ
- VEX を使用して脆弱性問題の優先順位を付けます。VEX ステートメントを表示し、VEX ステータスで脆弱性をフィルタする方法について学習する。
- コンプライアンス要件をサポートするために、ソフトウェア部品構成表(SBOM)を生成する方法を学習する。
- Artifact Analysis を使用して、OS パッケージと言語パッケージの脆弱性をスキャンします。