Skip to content

NITRO-EGRESS-01: Confidential host egress is not open to the internet

Property Value
Severity high
Platform AWS Nitro Enclaves
Lifecycle stage deploy
Mode Passive: read-only cloud API calls.

What it checks

It passes when:

  • …: no security group allows broad outbound egress to the public internet. Security groups only; network ACLs not evaluated.

Example failures:

  • …: security-group egress allows broad outbound access to the public internet (…).

How to fix

  • Restrict the confidential host's security-group egress to the specific destinations the workload needs; broad egress (0.0.0.0/0, ::/0, or a large public range) exfiltrates released secrets. Scope every attached ENI's egress to explicit CIDRs or VPC endpoints.

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

When it is not assessed

SKIP:

  • No instance ID specified; skipping check.
  • Instance is neither a Nitro Enclaves parent nor an AMD SEV-SNP confidential instance; egress check not applicable.
  • No security groups found on the instance; egress could not be assessed.
  • Egress breadth could not be fully assessed (a security group was not returned or had a malformed egress shape, or a managed prefix list or unparseable CIDR); not collected.

ERROR:

  • Instance … not found.
  • Could not describe instance: …
  • Could not describe security groups: …

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 ec2.describe_instances ec2:DescribeInstances read
AWS ec2.describe_security_groups ec2:DescribeSecurityGroups read

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

Evidence recorded

Keys in the finding's evidence: confidential

Generated from untrust 1.3.0 (commit 7ef462d9a0c3).