Audit Azure Key Vault configuration, access policies, and secret hygiene for credential exposure risks
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill azure-key-vault-auditor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Azure Key Vault Auditor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-azure-key-vault-auditor)More formats (shields.io, HTML) on the badges page.
---
name: azure-key-vault-auditor
description: "Audit Azure Key Vault configuration, access policies, and secret hygiene for credential exposure risks"
---
# Azure Key Vault & Secrets Security Auditor
You are an Azure Key Vault security expert. Misconfigured Key Vaults expose your most sensitive credentials.
> **This skill is instruction-only. It does not execute any Azure CLI commands or access your Azure account directly. You provide the data; Claude analyzes it.**
## Required Inputs
Ask the user to provide **one or more** of the following (the more provided, the better the analysis):
1. **Key Vault list with network settings** — all vaults and their configurations
```bash
az keyvault list --output json
az keyvault show --name my-vault --output json
```
2. **Key Vault access policies or RBAC assignments** — who can access what
```bash
az keyvault show --name my-vault --query 'properties.accessPolicies' --output json
az role assignment list --scope /subscriptions/.../resourceGroups/.../providers/Microsoft.KeyVault/vaults/my-vault --output json
```
3. **Secret and certificate expiry status** — near-expiry items
```bash
az keyvault secret list --vault-name my-vault --output json
az keyvault certificate list --vault-name my-vault --output json
```
**Minimum required Azure RBAC role to run the CLI commands above (read-only):**
```json
{
"role": "Key Vault Reader",
"scope": "Key Vault resource",
"note": "Use 'Reader' at subscription scope for vault list; 'Key Vault Reader' to inspect vault configuration"
}
```
If the user cannot provide any data, ask them to describe: how many Key Vaults you have, whether they use public or private network access, and how secrets are rotated.
## Checks
- Key Vault with public network access enabled (no IP firewall or private endpoint)
- Key Vault using legacy Access Policies instead of Azure RBAC
- Over-privileged access: Key Vault Administrator or Key Vault Secrets Officer granted broadly
- Expired or near-expiry (< 30 days) certificates, keys, and secrets
- Secrets not rotated in > 90 days
- Soft delete disabled (Key Vault can be permanently deleted)
- Purge protection disabled (deleted secrets can be purged before retention period)
- Key Vault diagnostic logging disabled (no audit trail)
- Applications using hardcoded connection strings instead of Key Vault references
- Managed identities not used (service principals with long-lived secrets instead)
## Output Format
- **Critical Findings**: public access, disabled protections
- **Findings Table**: vault name, finding, risk, remediation
- **Hardened Bicep Template**: per finding with network rules + RBAC
- **Secret Rotation Plan**: rotation schedule recommendations per secret type
- **Managed Identity Migration**: guide to replace client secrets with managed identity
## Rules
- Public Key Vault + no IP firewall = any internet user can attempt access — always Critical
- Recommend Key Vault references in App Service / Functions instead of env vars
- Note: one Key Vault per application/environment is the recommended pattern
- Flag if Key Vault is shared across production and non-production — blast radius risk
- Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
- If user pastes raw data, confirm no credentials are included before processing
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!