[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-03 (世界標準時間)。"],[[["\u003cp\u003eThis document details how to view Vulnerability Exploitability eXchange (VEX) statements in Artifact Analysis and filter vulnerabilities based on VEX status, enabling security and policy enforcers to prioritize mitigation efforts.\u003c/p\u003e\n"],["\u003cp\u003eYou can view VEX status for container images within the Google Cloud console through the Artifact Registry Repositories and in Cloud Build through the Security insights side panel.\u003c/p\u003e\n"],["\u003cp\u003eUsing the gcloud CLI, you can view VEX information for specific artifacts by querying the API for vulnerability assessment notes and filter vulnerability metadata by VEX status.\u003c/p\u003e\n"],["\u003cp\u003eThe gcloud CLI also allows you to list vulnerabilities that do not have associated VEX information, helping you identify gaps in your vulnerability assessments.\u003c/p\u003e\n"],["\u003cp\u003ePre-GA features are available "as is" and might have limited support and this specific feature is subjected to the "Pre-GA Offerings Terms".\u003c/p\u003e\n"]]],[],null,["# View VEX status\n\n| **Preview**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nThis document describes how to view the\n[Vulnerability Exploitability eXchange (VEX)](https://www.cisa.gov/sites/default/files/2023-04/minimum-requirements-for-vex-508c.pdf)\nstatements stored in Artifact Analysis and filter vulnerabilities using VEX\nstatus.\n\nSecurity and policy enforcers can use these features to prioritize among\nsecurity issue mitigation tasks. You can also use VEX data to attest to the\ncomposition of your artifacts to help your organization meet regulatory\nrequirements.\n\nRequired roles\n--------------\n\n\nTo get the permissions that\nyou need to upload VEX assessments and check the VEX status of vulnerabilities,\n\nask your administrator to grant you the\nfollowing IAM roles on the project:\n\n- To view vulnerability occurrences: [Container Analysis Occurrences Viewer](/iam/docs/roles-permissions/containeranalysis#containeranalysis.occurrences.viewer) (`roles/containeranalysis.occurrences.viewer`)\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nYou might also be able to get\nthe required permissions through [custom\nroles](/iam/docs/creating-custom-roles) or other [predefined\nroles](/iam/docs/roles-overview#predefined).\n\nView VEX status in the Google Cloud console\n-------------------------------------------\n\nTo view VEX information for container images stored in Artifact Registry:\n\n1. Open the Artifact Registry **Repositories** page.\n\n [Open the Repositories page](https://console.cloud.google.com/artifacts)\n\n The page displays a list of your repositories.\n2. In the repositories list, click a repository name.\n\n3. In the images list, click an image name.\n\n A list of the image digests opens.\n4. In the digests list, click a digest name.\n\n A digest details page opens with a row of tabs. By default, the **Overview** tab is open.\n5. In the row of tabs, select the **Vulnerabilities** tab.\n\n The page displays a **Scan results** overview with a **VEX Status** section.\n\n The **VEX Status** summary section displays the number of packages that are\n categorized by each VEX status type. To see all packages with a specific\n VEX status, click the number beside the status type.\n\n The **Vulnerabilities** tab also displays the VEX status for each package is\n in the vulnerabilities list.\n\n To filter the vulnerabilities list:\n 1. Above the vulnerabilities list, click **Filter vulnerabilities**.\n 2. Choose a filter from the filter list.\n 3. Specify the value that you want to use for filtering the list.\n\n### View VEX status in Cloud Build\n\nIf you're using Cloud Build, you can also view VEX information in the\n**Security insights** side panel within the Google Cloud console.\n\nIf you're using Cloud Build, you can view image metadata in the\n**Security insights** side panel within the Google Cloud console.\n\nThe **Security insights** side panel provides a high-level overview of build\nsecurity information for artifacts stored in Artifact Registry. To learn more\nabout the side panel and how you can use Cloud Build to help protect your\nsoftware supply chain, see\n[View build security insights](/build/docs/view-build-security-insights).\n\nView using the gcloud CLI\n-------------------------\n\nThe following section explains how to retrieve VEX information and\napply filters to limit results based on your needs.\n\n### View VEX info for a single artifact\n\nTo view uploaded VEX info, you can query the API and list notes with\nthe note type `VULNERABILITY_ASSESSMENT`.\n\nUse the following API call to request all of the vulnerability assessment\nnotes for the specified artifact: \n\n curl -G -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $(gcloud auth print-access-token)\" \\\n --data-urlencode \"filter=(kind=\\\"VULNERABILITY_ASSESSMENT\\\" AND vulnerability_assessment.product.generic_uri=\\\"https://\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e-docker.pkg.dev/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/\u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e/\u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003eDIGEST\u003c/var\u003e\\\"\" https://containeranalysis.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/notes\n\nWhere\n\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e is the region or multi-regional location of your repository.\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is the ID for the Google Cloud project where your image is stored in an Artifact Registry repository.\n- \u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e is the name of the Artifact Registry repository that contains the image.\n- \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e is the name of the image.\n- \u003cvar translate=\"no\"\u003eDIGEST\u003c/var\u003e is the image digest, a string starting with `sha256:`.\n\n### Filter vulnerabilities by VEX status\n\nUsing gcloud, you can filter vulnerability metadata by\nVEX status. Artifact Analysis filters based on the status stored in each\n[Grafeas vulnerability occurrence](https://github.com/grafeas/grafeas/blob/master/proto/v1/vulnerability.proto#L257).\n\nRun the following command to filter vulnerability occurrences based on a\nspecified VEX status: \n\n gcloud artifacts vulnerabilities list \u003cvar translate=\"no\"\u003eRESOURCE_URI\u003c/var\u003e \\\n --occurrence-filter=\"vulnDetails.vex_assessment.state=\\\"\u003cvar translate=\"no\"\u003eSTATUS\u003c/var\u003e\\\"\"\n\nWhere\n\n- \u003cvar translate=\"no\"\u003eRESOURCE_URI\u003c/var\u003e is the complete URL of the image, similar to https://LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH.\n- \u003cvar translate=\"no\"\u003eSTATUS\u003c/var\u003e is the VEX status to filter for, which can be one of the following values: `known_affected`, `known_not_affected`, `under_investigation`, or `fixed`.\n\nFor example, run the following command to filter for vulnerability occurrences\nwith the VEX status `AFFECTED`: \n\n gcloud artifacts vulnerabilities list \u003cvar translate=\"no\"\u003eRESOURCE_URI\u003c/var\u003e \\\n --occurrence-filter=\"vulnDetails.vex_assessment.state=\\\"AFFECTED\\\"\"\n\n### List vulnerabilities without VEX\n\nTo identify which vulnerabilities don't yet have any VEX information\nassociated with them, use the following gcloud command: \n\n gcloud artifacts vulnerabilities list /\n \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e-docker.pkg.dev/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/\u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e/\u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003eDIGEST\u003c/var\u003e /--occurrence-filter=\"isNull(vulnDetails.vex_assessment.state)\"\n\nWhere\n\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e is the region or multi-regional location of your repository.\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is the ID for the Google Cloud project where your image is stored in an Artifact Registry repository.\n- \u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e is the name of the Artifact Registry repository that contains the image.\n- \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e is the name of the image.\n- \u003cvar translate=\"no\"\u003eDIGEST\u003c/var\u003e is the image digest, a string starting with `sha256:`.\n\nLimitations\n-----------\n\n- Uploading VEX statements is only supported for container images.\n- Uploaded VEX statements can't be exported into CSAF, OpenVex, or SPDX standards.\n\nWhat's next\n-----------\n\n- [Learn about SBOMs](/artifact-analysis/docs/sbom-overview).\n- [Scan for vulnerabilities](/artifact-analysis/docs/container-scanning-overview) with Artifact Analysis."]]