このドキュメントでは、既存の 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 ステータスを継承します。
1 つのバージョンに 2 つの VEX ステートメント(リソース URL 用と関連するイメージ URL 用)がある場合、リソース URL 用に記述された VEX ステートメントが優先され、脆弱性の発生に引き継がれます。
次のステップ
- VEX を使用して脆弱性の問題の優先順位を付けます。VEX ステートメントを表示する方法と、VEX ステータス別に脆弱性をフィルタする方法について学習する。
- コンプライアンス要件をサポートするためにソフトウェア部品構成表(SBOM)を生成する方法について学習する。
- Artifact Analysis を使用して、OS パッケージと言語パッケージの脆弱性をスキャンします。