azure-validate
Verdict safe, but 5 findings (5 medium), mainly data exfiltration. Most recent scan 2026-10-22.
Second scanner: NVIDIA SkillSpector
The two scanners disagree: Cisco found nothing and SkillSpector says do not install. One of them has a blind spot here; read the skill before trusting either. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis,…
- Package
- 27 files, 90 KB
- SKILL.md
- 370 words, 5 sections
- Code
- PowerShell (5), Shell (5)
- License
- MIT
SKILL.md covers: Azure Validate · Triggers · Rules · Steps · macOS/Linux: bash references/scripts/workflow.sh --workspace-path <workspace-path>
Findings
MEDIUM Bash: tainted data flows to dangerous sink Data Exfiltrationbehavioral
Variable $RG_NAME (line 58) flows to `source` at line 80.
references/recipes/azd/scripts/set-aspire-aca-env.sh:80
echo "ERROR: Could not resolve $var_name ($description) in resource group '$RG_NAME'." >&2MEDIUM Bash: tainted data flows to dangerous sink Data Exfiltrationbehavioral
Variable $RG_NAME (line 58) flows to `source` at line 89.
references/recipes/azd/scripts/set-aspire-aca-env.sh:89
echo "Resource group: $RG_NAME"MEDIUM Bash: tainted data flows to dangerous sink Data Exfiltrationbehavioral
Variable $RG_NAME (line 58) flows to `source` at line 94.
references/recipes/azd/scripts/set-aspire-aca-env.sh:94
az acr list --resource-group "$RG_NAME" --query "[0].loginServer" -o tsvMEDIUM Bash: tainted data flows to dangerous sink Data Exfiltrationbehavioral
Variable $RG_NAME (line 58) flows to `source` at line 99.
references/recipes/azd/scripts/set-aspire-aca-env.sh:99
az identity list --resource-group "$RG_NAME" --query "[0].id" -o tsvMEDIUM Bash: tainted data flows to dangerous sink Data Exfiltrationbehavioral
Variable $RG_NAME (line 58) flows to `source` at line 104.
references/recipes/azd/scripts/set-aspire-aca-env.sh:104
az identity list --resource-group "$RG_NAME" --query "[0].clientId" -o tsvWhat is in the package
27 files, 90 KB. Show the list.
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 3.5 KB |
references/aspire-functions-secrets.md | doc | 3.7 KB |
references/global-rules.md | doc | 1.2 KB |
references/policy-validation.md | doc | 1.5 KB |
references/region-availability.md | doc | 3.0 KB |
references/role-verification.md | doc | 3.9 KB |
references/recipes/README.md | doc | 374 B |
references/scripts/scan-aspire-functions-secrets.ps1 | script | 3.0 KB |
references/scripts/scan-aspire-functions-secrets.sh | script | 3.3 KB |
references/scripts/workflow.ps1 | script | 5.2 KB |
references/scripts/workflow.sh | script | 5.7 KB |
references/recipes/azcli/README.md | doc | 2.7 KB |
references/recipes/azcli/errors.md | doc | 505 B |
references/recipes/azd/README.md | doc | 5.3 KB |
references/recipes/azd/aspire.md | doc | 1.7 KB |
references/recipes/azd/environment.md | doc | 1.9 KB |
references/recipes/azd/errors.md | doc | 2.6 KB |
references/recipes/bicep/README.md | doc | 2.5 KB |
references/recipes/bicep/errors.md | doc | 374 B |
references/recipes/scripts/validate-deployment.ps1 | script | 5.2 KB |
references/recipes/scripts/validate-deployment.sh | script | 6.0 KB |
references/recipes/terraform/README.md | doc | 3.9 KB |
references/recipes/terraform/errors.md | doc | 2.8 KB |
references/recipes/azd/scripts/set-aspire-aca-env.ps1 | script | 3.5 KB |
references/recipes/azd/scripts/set-aspire-aca-env.sh | script | 3.6 KB |
references/recipes/terraform/scripts/validate-terraform.ps1 | script | 6.8 KB |
references/recipes/terraform/scripts/validate-terraform.sh | script | 6.6 KB |
External hosts referenced
developer.hashicorp.com azure.microsoft.com learn.microsoft.com
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
INFRA_DIR WORKSPACE_PATH AZURE_ENV_NAME AZURE_LOCATION AZURE_DIR AZURE_SUBSCRIPTION_ID SUBSCRIPTION_ID ACCOUNT_NAME ACCOUNT_OUT AZURE_CONTAINER_REGISTRY_ENDPOINT AZURE_CONTAINER_REGISTRY_MANAGED_IDENTITY_ID MANAGED_IDENTITY_CLIENT_ID VALIDATE_STATUS_PATH
Package contents recorded 2026-10-22 at commit f49ac319a7d3. 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.
- Bytecode analyzer.
- Pipeline analyzer.
- Correlation analyzer.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
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.
Scan history
| Date | Verdict | Findings | Change | Analyzers | Raw |
|---|---|---|---|---|---|
| SAFE | 5 | = | static bytecode pipeline correlation behavioral trigger | JSON | |
| SAFE | 5 | first scan | static bytecode pipeline correlation behavioral trigger | JSON |
Sources
- Repository: https://github.com/microsoft/azure-skills
- Raw scan result: microsoft-azure-skills-skills-azure-validate-scan.json
- Badge for your README:
 - Request a re-scan