implementing-aws-nitro-enclave-security
Implements AWS Nitro Enclave-based confidential computing environments with cryptographic attestation, KMS policy integration using PCR-based condition keys…
Skill by pinkpixel-dev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/pinkpixel-dev-implementing-aws-nitro-enclave-security
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: cloud, data, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/implementing-aws-nitro-enclave-security
What's inside
- Skill name
implementing-aws-nitro-enclave-security- Description
- Implements AWS Nitro Enclave-based confidential computing environments with cryptographic attestation, KMS policy integration using PCR-based condition keys, and secure vsock communication channels. The practitioner builds enclave images, configures attestation-aware KMS policies, validates attestation documents against the AWS Nitro PKI root of trust, and establishes isolated computation pipelines for processing sensitive data such as PII, cryptographic keys, and healthcare records. Activates for requests involving Nitro Enclave setup, enclave attestation validation, confidential computing on AWS, or KMS enclave policy configuration.
- License
- Apache-2.0
- Instructions
- 428 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (4)
- LICENSE
- SKILL.md
- api-reference.md · references/
- agent.py · scripts/
SKILL.md (first lines)
# Implementing AWS Nitro Enclave Security
## When to Use
- Processing sensitive data (PII, PHI, financial records, cryptographic secrets) that must be isolated from EC2 instance operators and administrators
- Building confidential computing pipelines where even root-level access on the parent instance cannot read enclave memory or state
- Implementing cryptographic attestation workflows that tie KMS decryption rights to a specific, verified enclave image hash
- Deploying multi-party computation environments where two or more enclaves authenticate each other via attestation before exchanging data
- Hardening existing workloads that currently decrypt secrets on the parent instance by migrating decryption into an enclave boundary
**Do not use** when the workload does not handle sensitive data that requires hardware-level isolation, when the instance type does not support Nitro Enclaves (requires Nitro-based instances with at least 4 vCPUs), or when latency constraints make the vsock communication overhead unacceptable.
## Prerequisites
- An AWS account with permissions to launch Nitro-capable EC2 instances (m5.xlarge or larger, C5, R5, M6i families)
- AWS CLI v2 and the `nitro-cli` toolset installed on the parent EC2 instance (Amazon Linux 2 or AL2023)
- Docker installed on the parent instance for building enclave image files (EIF)
- An AWS KMS symmetric key with key policy permissions for the enclave's IAM role
- The `aws-nitro-enclaves-sdk-c` or Python `aws-encryption-sdk` for enclave-side KMS operations
- The Nitro Enclaves allocator service configured with sufficient memory and vCPU allocation in `/etc/nitro_enclaves/allocator.yaml`
## Workflow
### Step 1: Configure the Nitro Enclaves Environment
Set up the parent EC2 instance to support enclave launches:
- **Install the Nitro Enclaves CLI**: On Amazon Linux 2, install the tools and allocator:
```bash
sudo amazon-linux-extras install aws-nitro-enclaves-cli
sudo yum install aws-nitro-enclaves-cli-devel -y
sudo systemctl enable --now nitro-enclaves-allocator.service
sudo systemctl enable --now docker
sudo usermod -aG ne ec2-user
sudo usermod -aG docker ec2-user
```
- **Configure memory and CPU allocation**: Edit `/etc/nitro_enclaves/allocator.yaml` to reserve resources for the enclave. The enclave requires dedicated memory that is carved from the parent instance:
```yaml
---
memory_mib: 4096
cpu_count: 2
```
Restart the allocator: `sudo systemctl restart nitro-enclaves-allocator.service`
- **Verify setup**: Run `nitro-cli describe-enclaves` to confirm the CLI can communicate with the Nitro hypervisor. An empty JSON array `[]` indicates no enclaves are running and the setup is correct.
### Step 2: Build the Enclave Image File (EIF)
Package the sensitive workload into a signed enclave image:
- **Create the application Dockerfile**: The enclave runs a minimal Linux environment. The application communicates exclusively through vsock:
```dockerfile
FROM amazonlinux:2
RUN yum install -y python3 python3-pip && \
pip3 install boto3 cbor2 cryptography requests
COPY enclave_app.py /app/enclave_app.py
WORKDIR /app
CMD ["python3", "enclave_app.py"]
```
- **Build the EIF with nitro-cli**: Convert the Docker image into an enclave image file, capturing the PCR measurements:
```bash
docker build -t enclave-app:latest .
nitro-cli build-enclave \
--docker-uri enclave-app:latest \
--output-file enclave-app.eif
```
The output contains three critical PCR values:
- **PCR0**: SHA-384 hash of the enclave image file (the full image digest)
- **PCR1**: SHA-384 hash of the Linux kernel and bootstrap process
- **PCR2**: SHA-384 hash of the application code
Record these values; they are used in KMS key policies for attestation-based access control.
- **Build a signed EIF** (recommended for production): Generate a signing certificate and use it to produce PCR8:
```bash
openssl ecparam -name secp384r1 -genkey -noout -out enclave_key.pem
openssl req -new -key enclave_key.pem -sha384 \
-nodes -subj "/CN=Enclave Signer" -out enclave_csr.pem
openssl x509 -req -days 365 -in enclave_csr.pem \
-signkey enclave_key.pem -sha384 -out enclave_cert.pem
nitro-cli build-enclave \
--docker-uri enclave-app:latest \
--output-file enclave-app.eif \
--private-key enclave_key.pem \
--signing-certificate enclave_cert.pem
```
PCR8 (the signing certificate hash) enables KMS policies that trust any image signed by a specific certificate, allowing image updates without changing the policy.
### Step 3: Configure KMS Attestation-Based Key Policies
Create a KMS key policy that restricts decryption to a verified enclave:
- **Policy using PCR0 (image hash)**: This locks the key to a specific enclave build. Any code change produces a new PCR0, requiring a policy update:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEnclaveDecrypt",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/EnclaveParentRole"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "*",
"Condition": {
"StringEqualsIgnoreCase": {
"kms:RecipientAttestation:ImageSha384": "fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210"
}
}
}
]
}
```
- **Policy using PCR8 (signing certificate)**: Trusts any enclave signed with a specific certificate, enabling image rotation without policy changes:From pinkpixel-dev/skills-collection-2, Apache-2.0.
More from pinkpixel-dev/skills-collection-2
- 0.459score
implementing-alert-fatigue-reduction
pinkpixel-dev
Implements strategies to reduce SOC alert fatigue by tuning detection rules, consolidating duplicate alerts, implementing risk-based alerting, and measuring…
SkillDFreshness: D★ 4Claude Code +9 - 0.459score
implementing-application-whitelisting-with-applocker
pinkpixel-dev
Implements application whitelisting using Windows AppLocker to restrict unauthorized software execution on endpoints, reducing attack surface from malware…
SkillDFreshness: D★ 4Claude Code +9 - 0.459score
implementing-attack-surface-management
pinkpixel-dev
Implements external attack surface management (EASM) using Shodan, Censys, and ProjectDiscovery tools (subfinder, httpx, nuclei) for asset discovery…
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-aes-encryption-for-data-at-rest
pinkpixel-dev
AES (Advanced Encryption Standard) is a symmetric block cipher standardized by NIST (FIPS 197) used to protect classified and sensitive data.
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-aws-config-rules-for-compliance
pinkpixel-dev
Implementing AWS Config rules for continuous compliance monitoring of AWS resources, deploying managed and custom rules aligned to CIS and PCI DSS frameworks…
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-aws-iam-permission-boundaries
pinkpixel-dev
Configure IAM permission boundaries in AWS to delegate role creation to developers while enforcing maximum privilege limits set by the security team.
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-aws-macie-for-data-classification
pinkpixel-dev
Implement Amazon Macie to automatically discover, classify, and protect sensitive data in S3 buckets using machine learning and pattern matching for PII…
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-attack-path-analysis-with-xm-cyber
pinkpixel-dev
Deploy XM Cyber's continuous exposure management platform to map attack paths, identify choke points, and prioritize the 2% of exposures that threaten…
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-anti-phishing-training-program
pinkpixel-dev
Security awareness training is the human layer of phishing defense.
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-aqua-security-for-container-scanning
pinkpixel-dev
Deploy Aqua Security's Trivy scanner to detect vulnerabilities, misconfigurations, secrets, and license issues in container images across CI/CD pipelines and…
SkillDFreshness: D★ 4Claude Code +9 - 0.455score
implementing-anti-ransomware-group-policy
pinkpixel-dev
Configures Windows Group Policy Objects (GPO) to prevent ransomware execution and limit its spread.
SkillDFreshness: D★ 4Claude Code +9
Signals
- Stars
- 4
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Mar 29, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from pinkpixel-dev
- 0.534score
adhd
pinkpixel-dev
Parallel divergent ideation for coding agents.
SkillCFreshness: C★ 9Claude Code +9 - 0.470score
3d-web-experience
pinkpixel-dev
You bring the third dimension to the web.
SkillDFreshness: D★ 9Claude Code +9 - 0.459score
implementing-alert-fatigue-reduction
pinkpixel-dev
Implements strategies to reduce SOC alert fatigue by tuning detection rules, consolidating duplicate alerts, implementing risk-based alerting, and measuring…
SkillDFreshness: D★ 4Claude Code +9 - 0.459score
implementing-attack-surface-management
pinkpixel-dev
Implements external attack surface management (EASM) using Shodan, Censys, and ProjectDiscovery tools (subfinder, httpx, nuclei) for asset discovery…
SkillDFreshness: D★ 4Claude Code +9 - 0.459score
implementing-application-whitelisting-with-applocker
pinkpixel-dev
Implements application whitelisting using Windows AppLocker to restrict unauthorized software execution on endpoints, reducing attack surface from malware…
SkillDFreshness: D★ 4Claude Code +9 - 0.456score
implementing-aes-encryption-for-data-at-rest
pinkpixel-dev
AES (Advanced Encryption Standard) is a symmetric block cipher standardized by NIST (FIPS 197) used to protect classified and sensitive data.
SkillDFreshness: D★ 4Claude Code +9
Cite this page
implementing-aws-nitro-enclave-security skill. Agent Mart. https://agentmart.dev/skills/pinkpixel-dev-implementing-aws-nitro-enclave-security (last updated 2026-10-24)