azure-security-keyvault-secrets-java
Verdict safe, but 1 finding (1 medium), mainly data exfiltration. Most recent scan 2026-02-05.
This Azure Key Vault Secrets Java SDK skill is primarily a documentation/reference package with MEDIUM security concerns. The main issue is hardcoded example credentials in code samples (database password and API key), which could lead to credential exposure if users copy-paste without modification. The skill has no executable scripts, reducing attack surface significantly. Missing optional metadata (license, compatibility, allowed-tools) and a referenced but missing backup.py file are minor documentation issues. The incomplete code example could cause runtime problems. Overall, this appears to be a legitimate Azure SDK documentation skill with documentation quality issues rather than malicious intent, but the hardcoded credentials pattern should be addressed to prevent accidental credential exposure.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
SkillSpector found no issues but could not fully inspect the package, usually because SKILL.md refers to a file that is not present, so it fails closed to CAUTION instead of SAFE. Read it as "not fully checked", not as a finding. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Azure Key Vault Secrets Java SDK for secret management. Use when storing, retrieving, or managing passwords, API keys, connection strings, or other sensitive configuration data.
- Package
- 3 files, 27 KB
- SKILL.md
- 940 words, 12+ sections
- Code
- None. Instructions only.
SKILL.md covers: Azure Key Vault Secrets (Java) · Installation · Client Creation · Create/Set Secret · Get Secret · Update Secret Properties · List Secrets · Delete Secret · Recover Deleted Secret · Purge Deleted Secret · Backup and Restore · Async Operations
Findings
MEDIUM Hardcoded Secrets in Code Examples Data Exfiltrationllm
The instruction body contains hardcoded sensitive credentials in code examples, including a database password ('P@ssw0rd123!') and an API key ('sk_live_abc123xyz'). While these appear to be example values for demonstration purposes, including literal secrets in documentation creates security risks: users may copy-paste these examples without changing credentials, developers may accidentally commit real secrets following this pattern, and it normalizes hardcoding secrets in code. Best practice is to use placeholder values like '<your-password-here>' or environment variable references.
SKILL.md
KeyVaultSecret secret = secretClient.setSecret("database-password", "P@ssw0rd123!");
...
KeyVaultSecret secretWithOptions = secretClient.setSecret(
new KeyVaultSecret("api-key", "sk_live_abc123xyz")What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 11 KB |
references/acceptance-criteria.md | doc | 4.4 KB |
references/examples.md | doc | 12 KB |
External hosts referenced
github.com my-vault.vault.azure.net
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
AZURE_KEYVAULT_URL
Package contents recorded 2026-10-22 at commit cfbcbbdc679c. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/microsoft/agent-skills
- Raw scan result: github-skills-azure-security-keyvault-secrets-java-scan.json
- Badge for your README:
 - Request a re-scan