[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71CXKBE96F03RY4BYFCC0VJ":3,"skill-same:01M71CXKBE96F03RY4BYFCC0VJ":84},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":14,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M71CXKBE96F03RY4BYFCC0VJ","encryption-kmsenvelope-analyze",null,"Envelope encryption is a strategy where data is encrypted with a data encryption key (DEK), and the DEK itself is encrypted with a master key (KEK) managed by AWS KMS. This approach allows encrypting","DCx7C5\u002Fai-marketplace","DCx7C5","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42419559?v=4","01M71C01G2AZV3NTNGWAWSHJPP","DC","01M71C01GQW6G50S2BYMS7PP3E",0,"MIT","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcrypto\u002Fencryption\u002Fkmsenvelope\u002Fanalyze\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"encryption","analyze","encryption kmsenvelope analyze","master","data","aws","cryptography","grep","read","with","envelope-encryption","Bash","encrypted","cybersecurity","data encryption","strategy","managed","KMS","pr","key-management","2026-11-10 10:12:30",false,"---\nname: encryption-kmsenvelope-analyze\ndescription: Envelope encryption is a strategy where data is encrypted with a data encryption key (DEK), and the DEK itself is encrypted with a master key (KEK) managed by AWS KMS. This approach allows encrypting\ndomain: cybersecurity\nsubdomain: cryptography\ntags:\n- cryptography\n- encryption\n- aws\n- kms\n- envelope-encryption\n- key-management\nnist_csf:\n- PR.DS-01\n- PR.DS-02\n- PR.DS-10\nmodel: sonnet\nmaxTurns: 20\ntools: [Read, Bash, Glob, Grep]\ncapec: []\n---\n\n# Implementing Envelope Encryption with AWS KMS\n\n## Overview\n\nEnvelope encryption is a strategy where data is encrypted with a data encryption key (DEK), and the DEK itself is encrypted with a master key (KEK) managed by AWS KMS. This approach allows encrypting large volumes of data locally while keeping the master key secure in a hardware security module (HSM) managed by AWS. This skill covers implementing envelope encryption using AWS KMS GenerateDataKey API.\n\n\n## When to Use\n\n- When deploying or configuring implementing envelope encryption with aws kms capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with cryptography concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n\n- Understand the envelope encryption pattern and its advantages\n- Generate data encryption keys using AWS KMS GenerateDataKey\n- Encrypt\u002Fdecrypt data locally using DEKs\n- Store encrypted DEK alongside ciphertext\n- Implement key caching to reduce KMS API calls\n- Handle key rotation with automatic re-encryption\n- Implement multi-region encryption for disaster recovery\n\n## Key Concepts\n\n### Envelope Encryption Flow\n\n1. Call `kms:GenerateDataKey` to get plaintext DEK + encrypted DEK\n2. Use plaintext DEK to encrypt data locally (AES-256-GCM)\n3. Store encrypted DEK alongside ciphertext\n4. Discard plaintext DEK from memory\n5. For decryption: call `kms:Decrypt` on encrypted DEK, then decrypt data\n\n### Advantages Over Direct KMS Encryption\n\n| Aspect | Direct KMS | Envelope Encryption |\n|--------|-----------|-------------------|\n| Max data size | 4 KB | Unlimited |\n| Latency | Network round-trip per operation | Local encryption |\n| Cost | $0.03\u002F10,000 requests | Fewer KMS requests |\n| Offline | Not possible | Yes (with cached DEKs) |\n\n### KMS Key Types\n\n- **AWS Managed**: AWS creates and manages (`aws\u002Fs3`, `aws\u002Febs`)\n- **Customer Managed**: You create and manage policies\n- **Custom Key Store**: Backed by CloudHSM cluster\n\n## Security Considerations\n\n- Never store plaintext DEK; only keep encrypted DEK\n- Use key policies to restrict who can call GenerateDataKey and Decrypt\n- Enable AWS CloudTrail logging for all KMS API calls\n- Implement key rotation (automatic annual rotation for CMKs)\n- Use encryption context for authenticated encryption metadata\n- Handle KMS throttling with exponential backoff\n\n## Validation Criteria\n\n- [ ] GenerateDataKey returns plaintext and encrypted DEK\n- [ ] Data encrypts correctly with plaintext DEK using AES-256-GCM\n- [ ] Encrypted DEK can be decrypted via KMS Decrypt API\n- [ ] Decrypted DEK recovers the original data\n- [ ] Plaintext DEK is wiped from memory after use\n- [ ] Encryption context is validated during decryption\n- [ ] Key rotation re-encrypts DEKs with new master key\n","# Implementing Envelope Encryption with AWS KMS\n\n## Overview\n\nEnvelope encryption is a strategy where data is encrypted with a data encryption key (DEK), and the DEK itself is encrypted with a master key (KEK) managed by AWS KMS. This approach allows encrypting large volumes of data locally while keeping the master key secure in a hardware security module (HSM) managed by AWS. This skill covers implementing envelope encryption using AWS KMS GenerateDataKey API.\n\n\n## When to Use\n\n- When deploying or configuring implementing envelope encryption with aws kms capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with cryptography concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n\n- Understand the envelope encryption pattern and its advantages\n- Generate data encryption keys using AWS KMS GenerateDataKey\n- Encrypt\u002Fdecrypt data locally using DEKs\n- Store encrypted DEK alongside ciphertext\n- Implement key caching to reduce KMS API calls\n- Handle key rotation with automatic re-encryption\n- Implement multi-region encryption for disaster recovery\n\n## Key Concepts\n\n### Envelope Encryption Flow\n\n1. Call `kms:GenerateDataKey` to get plaintext DEK + encrypted DEK\n2. Use plaintext DEK to encrypt data locally (AES-256-GCM)\n3. Store encrypted DEK alongside ciphertext\n4. Discard plaintext DEK from memory\n5. For decryption: call `kms:Decrypt` on encrypted DEK, then decrypt data\n\n### Advantages Over Direct KMS Encryption\n\n| Aspect | Direct KMS | Envelope Encryption |\n|--------|-----------|-------------------|\n| Max data size | 4 KB | Unlimited |\n| Latency | Network round-trip per operation | Local encryption |\n| Cost | $0.03\u002F10,000 requests | Fewer KMS requests |\n| Offline | Not possible | Yes (with cached DEKs) |\n\n### KMS Key Types\n\n- **AWS Managed**: AWS creates and manages (`aws\u002Fs3`, `aws\u002Febs`)\n- **Customer Managed**: You create and manage policies\n- **Custom Key Store**: Backed by CloudHSM cluster\n\n## Security Considerations\n\n- Never store plaintext DEK; only keep encrypted DEK\n- Use key policies to restrict who can call GenerateDataKey and Decrypt\n- Enable AWS CloudTrail logging for all KMS API calls\n- Implement key rotation (automatic annual rotation for CMKs)\n- Use encryption context for authenticated encryption metadata\n- Handle KMS throttling with exponential backoff\n\n## Validation Criteria\n\n- [ ] GenerateDataKey returns plaintext and encrypted DEK\n- [ ] Data encrypts correctly with plaintext DEK using AES-256-GCM\n- [ ] Encrypted DEK can be decrypted via KMS Decrypt API\n- [ ] Decrypted DEK recovers the original data\n- [ ] Plaintext DEK is wiped from memory after use\n- [ ] Encryption context is validated during decryption\n- [ ] Key rotation re-encrypts DEKs with new master key\n",{"name":5,"tags":44,"capec":46,"model":47,"tools":48,"domain":32,"maxTurns":52,"nist_csf":53,"subdomain":25,"description":7},[25,19,24,45,29,38],"kms",[],"sonnet",[49,30,50,51],"Read","Glob","Grep",20,[54,55,56],"PR.DS-01","PR.DS-02","PR.DS-10","main","a91f1293287ffa9f4f1b8f486cd6e835a1568c84","skills\u002Fcrypto\u002Fencryption\u002Fkmsenvelope\u002Fanalyze","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace","https:\u002F\u002Fgithub.com\u002FDCx7C5","#Python","2026-09-01 11:21:00",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add DCx7C5\u002Fai-marketplace --skill encryption-kmsenvelope-analyze",{"tool":70,"command":71},"bunx","bunx skills add DCx7C5\u002Fai-marketplace --skill encryption-kmsenvelope-analyze",{"tool":73,"command":74},"pnpm","pnpm dlx skills add DCx7C5\u002Fai-marketplace --skill encryption-kmsenvelope-analyze","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcrypto\u002Fencryption\u002Fkmsenvelope\u002Fanalyze\u002FSKILL.md",true,[78],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"index.json","REFERENCE","参考文档",702,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fcrypto\u002Fencryption\u002Fkmsenvelope\u002Fanalyze\u002Findex.json",[85,110,131,151,173,189],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":39},"01M71HAPZ01KQ30RKTB0FFSQ05","services-wmi-persistence-detect","Detect WMI event subscription persistence by enumerating ActiveScriptEventConsumer, CommandLineEventConsumer, and permanent subscriptions in the WMI repository.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fpersistence\u002Fdetect\u002FSKILL.md",[],[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,32,109],"services","detect","services wmi persistence detect","wmi","persistence","de","cm","process","activescript","event","subscriptions","commandline-consumer","repository","subscription","event-subscription","t1546.003","forensics","process-forensics",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":39},"01M71HAK6JTTTS229T17WJMMCG","services-wmi-exec-exploit","Perform lateral movement across Windows networks using WMI-based remote execution techniques including Impacket wmiexec.py, CrackMapExec, and native WMI commands for stealthy post-exploitation during red team engagements.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fexec\u002Fexploit\u002FSKILL.md",[],[117,92,118,95,119,120,121,32,30,122,123,124,125,126,97,127,128,27,129,130],"exploit","services wmi exec exploit","exec","remote","traffic","analysis","team","across","crackmapexec","native","command","lateral movement","lateral-movement","Impacket",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":39},"01M71HAG6MHKNQV8KDZKMT4886","registry-artifact-extract","Extract and analyze Windows Registry hives to uncover user activity, installed software, autostart entries, and evidence of system compromise.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fregistry\u002Fartifact\u002Fextract\u002FSKILL.md",[],[138,139,140,141,142,143,32,30,144,122,20,145,97,27,146,147,148,149,150,47],"artifact","registry","registry artifact extract","extract","evidence-collection","artifact-analysis","collection","uncover","software","activity","digital-forensics","windows-registry","regripper",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":39},"01M71HACR4A8XTWTTSXK4124AA","processes-token-impersonate-detect","Detect Windows token impersonation and privilege abuse including SeImpersonatePrivilege exploitation via Potato attacks and token stealing techniques.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Ftoken\u002Fimpersonate\u002Fdetect\u002FSKILL.md",[],[93,158,159,160,161,162,163,98,164,32,109,165,166,167,168,169,170,171,172,97],"processes token impersonate detect","token","processes","attacks","windows","escalation","techniques","privilege-escalation","seimpersonate","token-impersonation","printspoofer","exploitation","potato","impersonation","via",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":179,"publishedAt":39},"01M71HAABSB4Z6QFSXEG00R4RK","processes-thread-injection-detect","Detect Windows thread injection techniques including CreateRemoteThread, QueueUserAPC, NtCreateThreadEx, and thread hijacking via process memory analysis.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fthread\u002Finjection\u002Fdetect\u002FSKILL.md",[],[180,181,93,182,160,162,183,98,184,164,32,109,122,185,186,187,188,172,97,99],"thread","processes thread injection detect","injection","memory","process-injection","api","apc-injection","thread-injection","nt-api",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":39},"01M71HA7H311V5G14WMX58HQSS","processes-hollow-technique-detect","Detect process hollowing (RunPE) by identifying processes with mismatched image paths between PEB and VAD tree, or unmapped PE headers in memory.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fhollow\u002Ftechnique\u002Fdetect\u002FSKILL.md",[],[196,93,160,197,183,98,198,199,32,109,200,201,202,203,204,28,97,99,205,206],"processes hollow technique detect","tree","memory-forensics","process-hollow","peb","runpe","image","pe-header","in memory","mismatched","headers"]