[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CWP7TSGSFKT1CC5FF1SNBF":3,"skill-same:01M6CWP7TSGSFKT1CC5FF1SNBF":82},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":34,"commitSha":35,"skillDirectory":5,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6CWP7TSGSFKT1CC5FF1SNBF","cloud-security",null,"Cloud security best practices and implementation","ffsshhttiikk\u002Fopencode-agents-skills","ffsshhttiikk","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F226346827?v=4","01M6CWD9RR3Y7VRQX3MXYC8FYH","01M6CWD9WVPYAZW0J82G1VKGHY",3,"MIT","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fcloud-security\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26],"security","cloud","cloud security","best practices","security best practices","devops","opencode","engineer","implementation","2026-11-10 10:12:30",false,"---\nname: cloud-security\ndescription: Cloud security best practices and implementation\nlicense: MIT\ncompatibility: opencode\nmetadata:\n  audience: security-engineer, devops-engineer\n  category: security\n---\n\n## What I do\n\n- Design and implement cloud security architectures\n- Configure identity and access management policies\n- Implement network security controls\n- Protect data at rest and in transit\n- Automate security compliance scanning\n- Respond to security incidents in cloud environments\n\n## When to use me\n\n- When securing cloud infrastructure\n- When implementing zero-trust architecture\n- When conducting security assessments\n- When responding to cloud security incidents\n- When configuring compliance frameworks (SOC2, HIPAA, PCI)\n- When implementing security automation\n\n## Key Concepts\n\n### IAM Policy\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\n        \"s3:GetObject\",\n        \"s3:ListBucket\"\n      ],\n      \"Resource\": [\n        \"arn:aws:s3:::my-bucket\",\n        \"arn:aws:s3:::my-bucket\u002F*\"\n      ],\n      \"Condition\": {\n        \"IpAddress\": {\n          \"aws:SourceIp\": \"10.0.0.0\u002F8\"\n        }\n      }\n    },\n    {\n      \"Effect\": \"Deny\",\n      \"Action\": \"s3:*\",\n      \"NotResource\": \"arn:aws:s3:::my-bucket\u002F*\"\n    }\n  ]\n}\n```\n\n### Network Security Groups\n\n```hcl\n# AWS Security Group\nresource \"aws_security_group\" \"web\" {\n  name        = \"web-sg\"\n  description = \"Security group for web servers\"\n  vpc_id      = aws_vpc.main.id\n  \n  ingress {\n    description = \"HTTPS\"\n    from_port   = 443\n    to_port     = 443\n    protocol    = \"tcp\"\n    cidr_blocks = [\"0.0.0.0\u002F0\"]\n  }\n  \n  egress {\n    from_port   = 0\n    to_port     = 0\n    protocol    = \"-1\"\n    cidr_blocks = [\"0.0.0.0\u002F0\"]\n  }\n}\n```\n\n### Encryption Configuration\n\n```yaml\n# Kubernetes secrets encryption\napiVersion: v1\nkind: Secret\nmetadata:\n  name: encrypted-secret\ntype: Opaque\ndata:  # Already base64 encoded\n  username: dmFsdWU=\nencryption:\n  - providers:\n      - aescbc:\n          keys:\n            - name: key1\n              secret: \u003Cbase64-32-byte-key>\n    resources:\n      - secrets\n```\n\n### Security Best Practices\n\n- **Identity**: Use IAM roles, not access keys; enable MFA\n- **Network**: Use VPCs, private subnets, security groups\n- **Data**: Encrypt at rest and in transit; use KMS\n- **Logging**: Enable CloudTrail, audit all access\n- **Compliance**: Use Config Rules, Security Hub\n- **Incident Response**: Have playbook for breaches\n\n### Vulnerability Scanning\n\n```yaml\n# Trivy in CI\u002FCD\ntrivy fs --severity HIGH,CRITICAL .\ntrivy image --severity HIGH,CRITICAL myimage:latest\ntrivy db --update\ntrivy kubernetes cluster --report summary\n```\n\n### Zero Trust Architecture\n\n```\n┌─────────────────────────────────────────┐\n│                 User                     │\n└──────────────┬──────────────────────────┘\n               │\n┌──────────────▼──────────────────────────┐\n│           Identity Provider              │\n│     (OAuth2\u002FOIDC + MFA)                 │\n└──────────────┬──────────────────────────┘\n               │\n┌──────────────▼──────────────────────────┐\n│         Policy Enforcement Point       │\n│    (API Gateway \u002F Service Mesh)         │\n└──────────────┬──────────────────────────┘\n               │\n┌──────────────▼──────────────────────────┐\n│         Workloads (Services)           │\n│     (Verify identity, encrypt, log)      │\n└─────────────────────────────────────────┘\n```\n\n### Key Security Tools\n\n- **CSPM**: Prisma Cloud, AWS Config, Azure Security Center\n- **CWPP**: Container security, vulnerability scanning\n- **CASB**: Cloud Access Security Brokers\n- **SIEM**: Cloud-native logging and analysis\n- **Secrets Management**: Vault, AWS Secrets Manager\n","## What I do\n\n- Design and implement cloud security architectures\n- Configure identity and access management policies\n- Implement network security controls\n- Protect data at rest and in transit\n- Automate security compliance scanning\n- Respond to security incidents in cloud environments\n\n## When to use me\n\n- When securing cloud infrastructure\n- When implementing zero-trust architecture\n- When conducting security assessments\n- When responding to cloud security incidents\n- When configuring compliance frameworks (SOC2, HIPAA, PCI)\n- When implementing security automation\n\n## Key Concepts\n\n### IAM Policy\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\n        \"s3:GetObject\",\n        \"s3:ListBucket\"\n      ],\n      \"Resource\": [\n        \"arn:aws:s3:::my-bucket\",\n        \"arn:aws:s3:::my-bucket\u002F*\"\n      ],\n      \"Condition\": {\n        \"IpAddress\": {\n          \"aws:SourceIp\": \"10.0.0.0\u002F8\"\n        }\n      }\n    },\n    {\n      \"Effect\": \"Deny\",\n      \"Action\": \"s3:*\",\n      \"NotResource\": \"arn:aws:s3:::my-bucket\u002F*\"\n    }\n  ]\n}\n```\n\n### Network Security Groups\n\n```hcl\n# AWS Security Group\nresource \"aws_security_group\" \"web\" {\n  name        = \"web-sg\"\n  description = \"Security group for web servers\"\n  vpc_id      = aws_vpc.main.id\n  \n  ingress {\n    description = \"HTTPS\"\n    from_port   = 443\n    to_port     = 443\n    protocol    = \"tcp\"\n    cidr_blocks = [\"0.0.0.0\u002F0\"]\n  }\n  \n  egress {\n    from_port   = 0\n    to_port     = 0\n    protocol    = \"-1\"\n    cidr_blocks = [\"0.0.0.0\u002F0\"]\n  }\n}\n```\n\n### Encryption Configuration\n\n```yaml\n# Kubernetes secrets encryption\napiVersion: v1\nkind: Secret\nmetadata:\n  name: encrypted-secret\ntype: Opaque\ndata:  # Already base64 encoded\n  username: dmFsdWU=\nencryption:\n  - providers:\n      - aescbc:\n          keys:\n            - name: key1\n              secret: \u003Cbase64-32-byte-key>\n    resources:\n      - secrets\n```\n\n### Security Best Practices\n\n- **Identity**: Use IAM roles, not access keys; enable MFA\n- **Network**: Use VPCs, private subnets, security groups\n- **Data**: Encrypt at rest and in transit; use KMS\n- **Logging**: Enable CloudTrail, audit all access\n- **Compliance**: Use Config Rules, Security Hub\n- **Incident Response**: Have playbook for breaches\n\n### Vulnerability Scanning\n\n```yaml\n# Trivy in CI\u002FCD\ntrivy fs --severity HIGH,CRITICAL .\ntrivy image --severity HIGH,CRITICAL myimage:latest\ntrivy db --update\ntrivy kubernetes cluster --report summary\n```\n\n### Zero Trust Architecture\n\n```\n┌─────────────────────────────────────────┐\n│                 User                     │\n└──────────────┬──────────────────────────┘\n               │\n┌──────────────▼──────────────────────────┐\n│           Identity Provider              │\n│     (OAuth2\u002FOIDC + MFA)                 │\n└──────────────┬──────────────────────────┘\n               │\n┌──────────────▼──────────────────────────┐\n│         Policy Enforcement Point       │\n│    (API Gateway \u002F Service Mesh)         │\n└──────────────┬──────────────────────────┘\n               │\n┌──────────────▼──────────────────────────┐\n│         Workloads (Services)           │\n│     (Verify identity, encrypt, log)      │\n└─────────────────────────────────────────┘\n```\n\n### Key Security Tools\n\n- **CSPM**: Prisma Cloud, AWS Config, Azure Security Center\n- **CWPP**: Container security, vulnerability scanning\n- **CASB**: Cloud Access Security Brokers\n- **SIEM**: Cloud-native logging and analysis\n- **Secrets Management**: Vault, AWS Secrets Manager\n",{"name":5,"license":14,"metadata":32,"description":7,"compatibility":24},{"audience":33,"category":18},"security-engineer, devops-engineer","main","5f7a3e453c98261f93d19a6a7de44ad8f7b72d41",2,"https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk","2026-03-01 06:55:40",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill cloud-security",{"tool":46,"command":47},"bunx","bunx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill cloud-security",{"tool":49,"command":50},"pnpm","pnpm dlx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill cloud-security","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fcloud-security\u002FSKILL.md",true,[54,60,66,70,74,78],{"path":55,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":58,"sourceHtmlUrl":59},"agents\u002Fopenai.yaml","REFERENCE","参考文档",459,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgreg-asher\u002Fcodex-obsidian\u002Fskills\u002Fobsidian-cli-devtools\u002Fagents\u002Fopenai.yaml",{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"assets\u002Feval-prompts.csv","ASSET","资产文件",1090,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgreg-asher\u002Fcodex-obsidian\u002Fskills\u002Fobsidian-cli-devtools\u002Fassets\u002Feval-prompts.csv",{"path":67,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":68,"sourceHtmlUrl":69},"references\u002Flimitations-and-boundaries.md",749,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgreg-asher\u002Fcodex-obsidian\u002Fskills\u002Fobsidian-cli-devtools\u002Freferences\u002Flimitations-and-boundaries.md",{"path":71,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fobsidian-cli-devtools-playbook.md",1285,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgreg-asher\u002Fcodex-obsidian\u002Fskills\u002Fobsidian-cli-devtools\u002Freferences\u002Fobsidian-cli-devtools-playbook.md",{"path":75,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fsource-links.md",152,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgreg-asher\u002Fcodex-obsidian\u002Fskills\u002Fobsidian-cli-devtools\u002Freferences\u002Fsource-links.md",{"path":79,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fvalidation.md",637,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgreg-asher\u002Fcodex-obsidian\u002Fskills\u002Fobsidian-cli-devtools\u002Freferences\u002Fvalidation.md",[83,94,104,113,123,132],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":27},"01M6CXT9TXDF79BWJTMQAPB49G","xamarin","Xamarin cross-platform development","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fxamarin\u002FSKILL.md",[],[85,90,91,92,24,93],"platform","cross-platform","mobile","development",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":27},"01M6CXT8AD04MFYDA32VW3FKAG","wrangling","Data wrangling fundamentals","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwrangling\u002FSKILL.md",[],[96,101,24,102,103],"data wrangling","science","data",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":27},"01M6CXT717GCN7SRRNPBDP4508","windows","Windows operating system administration and scripting","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwindows\u002FSKILL.md",[],[106,111,24,112],"system","scripting",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":27},"01M6CXT54K794NMEM3XAPZZDKT","wide-column","Wide-column data model","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column\u002FSKILL.md",[],[120,121,24,122,103],"wide column","databases","model",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":27},"01M6CXT28FMT2P4V9GZE67WA8E","wide-column-stores","Wide-column database stores","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column-stores\u002FSKILL.md",[],[130,121,24,131],"wide column stores","database",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":27},"01M6CXT0D0M0Q4T2N7C2RX7DSN","websockets","WebSocket implementation and best practices","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwebsockets\u002FSKILL.md",[],[134,139,140,141,24,21,26],"websocket","real-time","time"]