CSPACE-EGRESS-01: Confidential VM network restricts egress by default¶
| Property | Value |
|---|---|
| Severity | medium |
| Platform | GCP Confidential Space (AMD SEV-SNP) |
| Lifecycle stage | deploy |
| Mode | Passive: read-only cloud API calls. |
What it checks¶
It passes when:
- Every interface denies egress to 0.0.0.0/0 and no applicable broad allow-egress re-opens it (…).
How to fix¶
- Add a deny-egress firewall rule for 0.0.0.0/0 on the VM's network (overriding GCP's implied allow-all egress), then add narrow allow-egress rules only for the endpoints the workload needs (KMS, your API). Prefer a VPC Service Controls perimeter where applicable.
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 the VM's firewall rules: …
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 | compute.firewalls.list |
compute.firewalls.list |
read |
| Google Cloud | compute.instances.get |
compute.instances.get |
read |
| Google Cloud | compute.instances.getEffectiveFirewalls |
compute.instances.getEffectiveFirewalls |
read |
See Required permissions for every check on this platform.
Generated from untrust 1.3.0 (commit 7ef462d9a0c3).