Key Vault Auditor
/install key-vault-auditor
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):
- Key Vault list with network settings — all vaults and their configurations
az keyvault list --output json az keyvault show --name my-vault --output json - Key Vault access policies or RBAC assignments — who can access what
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 - Secret and certificate expiry status — near-expiry items
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):
{
"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 (\x3C 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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install key-vault-auditor - After installation, invoke the skill by name or use
/key-vault-auditor - Provide required inputs per the skill's parameter spec and get structured output
What is Key Vault Auditor?
Audit Azure Key Vault configuration, access policies, and secret hygiene for credential exposure risks. It is an AI Agent Skill for Claude Code / OpenClaw, with 327 downloads so far.
How do I install Key Vault Auditor?
Run "/install key-vault-auditor" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Key Vault Auditor free?
Yes, Key Vault Auditor is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Key Vault Auditor support?
Key Vault Auditor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Key Vault Auditor?
It is built and maintained by Anmol Nagpal (@anmolnagpal); the current version is v1.0.0.