ENCLAVE-01: Enclave debug mode is disabled¶
| Property | Value |
|---|---|
| Severity | critical |
| Platform | AWS Nitro Enclaves |
| Lifecycle stage | attest |
| Mode | Active: runs fixed read-only commands on the host. Skipped with --read-only. |
What a failure enables¶
- Prod keys decrypted by any image
What it checks¶
It passes when:
- … enclave(s) running, none in debug mode.
Example failures:
- … enclave(s) running in debug mode: …. Attestation is disabled and the console is accessible.
- 1 enclave(s) running in debug mode: i-0abc123-enc-0001. Attestation is disabled and the console is accessible.
How to fix¶
- Terminate debug enclaves and re-launch without the --debug-mode flag. Debug enclaves have zeroed PCR values and provide no confidentiality guarantees.
After the fix, scan again: the check should report PASS.
When it is not assessed¶
SKIP:
- No instance ID specified; skipping check.
ERROR:
- SSM command did not complete within timeout.
- nitro-cli not available or no enclaves found. Cannot determine debug mode status.
- No enclaves are currently running.
- Could not send SSM command: …
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.
Related¶
- Runtime detection
DET-06(AWS Nitro Enclaves): Enclave launched with --debug-mode - Runtime detection
DET-11(AWS Nitro Enclaves): Running enclave measurement differs from the released build
Evidence recorded¶
Keys in the finding's evidence: debug_enclaves, raw_output, total_enclaves
Generated from untrust 1.3.0 (commit 7ef462d9a0c3).