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).