opencode-skills-collection 4.0.68 → 4.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +266 -1
  2. package/bundled-skills/access-review/SKILL.md +394 -0
  3. package/bundled-skills/access-review/references/details.md +121 -0
  4. package/bundled-skills/agent-evals/SKILL.md +420 -0
  5. package/bundled-skills/agent-observability/SKILL.md +346 -0
  6. package/bundled-skills/agent-observability/references/details.md +786 -0
  7. package/bundled-skills/ai-agent-security/SKILL.md +393 -0
  8. package/bundled-skills/ai-agent-security/references/details.md +912 -0
  9. package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
  10. package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
  11. package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
  12. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
  13. package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
  14. package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
  15. package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
  16. package/bundled-skills/alerting-oncall/SKILL.md +458 -0
  17. package/bundled-skills/alerting-oncall/references/details.md +84 -0
  18. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  19. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  20. package/bundled-skills/arm-templates/SKILL.md +438 -0
  21. package/bundled-skills/arm-templates/references/details.md +64 -0
  22. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  23. package/bundled-skills/asset-inventory/references/details.md +127 -0
  24. package/bundled-skills/audit-logging/SKILL.md +476 -0
  25. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  26. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  27. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  28. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  29. package/bundled-skills/aws-iam/SKILL.md +463 -0
  30. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  31. package/bundled-skills/aws-rds/SKILL.md +380 -0
  32. package/bundled-skills/aws-s3/SKILL.md +434 -0
  33. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  34. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  35. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  36. package/bundled-skills/azure-aks/SKILL.md +423 -0
  37. package/bundled-skills/azure-devops/SKILL.md +457 -0
  38. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  39. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  40. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  41. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  42. package/bundled-skills/azure-networking/SKILL.md +448 -0
  43. package/bundled-skills/azure-networking/references/details.md +135 -0
  44. package/bundled-skills/azure-sql/SKILL.md +413 -0
  45. package/bundled-skills/azure-sql/references/details.md +113 -0
  46. package/bundled-skills/azure-vms/SKILL.md +402 -0
  47. package/bundled-skills/azure-vms/references/details.md +134 -0
  48. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  49. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  50. package/bundled-skills/bb-methodology/references/details.md +120 -0
  51. package/bundled-skills/block-storage/SKILL.md +371 -0
  52. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  53. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  54. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  55. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  56. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  57. package/bundled-skills/business-continuity/SKILL.md +463 -0
  58. package/bundled-skills/career-ops/SKILL.md +186 -0
  59. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  60. package/bundled-skills/change-management/SKILL.md +438 -0
  61. package/bundled-skills/change-management/references/details.md +105 -0
  62. package/bundled-skills/circleci/SKILL.md +475 -0
  63. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  64. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  65. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  66. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  67. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  68. package/bundled-skills/cloudformation/SKILL.md +461 -0
  69. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  70. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  71. package/bundled-skills/container-hardening/SKILL.md +126 -0
  72. package/bundled-skills/container-registries/SKILL.md +435 -0
  73. package/bundled-skills/container-scanning/SKILL.md +416 -0
  74. package/bundled-skills/convex-backend/SKILL.md +338 -0
  75. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  76. package/bundled-skills/database-backups/SKILL.md +425 -0
  77. package/bundled-skills/datadog/SKILL.md +487 -0
  78. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  79. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  80. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  81. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  82. package/bundled-skills/dns-management/SKILL.md +375 -0
  83. package/bundled-skills/docker-compose/SKILL.md +482 -0
  84. package/bundled-skills/docker-management/SKILL.md +426 -0
  85. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  86. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  87. package/bundled-skills/elk-stack/SKILL.md +487 -0
  88. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  89. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  90. package/bundled-skills/feature-flags/SKILL.md +426 -0
  91. package/bundled-skills/feature-flags/references/details.md +86 -0
  92. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  93. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  94. package/bundled-skills/firewall-config/SKILL.md +479 -0
  95. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  96. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  97. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  98. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  99. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  100. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  101. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  102. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  103. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  104. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  105. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  106. package/bundled-skills/geo-audit/SKILL.md +368 -0
  107. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  108. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  109. package/bundled-skills/geo-citability/SKILL.md +350 -0
  110. package/bundled-skills/geo-compare/SKILL.md +340 -0
  111. package/bundled-skills/geo-content/SKILL.md +383 -0
  112. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  113. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  114. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  115. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  116. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  117. package/bundled-skills/geo-report/SKILL.md +436 -0
  118. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  119. package/bundled-skills/geo-schema/SKILL.md +408 -0
  120. package/bundled-skills/geo-technical/SKILL.md +78 -0
  121. package/bundled-skills/geo-technical/references/details.md +543 -0
  122. package/bundled-skills/git-workflow/SKILL.md +460 -0
  123. package/bundled-skills/github-actions/SKILL.md +368 -0
  124. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  125. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  126. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  127. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  128. package/bundled-skills/helm-charts/SKILL.md +469 -0
  129. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  130. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  131. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  132. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  133. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  134. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  135. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  136. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  137. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  138. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  139. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  140. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  141. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  142. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  143. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  144. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  145. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  146. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  147. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  148. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  149. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  150. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  151. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  152. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  153. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  154. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  155. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  156. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  157. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  158. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  159. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  160. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  161. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  162. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  163. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  164. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  165. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  166. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  167. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  168. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  169. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  170. package/bundled-skills/hunt-rce/references/details.md +110 -0
  171. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  172. package/bundled-skills/hunt-session/SKILL.md +342 -0
  173. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  174. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  175. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  176. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  177. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  178. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  179. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  180. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  181. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  182. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  183. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  184. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  185. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  186. package/bundled-skills/identity-access-management/references/details.md +524 -0
  187. package/bundled-skills/incident-management/SKILL.md +484 -0
  188. package/bundled-skills/incident-response/SKILL.md +448 -0
  189. package/bundled-skills/incident-response/references/details.md +113 -0
  190. package/bundled-skills/interview-me/SKILL.md +248 -0
  191. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  192. package/bundled-skills/jenkins/SKILL.md +462 -0
  193. package/bundled-skills/jev-use/SKILL.md +158 -0
  194. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  195. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  196. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  197. package/bundled-skills/kustomize/SKILL.md +478 -0
  198. package/bundled-skills/linux-administration/SKILL.md +367 -0
  199. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  200. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  201. package/bundled-skills/llm-app-security/references/details.md +674 -0
  202. package/bundled-skills/llm-caching/SKILL.md +334 -0
  203. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  204. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  205. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  206. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  207. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  208. package/bundled-skills/load-balancing/SKILL.md +403 -0
  209. package/bundled-skills/loki-logging/SKILL.md +479 -0
  210. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  211. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  212. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  213. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  214. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  215. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  216. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  217. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  218. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  219. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  220. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  221. package/bundled-skills/mongodb/SKILL.md +436 -0
  222. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  223. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  224. package/bundled-skills/mysql/SKILL.md +390 -0
  225. package/bundled-skills/new-relic/SKILL.md +472 -0
  226. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  227. package/bundled-skills/object-storage/SKILL.md +378 -0
  228. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  229. package/bundled-skills/okta-attack/SKILL.md +436 -0
  230. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  231. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  232. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  233. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  234. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  235. package/bundled-skills/openshift/SKILL.md +485 -0
  236. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  237. package/bundled-skills/opentelemetry/references/details.md +78 -0
  238. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  239. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  240. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  241. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  242. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  243. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  244. package/bundled-skills/planetscale/SKILL.md +297 -0
  245. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  246. package/bundled-skills/platform-engineering/references/details.md +944 -0
  247. package/bundled-skills/podman/SKILL.md +405 -0
  248. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  249. package/bundled-skills/policy-as-code/references/details.md +204 -0
  250. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  251. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  252. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  253. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  254. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  255. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  256. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  257. package/bundled-skills/redis/SKILL.md +421 -0
  258. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  259. package/bundled-skills/report-writing/SKILL.md +426 -0
  260. package/bundled-skills/report-writing/references/details.md +187 -0
  261. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  262. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  263. package/bundled-skills/runbook-creation/references/details.md +71 -0
  264. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  265. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  266. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  267. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  268. package/bundled-skills/security-arsenal/references/details.md +540 -0
  269. package/bundled-skills/security-automation/SKILL.md +146 -0
  270. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  271. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  272. package/bundled-skills/service-mesh/SKILL.md +422 -0
  273. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  274. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  275. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  276. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  277. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  278. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  279. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  280. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  281. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  282. package/bundled-skills/systemd-services/SKILL.md +379 -0
  283. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  284. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  285. package/bundled-skills/terraform-azure/references/details.md +231 -0
  286. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  287. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  288. package/bundled-skills/user-management/SKILL.md +383 -0
  289. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  290. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  291. package/bundled-skills/vendor-management/SKILL.md +439 -0
  292. package/bundled-skills/vendor-management/references/details.md +109 -0
  293. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  294. package/bundled-skills/vllm-server/SKILL.md +236 -0
  295. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  296. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  297. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  298. package/bundled-skills/waf-setup/SKILL.md +354 -0
  299. package/bundled-skills/waf-setup/references/details.md +211 -0
  300. package/bundled-skills/web2-recon/SKILL.md +440 -0
  301. package/bundled-skills/web2-recon/references/details.md +319 -0
  302. package/bundled-skills/web3-audit/SKILL.md +445 -0
  303. package/bundled-skills/web3-audit/references/details.md +224 -0
  304. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  305. package/bundled-skills/windows-hardening/references/details.md +204 -0
  306. package/bundled-skills/windows-server/SKILL.md +318 -0
  307. package/bundled-skills/zero-trust/SKILL.md +461 -0
  308. package/package.json +1 -1
  309. package/skills_index.json +6943 -323
