Versioned security assessment

Report ID: SA-EE98E1D6

7/5/2026, 10:10:12 PM

azure-deploy security assessment v3

Skill Security Certification Report

Audit History
Audit model: codex Historical report
Skill name
azure-deploy
Version
v3
Maintainer
microsoft
Coverage
31 Files scanned · 1,416 Lines analyzed
Policy version
Unavailable

Highest confirmed finding severity

Critical

2 confirmed security findings require attention.

Installation context

Historical evidence

This report may not describe the currently installable artifact. Open the current Skill page for install guidance.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

Most static findings are Markdown links, placeholders, or legitimate Azure deployment documentation rather than hidden executable code. The audit confirmed one critical pipe-to-shell installer reference and a high-impact operational risk from no-prompt deployment and destructive cleanup commands. No evidence found of credential exfiltration or prompt injection in the reviewed files.

Report position

Historical report

Open audit history before using this report to install.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

31 Files scanned · 1,416 Lines analyzed

2 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Binding unavailable

  2. Artifact

    Identity incomplete

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Not recorded by this audit

Network access

May connect to external services.

Observed in 6 evidence locations

Filesystem access

May read or write local files.

Observed in 11 evidence locations

Env variables

May read values from the process environment.

Observed in 6 evidence locations

External commands

May invoke commands or programs outside the Skill.

Observed in 22 evidence locations

Risk findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (2)

RISK-001 Critical
Pipe to shell pattern
curl -fsSL https://aka.ms/install-azd.sh | bash
The reference instructs piping a remote installer script directly into bash. If the downloaded script or redirect target is compromised, arbitrary code can run on the user host without checksum or signature verification.
RISK-002 High
Cloud Deployment Commands Can Change or Delete Resources
The skill intentionally guides agents to run no-prompt provisioning, auto-approved Terraform applies, and destructive cleanup commands. These actions can create costs or delete Azure resources without careful confirmation.
The cited files directly instruct deployment with no-prompt or auto-approve flags and document destructive cleanup commands. The risk is operational and security-sensitive because it affects real cloud resources.

Remediation

Suggested fixes recorded by this audit. Applying them is the maintainer’s responsibility.

  1. FIX-001
    Critical
    Remote installer is piped directly to bash.
    Replace curl-to-bash installation with an official package manager, a checked download, or documented checksum and signature verification.
  2. FIX-002
    High
    Deployment recipes include no-prompt, auto-approve, and destructive cleanup commands.
    Require explicit user confirmation with subscription, resource group, cost, and data-loss impact before running these commands.
  3. FIX-003
    Medium
    Examples reference Azure secret stores and azd environment files.
    State that agents must never print, copy, or transmit secret values, and should prefer OIDC, managed identity, and masked CI secrets.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Static false positives ignored (13)
Critical
Azure credentials directory
> ⛔ **DO NOT** manually create `.azure/` folder with `mkdir` or `New-Item`. Let `azd` create it.
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- `.azure/<env-name>/` folder with config files
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- `.azure/plan.md` exists with status `Validated`
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- `.azure/plan.md` status = `Validated`
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- `.azure/plan.md` exists with status `Validated`
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- `.azure/plan.md` exists with status `Validated`
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- `.azure/plan.md` exists with status `Validated`
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- `.azure/plan.md` exists with status `Validated`
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
- Bicep outputs auto-populate .azure/<env>/.env — don't manually edit
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
> 1. **azure-prepare** was invoked and completed → `.azure/plan.md` exists
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
2. `.azure/plan.md` must exist with status `Validated`
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
| 1 | **Check Plan** — Read `.azure/plan.md`, verify status = `Validated` AND **Validation Proof** s
Force-confirmed sensitive/critical static finding; AI dismissal overridden.
Critical
Azure credentials directory
| 3 | **Load Recipe** — Based on `recipe.type` in `.azure/plan.md` | [recipes/README.md](references/
Force-confirmed sensitive/critical static finding; AI dismissal overridden.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable