Expiration fallback can expose secret values to the agent and logs
Source references: 6The audit only needs metadata such as expiresOn and enabled, but the fallback tells the agent to run `az keyvault secret show` for each secret. That command may return the secret value, and no field projection or value redaction is required. Per-item `keyvault_secret_get` creates the same risk if that tool returns secret contents.
Secret values could enter model context, terminal output, audit records, or session logs, widening credential exposure and potentially affecting the services or accounts that use them.
The audit needs expiration and status metadata, but the fallback specifies `az keyvault secret show` without an output query. If an agent runs it and captures the full response, the secret value could enter chat, terminal history, or logs even though it is unnecessary for this audit. The evidence does not establish whether the MCP `secret_get` returns values. Users can require metadata-only queries and prohibit reading or displaying secret contents.
1. **List Resources**: Enumerate keys, secrets, and certificates in target vault(s)2. **Get Details**: Retrieve expiration metadata for each resource3. **Analyze Status**: Compare expiration dates against current date and threshold4. **Generate Report**: Organize findings by priority with actionable recommendationsShow 5 other places
## Key Data FieldsWhen retrieving resource details, analyze these fields:- **expiresOn**: Expiration timestamp (null = no expiration set - security risk!)- **enabled**: Resource is active (false = disabled/inactive)- **notBefore**: When resource becomes valid- **createdOn/updatedOn**: For tracking resource age and last rotation- **subject/issuer**: Certificate-specific metadataIf Azure MCP Key Vault tools fail, timeout, or are unavailable, use Azure CLI commands as fallback.### CLI Command Reference| Operation | Azure CLI Command ||-----------|-------------------|| List secrets | `az keyvault secret list --vault-name <vault-name>` || Get secret details | `az keyvault secret show --vault-name <vault-name> --name <secret-name>` || List keys | `az keyvault key list --vault-name <vault-name>` || Get key details | `az keyvault key show --vault-name <vault-name> --name <key-name>` || List certificates | `az keyvault certificate list --vault-name <vault-name>` || Get certificate details | `az keyvault certificate show --vault-name <vault-name> --name <cert-name>` |Switch to Azure CLI when:- MCP tool returns timeout error- MCP tool returns "service unavailable" or connection errors- MCP tool takes longer than 30 seconds to respond- Empty response when vault is known to have resourcesWhen retrieving resource details, analyze these fields:- **expiresOn**: Expiration timestamp (null = no expiration set - security risk!)- **enabled**: Resource is active (false = disabled/inactive)- **notBefore**: When resource becomes valid- **createdOn/updatedOn**: For tracking resource age and last rotation- **subject/issuer**: Certificate-specific metadata## Fallback Strategy: Azure CLI CommandsIf Azure MCP Key Vault tools fail, timeout, or are unavailable, use Azure CLI commands as fallback.### CLI Command Reference| Operation | Azure CLI Command ||-----------|-------------------|| List secrets | `az keyvault secret list --vault-name <vault-name>` || Get secret details | `az keyvault secret show --vault-name <vault-name> --name <secret-name>` || List keys | `az keyvault key list --vault-name <vault-name>` |