Ce document explique comment créer des instructions Vulnerability Exploitability eXchange (VEX).
Pour chaque image de conteneur transférée vers Artifact Registry, Artifact Analysis peut stocker une déclaration VEX associée. VEX est un type d'avis de sécurité qui indique si un produit est affecté par une faille connue.
Chaque relevé fournit les informations suivantes :
- Éditeur de la déclaration VEX
- L'artefact pour lequel la déclaration est rédigée
- L'évaluation des failles (état VEX) pour toutes les failles connues
Les éditeurs de logiciels peuvent créer des instructions VEX pour décrire la posture de sécurité d'une application. Les déclarations VEX indiquent les failles découvertes dans des artefacts spécifiques et fournissent un contexte sur leur impact pour les clients ou les organismes de réglementation.
Les responsables de l'application des règles et de la sécurité peuvent utiliser l'état VEX pour trier les risques dans leurs chaînes d'approvisionnement logiciel et utiliser les déclarations VEX pour attester de la composition de leurs artefacts afin d'aider les organisations à répondre aux exigences réglementaires.
État VEX
L'état VEX indique si un artefact est affecté par une faille connue.
Les états possibles sont les suivants :
- Non affecté : aucune correction n'est requise concernant cette faille.
- Affecté : des actions correctives sont recommandées.
- Corrigé : dans cette version du produit, un correctif a été appliqué pour traiter la faille.
- En cours d'examen : l'état de ce produit n'est pas encore déterminé. L'éditeur fournira un état actualisé dans une prochaine version.
Avant de commencer
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Avoir des images de conteneurs stockées dans un dépôt Artifact Registry ou créer un dépôt et transférer vos images.
-
Pour créer et mettre à jour des notes :
Éditeur de notes Container Analysis (
roles/containeranalysis.notes.editor
) - PRODUCT_NAME Nom de produit lisible pour l'image. Accepte une valeur de chaîne. La valeur doit correspondre au nom canonique complet du produit, y compris le numéro de version et les autres attributs.
- LOCATION correspond à la région ou à l'emplacement multirégional de votre dépôt.
- PROJECT_ID est l'ID du projet contenant votre dépôt.
- REPO_NAME est le nom de votre dépôt Docker dans Artifact Registry.
- IMAGE_NAME correspond au nom de l'image.
- CVE_ID est l'identifiant de la faille, tel que
CVE-2017-11164
. - PRODUCT_STATUS correspond à l'évaluation du risque de sécurité.
Artifact Analysis accepte quatre types d'état :
known_affected
,known_not_affected
,under_investigation
etfixed
. - Importez des déclarations VEX : importez vos déclarations VEX existantes ou celles fournies par d'autres éditeurs.
- Hiérarchisez les problèmes de failles à l'aide de VEX. Découvrez comment afficher les instructions VEX et filtrer les failles par état VEX.
Rôles requis
Pour obtenir les autorisations nécessaires pour importer des évaluations VEX et vérifier l'état VEX des failles, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer des instructions VEX
Artifact Analysis est compatible avec la norme Common Security Advisory Format (CSAF) 2.0 au format JSON. Pour générer une nouvelle déclaration VEX, utilisez le schéma CSAF.
Voici un exemple d'instruction VEX pour une image dans Artifact Registry avec une branche cve
pour une faille connue.
Vous devez définir la valeur de product_status
pour chaque CVE.
{
"document": {
"csaf_version": "2.0",
"lang": "en-US",
"publisher": {
"name": "Sample-Company",
"namespace": "https://sample-company.com"
},
"title": "Vex document 1.1"
},
"product_tree": {
"branches": [
{
"name": "https://LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME",
"product": {
"name": "PRODUCT_NAME",
"product_id": "IMAGE_NAME"
}
}
]
},
"vulnerabilities": [
{
"cve": "CVE_ID",
"product_status": {
"PRODUCT_STATUS": [
"IMAGE_NAME"
]
}
}
]
}
Où
Pour chaque faille que vous souhaitez lister dans votre déclaration VEX, vous devez créer une branche cve
et définir la valeur de product_status
.
La valeur du champ name
dans product_tree.branches.name
correspond à l'URI de l'image. Si vous incluez cette valeur, l'instruction VEX sera associée à une image Docker spécifique.