CSPACE-IMG-02: Workload image registry is not world-readable¶
| Property | Value |
|---|---|
| Severity | medium |
| Platform | GCP Confidential Space (AMD SEV-SNP) |
| Lifecycle stage | deploy |
| Policy | P-09: Only signed images pinned to a measurement are launched |
| Mode | Passive: read-only cloud API calls. |
What it checks¶
It passes when:
- The workload image registry is not granted to public principals.
Example failures:
- The workload image registry is world-readable (…) — anyone can pull the image and inspect it for embedded secrets/logic.
- The workload image registry is world-readable — anyone can pull and inspect the image for embedded secrets/logic.
How to fix¶
- Remove allUsers/allAuthenticatedUsers reader grants on the Artifact Registry repo; CS docs say to assume the image is viewable by all.
After the fix, scan again: the check should report PASS.
When it is not assessed¶
SKIP:
- Need --gcp-instance, --gcp-zone, and --gcp-project; skipping check.
ERROR:
- Could not read registry IAM: …
Scan inputs¶
The untrust scan options this check reads:
| Option | Description |
|---|---|
--gcp-instance |
Confidential VM instance name. |
--gcp-project |
GCP project ID. |
--gcp-zone |
Zone of the Confidential VM. |
Permissions¶
The cloud API calls this check makes, read from the scanner's source:
| Cloud | API call | Permission | Access |
|---|---|---|---|
| Google Cloud | artifactregistry.projects.locations.repositories.getIamPolicy |
artifactregistry.repositories.getIamPolicy |
read |
| Google Cloud | compute.instances.get |
compute.instances.get |
read |
See Required permissions for every check on this platform.
Related¶
- Other checks for policy P-09: AZ-MEAS-01, CCA-MEAS-01, CSPACE-BINAUTHZ-01, CSPACE-IMG-01, GPU-RIM-01, REG-PROV-01, REG-SIG-01, REG-SIG-02, SE-MEAS-01, SGX-MEAS-01, SNP-MEAS-01, TDX-MEAS-01
Generated from untrust 1.3.0 (commit 7ef462d9a0c3).