Skip to content

PROXY-01: vsock-proxy egress allowlist is least-privilege

Property Value
Severity high
Platform AWS Nitro Enclaves
Lifecycle stage runtime
Mode Active: runs fixed read-only commands on the host. Skipped with --read-only.

What it checks

It passes when:

  • vsock-proxy allowlist scopes egress to … specific endpoint(s); no unbounded entries.

Example failures:

  • … vsock-proxy allowlist entry(ies) permit unbounded egress: …. The enclave can exfiltrate to arbitrary hosts.
  • 1 vsock-proxy allowlist entry(ies) permit unbounded egress: 0.0.0.0:443 (any-address). The enclave can exfiltrate to arbitrary hosts.

How to fix

  • Restrict /etc/nitro_enclaves/vsock-proxy.yaml to the specific {address, port} endpoints the enclave must reach (e.g. the regional KMS endpoint on 443); remove any-address (0.0.0.0/*) and any-port entries.

After the fix, scan again: the check should report PASS.

When it is not assessed

SKIP:

  • No instance ID specified; skipping check.

ERROR:

  • Could not read the vsock-proxy allowlist: …

Scan inputs

The untrust scan options this check reads:

Option Description
--instance-id EC2 instance ID running the Nitro Enclave.
--region AWS region.

Permissions

The cloud API calls this check makes, read from the scanner's source:

Cloud API call Permission Access
AWS ssm.get_command_invocation ssm:GetCommandInvocation read
AWS ssm.send_command ssm:SendCommand run command

Every AWS scan also calls sts:GetCallerIdentity. See Required permissions for a complete policy.

Evidence recorded

Keys in the finding's evidence: broad_entries, entry_count, passed

Generated from untrust 1.3.0 (commit 7ef462d9a0c3).