@@ -0,0 +1,455 @@
1
+ ---
2
+ name: azure-keyvault
3
+ description: Manage secrets and certificates in Azure Key Vault. Configure access
4
+ policies, integrate with Azure services, and implement secure secret management.
5
+ Use when managing secrets in Azure environments.
6
+ category: security
7
+ risk: critical
8
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
9
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
10
+ source_type: community
11
+ date_added: '2026-09-20'
12
+ license: MIT
13
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
14
+ compatibility: Requires the relevant security tooling (scanners, vault CLIs) and an
15
+ authorized scope for any active assessment. Docs-only; helper scripts and templates
16
+ not bundled.
17
+ metadata:
18
+ author: devops-skills
19
+ version: '1.0'
20
+ ---
21
+
22
+ # Azure Key Vault
23
+
24
+ Securely store and manage secrets, keys, and certificates in Azure.
25
+
26
+ ## Prerequisites
27
+
28
+ - Azure subscription with appropriate permissions
29
+ - Azure CLI installed (`az` command)
30
+ - Contributor or Key Vault Administrator role for vault management
31
+ - Managed identity configured for application access
32
+ - Understanding of Azure RBAC vs. Key Vault access policies
33
+
34
+ ## Vault Creation and Configuration
35
+
36
+ ```bash
37
+ # Create a resource group
38
+ az group create --name rg-secrets --location eastus
39
+
40
+ # Create Key Vault with RBAC authorization (recommended)
41
+ az keyvault create \
42
+ --name myapp-vault-prod \
43
+ --resource-group rg-secrets \
44
+ --location eastus \
45
+ --enable-rbac-authorization true \
46
+ --enable-soft-delete true \
47
+ --retention-days 90 \
48
+ --enable-purge-protection true \
49
+ --sku premium # Use premium for HSM-backed keys
50
+
51
+ # Create Key Vault with access policies (legacy)
52
+ az keyvault create \
53
+ --name myapp-vault-dev \
54
+ --resource-group rg-secrets \
55
+ --location eastus \
56
+ --enable-soft-delete true \
57
+ --retention-days 30
58
+
59
+ # Enable private endpoint (no public access)
60
+ az keyvault update \
61
+ --name myapp-vault-prod \
62
+ --resource-group rg-secrets \
63
+ --public-network-access Disabled
64
+
65
+ # Enable diagnostics logging
66
+ az monitor diagnostic-settings create \
67
+ --name kv-diagnostics \
68
+ --resource "/subscriptions/{sub}/resourceGroups/rg-secrets/providers/Microsoft.KeyVault/vaults/myapp-vault-prod" \
69
+ --workspace "/subscriptions/{sub}/resourceGroups/rg-monitor/providers/Microsoft.OperationalInsights/workspaces/security-logs" \
70
+ --logs '[{"category":"AuditEvent","enabled":true,"retentionPolicy":{"enabled":true,"days":365}}]'
71
+ ```
72
+
73
+ ## Secret Management
74
+
75
+ ```bash
76
+ # Set a secret
77
+ az keyvault secret set \
78
+ --vault-name myapp-vault-prod \
79
+ --name db-password \
80
+ --value "S3cur3P@ssw0rd!" \
81
+ --content-type "text/plain" \
82
+ --tags Environment=production Team=platform
83
+
84
+ # Set a multi-line secret (JSON credentials)
85
+ az keyvault secret set \
86
+ --vault-name myapp-vault-prod \
87
+ --name db-credentials \
88
+ --value '{"username":"dbadmin","password":"S3cur3P@ss!","host":"db.postgres.database.azure.com","port":5432}'
89
+
90
+ # Get secret value
91
+ az keyvault secret show \
92
+ --vault-name myapp-vault-prod \
93
+ --name db-password \
94
+ --query value -o tsv
95
+
96
+ # Get specific version
97
+ az keyvault secret show \
98
+ --vault-name myapp-vault-prod \
99
+ --name db-password \
100
+ --version abc123def456
101
+
102
+ # List all secrets
103
+ az keyvault secret list --vault-name myapp-vault-prod -o table
104
+
105
+ # List secret versions
106
+ az keyvault secret list-versions \
107
+ --vault-name myapp-vault-prod \
108
+ --name db-password -o table
109
+
110
+ # Set expiration date
111
+ az keyvault secret set-attributes \
112
+ --vault-name myapp-vault-prod \
113
+ --name api-key \
114
+ --expires "2026-01-01T00:00:00Z"
115
+
116
+ # Disable a secret (without deleting)
117
+ az keyvault secret set-attributes \
118
+ --vault-name myapp-vault-prod \
119
+ --name old-api-key \
120
+ --enabled false
121
+
122
+ # Delete a secret (soft-delete)
123
+ az keyvault secret delete \
124
+ --vault-name myapp-vault-prod \
125
+ --name old-api-key
126
+
127
+ # Recover a deleted secret
128
+ az keyvault secret recover \
129
+ --vault-name myapp-vault-prod \
130
+ --name old-api-key
131
+
132
+ # Purge a deleted secret (permanent, requires purge protection to be off)
133
+ az keyvault secret purge \
134
+ --vault-name myapp-vault-prod \
135
+ --name old-api-key
136
+
137
+ # Backup and restore
138
+ az keyvault secret backup \
139
+ --vault-name myapp-vault-prod \
140
+ --name db-password \
141
+ --file db-password.backup
142
+
143
+ az keyvault secret restore \
144
+ --vault-name myapp-vault-prod \
145
+ --file db-password.backup
146
+ ```
147
+
148
+ ## Key Management
149
+
150
+ ```bash
151
+ # Create an RSA key for encryption
152
+ az keyvault key create \
153
+ --vault-name myapp-vault-prod \
154
+ --name data-encryption-key \
155
+ --kty RSA \
156
+ --size 4096 \
157
+ --ops encrypt decrypt wrapKey unwrapKey
158
+
159
+ # Create an EC key for signing
160
+ az keyvault key create \
161
+ --vault-name myapp-vault-prod \
162
+ --name signing-key \
163
+ --kty EC \
164
+ --curve P-256 \
165
+ --ops sign verify
166
+
167
+ # Import an existing key
168
+ az keyvault key import \
169
+ --vault-name myapp-vault-prod \
170
+ --name imported-key \
171
+ --pem-file key.pem
172
+
173
+ # Encrypt data
174
+ az keyvault key encrypt \
175
+ --vault-name myapp-vault-prod \
176
+ --name data-encryption-key \
177
+ --algorithm RSA-OAEP-256 \
178
+ --value "base64-encoded-plaintext"
179
+
180
+ # Rotate a key
181
+ az keyvault key rotate \
182
+ --vault-name myapp-vault-prod \
183
+ --name data-encryption-key
184
+
185
+ # Set key rotation policy
186
+ az keyvault key rotation-policy update \
187
+ --vault-name myapp-vault-prod \
188
+ --name data-encryption-key \
189
+ --value '{
190
+ "lifetimeActions": [
191
+ {
192
+ "trigger": {"timeBeforeExpiry": "P30D"},
193
+ "action": {"type": "Notify"}
194
+ },
195
+ {
196
+ "trigger": {"timeAfterCreate": "P90D"},
197
+ "action": {"type": "Rotate"}
198
+ }
199
+ ],
200
+ "attributes": {"expiryTime": "P180D"}
201
+ }'
202
+ ```
203
+
204
+ ## Certificate Management
205
+
206
+ ```bash
207
+ # Create a self-signed certificate
208
+ az keyvault certificate create \
209
+ --vault-name myapp-vault-prod \
210
+ --name app-tls-cert \
211
+ --policy '{
212
+ "issuerParameters": {"name": "Self"},
213
+ "keyProperties": {"exportable": true, "keySize": 4096, "keyType": "RSA"},
214
+ "secretProperties": {"contentType": "application/x-pkcs12"},
215
+ "x509CertificateProperties": {
216
+ "subject": "CN=app.example.com",
217
+ "subjectAlternativeNames": {"dnsNames": ["app.example.com", "*.app.example.com"]},
218
+ "validityInMonths": 12,
219
+ "keyUsage": ["digitalSignature", "keyEncipherment"],
220
+ "ekus": ["1.3.6.1.5.5.7.3.1"]
221
+ },
222
+ "lifetimeActions": [
223
+ {"trigger": {"daysBeforeExpiry": 30}, "action": {"actionType": "AutoRenew"}}
224
+ ]
225
+ }'
226
+
227
+ # Import a certificate
228
+ az keyvault certificate import \
229
+ --vault-name myapp-vault-prod \
230
+ --name imported-cert \
231
+ --file certificate.pfx \
232
+ --password "pfx-password"
233
+
234
+ # Download certificate
235
+ az keyvault certificate download \
236
+ --vault-name myapp-vault-prod \
237
+ --name app-tls-cert \
238
+ --file cert.pem \
239
+ --encoding PEM
240
+
241
+ # List certificates
242
+ az keyvault certificate list --vault-name myapp-vault-prod -o table
243
+ ```
244
+
245
+ ## Access Policies and RBAC
246
+
247
+ ### RBAC (Recommended)
248
+
249
+ ```bash
250
+ # Grant secret reader access to a managed identity
251
+ az role assignment create \
252
+ --role "Key Vault Secrets User" \
253
+ --assignee-object-id "$(az identity show -g rg-app -n myapp-identity --query principalId -o tsv)" \
254
+ --scope "/subscriptions/{sub}/resourceGroups/rg-secrets/providers/Microsoft.KeyVault/vaults/myapp-vault-prod"
255
+
256
+ # Grant admin access to security team
257
+ az role assignment create \
258
+ --role "Key Vault Administrator" \
259
+ --assignee "security-team@example.com" \
260
+ --scope "/subscriptions/{sub}/resourceGroups/rg-secrets/providers/Microsoft.KeyVault/vaults/myapp-vault-prod"
261
+
262
+ # Available Key Vault RBAC roles:
263
+ # - Key Vault Administrator (full management)
264
+ # - Key Vault Secrets Officer (manage secrets)
265
+ # - Key Vault Secrets User (read secrets)
266
+ # - Key Vault Certificates Officer (manage certs)
267
+ # - Key Vault Crypto Officer (manage keys)
268
+ # - Key Vault Crypto User (use keys for encrypt/decrypt)
269
+ # - Key Vault Reader (read metadata only)
270
+ ```
271
+
272
+ ### Access Policies (Legacy)
273
+
274
+ ```bash
275
+ # Grant secret access via access policy
276
+ az keyvault set-policy \
277
+ --name myapp-vault-prod \
278
+ --object-id "$(az identity show -g rg-app -n myapp-identity --query principalId -o tsv)" \
279
+ --secret-permissions get list
280
+
281
+ # Grant key access
282
+ az keyvault set-policy \
283
+ --name myapp-vault-prod \
284
+ --object-id "$OBJECT_ID" \
285
+ --key-permissions get unwrapKey wrapKey
286
+
287
+ # Grant certificate access
288
+ az keyvault set-policy \
289
+ --name myapp-vault-prod \
290
+ --object-id "$OBJECT_ID" \
291
+ --certificate-permissions get list
292
+ ```
293
+
294
+ ## Application Integration
295
+
296
+ ### Python SDK
297
+
298
+ ```python
299
+ from azure.identity import DefaultAzureCredential, ManagedIdentityCredential
300
+ from azure.keyvault.secrets import SecretClient
301
+ from azure.keyvault.keys import KeyClient
302
+ from azure.keyvault.certificates import CertificateClient
303
+
304
+ # Use DefaultAzureCredential (works locally and in Azure)
305
+ credential = DefaultAzureCredential()
306
+
307
+ vault_url = "https://myapp-vault-prod.vault.azure.net/"
308
+
309
+ # Secrets
310
+ secret_client = SecretClient(vault_url=vault_url, credential=credential)
311
+ db_password = secret_client.get_secret("db-password")
312
+ print(f"Secret value: {db_password.value}")
313
+
314
+ # Get specific version
315
+ specific = secret_client.get_secret("db-password", version="abc123")
316
+
317
+ # List secrets
318
+ for secret_properties in secret_client.list_properties_of_secrets():
319
+ print(f"Secret: {secret_properties.name}, Enabled: {secret_properties.enabled}")
320
+
321
+ # Keys
322
+ key_client = KeyClient(vault_url=vault_url, credential=credential)
323
+ from azure.keyvault.keys.crypto import CryptographyClient, EncryptionAlgorithm
324
+
325
+ key = key_client.get_key("data-encryption-key")
326
+ crypto_client = CryptographyClient(key, credential=credential)
327
+
328
+ # Encrypt data
329
+ plaintext = b"sensitive data"
330
+ result = crypto_client.encrypt(EncryptionAlgorithm.rsa_oaep_256, plaintext)
331
+ ciphertext = result.ciphertext
332
+
333
+ # Decrypt data
334
+ decrypted = crypto_client.decrypt(EncryptionAlgorithm.rsa_oaep_256, ciphertext)
335
+ ```
336
+
337
+ ### .NET SDK
338
+
339
+ ```csharp
340
+ using Azure.Identity;
341
+ using Azure.Security.KeyVault.Secrets;
342
+
343
+ var credential = new DefaultAzureCredential();
344
+ var client = new SecretClient(new Uri("https://myapp-vault-prod.vault.azure.net/"), credential);
345
+
346
+ KeyVaultSecret secret = await client.GetSecretAsync("db-password");
347
+ string password = secret.Value;
348
+ ```
349
+
350
+ ## Kubernetes Integration (AKS)
351
+
352
+ ### Secrets Store CSI Driver
353
+
354
+ ```yaml
355
+ # SecretProviderClass for AKS with managed identity
356
+ apiVersion: secrets-store.csi.x-k8s.io/v1
357
+ kind: SecretProviderClass
358
+ metadata:
359
+ name: azure-keyvault-secrets
360
+ namespace: production
361
+ spec:
362
+ provider: azure
363
+ parameters:
364
+ usePodIdentity: "false"
365
+ useVMManagedIdentity: "true"
366
+ userAssignedIdentityID: "<managed-identity-client-id>"
367
+ keyvaultName: "myapp-vault-prod"
368
+ cloudName: ""
369
+ objects: |
370
+ array:
371
+ - |
372
+ objectName: db-password
373
+ objectType: secret
374
+ objectVersion: ""
375
+ - |
376
+ objectName: api-key
377
+ objectType: secret
378
+ - |
379
+ objectName: app-tls-cert
380
+ objectType: secret
381
+ tenantId: "<azure-tenant-id>"
382
+ secretObjects:
383
+ - secretName: db-secrets
384
+ type: Opaque
385
+ data:
386
+ - objectName: db-password
387
+ key: password
388
+ - objectName: api-key
389
+ key: api-key
390
+ - secretName: tls-secret
391
+ type: kubernetes.io/tls
392
+ data:
393
+ - objectName: app-tls-cert
394
+ key: tls.crt
395
+ ---
396
+ # Pod using the secrets
397
+ apiVersion: v1
398
+ kind: Pod
399
+ metadata:
400
+ name: myapp
401
+ namespace: production
402
+ spec:
403
+ serviceAccountName: myapp-sa
404
+ containers:
405
+ - name: myapp
406
+ image: ghcr.io/acme/myapp:v1.0.0
407
+ env:
408
+ - name: DB_PASSWORD
409
+ valueFrom:
410
+ secretKeyRef:
411
+ name: db-secrets
412
+ key: password
413
+ volumeMounts:
414
+ - name: secrets-store
415
+ mountPath: "/mnt/secrets-store"
416
+ readOnly: true
417
+ volumes:
418
+ - name: secrets-store
419
+ csi:
420
+ driver: secrets-store.csi.k8s.io
421
+ readOnly: true
422
+ volumeAttributes:
423
+ secretProviderClass: "azure-keyvault-secrets"
424
+ ```
425
+
426
+
427
+ ## Contents
428
+
429
+ - [Terraform Configuration](references/details.md)
430
+ - [Troubleshooting](references/details.md)
431
+ - [Best Practices](references/details.md)
432
+ - [Related Skills](references/details.md)
433
+
434
+ ## When to Use This Skill
435
+
436
+ Use this skill when:
437
+ - Managing secrets, encryption keys, or certificates in Azure
438
+ - Implementing centralized secret management for Azure services
439
+ - Integrating secrets into AKS, App Service, or Azure Functions
440
+ - Encrypting data with customer-managed keys (CMK)
441
+ - Meeting compliance requirements for key management (FIPS 140-2)
442
+
443
+ ## Limitations
444
+
445
+ - Apply guidance only within authorized scope; test destructive steps in non-production first.
446
+ - Docs-only import: upstream scripts and templates not bundled.
447
+
448
+ ### Example
449
+
450
+ ```bash
451
+ # Read-only first: inventory before any active step.
452
+ which <tool> && <tool> --help | head -n 20
453
+ ```
454
+
455
+ > Adapted from [BagelHole/DevOps-Security-Agent-Skills](https://github.com/BagelHole/DevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.
@@ -0,0 +1,83 @@
1
+ # Details (moved from SKILL.md)
2
+
3
+ > Extended reference content for `azure-keyvault`, kept under `references/` so the entrypoint stays within the audit budget.
4
+
5
+ ## Terraform Configuration
6
+
7
+ ```hcl
8
+ resource "azurerm_key_vault" "main" {
9
+ name = "myapp-vault-prod"
10
+ location = azurerm_resource_group.main.location
11
+ resource_group_name = azurerm_resource_group.main.name
12
+ tenant_id = data.azurerm_client_config.current.tenant_id
13
+ sku_name = "premium"
14
+
15
+ enable_rbac_authorization = true
16
+ purge_protection_enabled = true
17
+ soft_delete_retention_days = 90
18
+ public_network_access_enabled = false
19
+
20
+ network_acls {
21
+ bypass = "AzureServices"
22
+ default_action = "Deny"
23
+ ip_rules = ["203.0.113.0/24"]
24
+ virtual_network_subnet_ids = [azurerm_subnet.app.id]
25
+ }
26
+ }
27
+
28
+ resource "azurerm_key_vault_secret" "db_password" {
29
+ name = "db-password"
30
+ value = var.db_password
31
+ key_vault_id = azurerm_key_vault.main.id
32
+ content_type = "text/plain"
33
+
34
+ expiration_date = "2026-01-01T00:00:00Z"
35
+
36
+ tags = {
37
+ environment = "production"
38
+ rotation = "enabled"
39
+ }
40
+ }
41
+
42
+ resource "azurerm_role_assignment" "app_secrets_user" {
43
+ scope = azurerm_key_vault.main.id
44
+ role_definition_name = "Key Vault Secrets User"
45
+ principal_id = azurerm_user_assigned_identity.app.principal_id
46
+ }
47
+ ```
48
+
49
+
50
+ ## Troubleshooting
51
+
52
+ | Problem | Cause | Solution |
53
+ |---------|-------|----------|
54
+ | "Access denied" when reading secrets | Missing RBAC role or access policy | Assign `Key Vault Secrets User` role; or add access policy with `get` permission |
55
+ | "Vault not found" | Network access restricted | Check firewall rules; enable private endpoint; add IP to allow list |
56
+ | Soft-deleted secret blocks creation | Name collision with deleted secret | Recover and update, or purge the deleted secret first |
57
+ | Managed identity cannot access vault | Identity not in correct scope | Verify identity principal ID; check role assignment scope matches vault |
58
+ | Certificate renewal fails | Auto-renew policy not configured | Set `lifetimeActions` with `AutoRenew` action in certificate policy |
59
+ | CSI driver fails to mount secrets | Wrong provider configuration | Verify `tenantId`, `userAssignedIdentityID`, and object names match exactly |
60
+ | High latency on secret retrieval | No client-side caching | Implement caching in application; use CSI driver for K8s (syncs on interval) |
61
+
62
+
63
+ ## Best Practices
64
+
65
+ - Use RBAC authorization over access policies for granular control
66
+ - Enable soft-delete and purge protection (required for compliance)
67
+ - Use managed identities for all service access (no credentials to manage)
68
+ - Enable private endpoints to eliminate public network exposure
69
+ - Set expiration dates on all secrets and certificates
70
+ - Enable diagnostic logging and forward to SIEM
71
+ - Use premium SKU for HSM-backed key operations
72
+ - Implement key rotation policies for all encryption keys
73
+ - Regularly audit access with Azure Activity logs
74
+ - Tag all vault resources for cost and ownership tracking
75
+
76
+
77
+ ## Related Skills
78
+
79
+ - hashicorp-vault (`hashicorp-vault`) - Multi-cloud secrets
80
+ - azure-networking (`azure-networking`) - Network security
81
+ - aws-secrets-manager (`aws-secrets-manager`) - AWS secret management
82
+ - gcp-secret-manager (`gcp-secret-manager`) - GCP secret management
83
+