Skills azure-upgrade
๐Ÿ“ฆ

azure-upgrade

v1.1.4 Content revision r2 High Risk โš™๏ธ External commands๐Ÿ”‘ Env variables๐Ÿ“ Filesystem access๐ŸŒ Network access

Upgrade Azure Workloads and Java SDKs

Azure upgrades can fail when compatibility, identity, deployment, and rollback details are missed. This skill provides phased assessments, migration steps, validation, and recovery guidance.

Supports: Claude Codex Code(CC)
โš ๏ธ 38 Poor

Install with my Agent

Copy this request to your Agent. It includes the canonical Skill page and manifest.

Agent request
Review the Skillstore skill "azure-upgrade" from https://skillstore.io/skills/microsoft-azure-upgrade.md and its manifest at https://skillstore.io/api/skills/microsoft-azure-upgrade/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.

Your Agent should still show its plan and request any confirmation required by the security policy.

Agent-readable resources

Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.

Test it

Using "azure-upgrade". Assess my Linux Consumption function app for Flex Consumption.

Expected outcome:

  • Eligibility: conditional
  • Blockers: deployment slots and polling blob triggers
  • Required action: convert triggers and choose a supported region
  • Next gate: confirm the target app before creation

Using "azure-upgrade". Plan migration from legacy Azure Java management libraries.

Expected outcome:

  • Inventory: legacy management and authentication packages found
  • Target: supported Azure Resource Manager and Azure Identity libraries
  • Validation: compile tests, run tests, and verify zero legacy references
  • Rollback: retain the migration branch and last successful commit

Using "azure-upgrade". Which Redis migration path applies to Enterprise_E20?

Expected outcome:

Enterprise_E20 is an ACRE resource. Use the reviewed ACRE to AMR migration skill after confirming its pinned source.

Security Audit

High Risk
v6 โ€ข 7/23/2026 Open versioned report

Most static matches are documentation syntax, relative links, or scoped Azure checks. Confirmed risks include untrusted wrapper execution, destructive build-file handling, and credential exposure. Hidden persistent directives and unpinned external skill installation add supply-chain and agent-control risk.

31
Files scanned
3,461
Lines analyzed
11
Review items
0
False positives ignored

Confirmed security concerns (3)

High
Azure Credentials Exposed by Migration Commands
The guide prints every Function App setting and passes AzureWebJobsStorage on command lines. These values can expose production credentials in logs and process listings.
The commands explicitly retrieve, print, and reuse app settings and a storage connection string. AzureWebJobsStorage is a credential-bearing setting.
High
Prompt Injection Attempt Detected
A hidden template comment says "DON'T REMOVE THIS COMMENT BLOCK" and directs agents to continue without user input or token limits. Generated files can persist these directives.
The instructions are explicit, persistent, and hidden inside a generated project comment. They attempt to control future agent behavior and disregard operational limits.
Medium
Unpinned External Skill Installation
Redis requests are redirected to separately maintained repositories, and users are told to install those skills. No immutable commit or reviewed package version is required.
The routing and installation instructions are explicit, but the linked repositories are external to this audited package. Their future content is outside this report.
Capability review items (11)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

High
Python subprocess.run
return subprocess.run(cmd, cwd=project_dir).returncode
The helper executes a detected project Maven wrapper or an unrestricted --mvn executable. A malicious wrapper or supplied executable can run arbitrary code with the agent's privileges.
High
Python subprocess.run
return subprocess.run(cmd, cwd=project_dir).returncode
The helper executes a detected project Gradle wrapper or an unrestricted --gradle executable. A malicious wrapper or supplied executable can run arbitrary code with the agent's privileges.
High
Python file write/append
with open(yml_path, "w", encoding="utf-8") as f:
The script opens a fixed project-root rewrite.yml path with truncation and does not preserve an existing file. The cleanup later removes that same path.
High
Python file write/append
with open(build_file, "w", encoding="utf-8") as f:
The script replaces the complete Gradle build file after regex-based injection. It performs no backup or atomic restoration if the source layout is unexpected.
High
Python file write/append
with open(build_file, "w", encoding="utf-8") as f:
Cleanup rewrites the complete Gradle file and discards all lines after its second marker. Marker collisions or a missing trailing newline can delete legitimate content.
High
Python os file operations
os.chmod(wrapper, mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
The script grants execute permission to a project-provided Maven wrapper before running it. This can activate untrusted repository code without a trust check.
High
Python os file operations
os.chmod(wrapper, mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)
The script grants execute permission to a project-provided Gradle wrapper before running it. This can activate untrusted repository code without a trust check.
High
Python os file operations
os.remove(yml_path)
The script removes project-root rewrite.yml after overwriting that fixed path. An existing user file is therefore destroyed rather than restored.
High
Shell command substitution
app_settings=$(az functionapp config appsettings list --name $appName --resource-group $rgName)
The command captures all Function App settings, and the next line prints them. App settings commonly contain connection strings, tokens, and other secrets.
High
Shell command substitution
storageConnection=$(az functionapp config appsettings list --name $appName --resource-group $rgName
The command extracts AzureWebJobsStorage into a shell variable. The guide later passes that connection string on command lines, exposing a storage credential.
High
Shell command substitution
packageName=$(az storage blob list --connection-string $storageConnection --container-name scm-relea
The command passes the storage connection string as an unquoted process argument while querying blobs. This can expose credentials through process inspection and shell expansion.

Risk Factors

โš™๏ธ External commands (49)
references/languages/java/bom-migration/bom-gradle.md:12 references/languages/java/bom-migration/bom-gradle.md:121 references/languages/java/bom-migration/bom-gradle.md:122 references/languages/java/bom-migration/bom-maven.md:12 references/languages/java/bom-migration/bom-maven.md:111 references/languages/java/bom-migration/bom-migration.md:9 references/languages/java/bom-migration/bom-migration.md:15 references/languages/java/bom-migration/bom-migration.md:17 references/languages/java/bom-migration/bom-migration.md:31 references/languages/java/INSTRUCTION.md:17 references/languages/java/INSTRUCTION.md:19 references/languages/java/INSTRUCTION.md:25 references/languages/java/INSTRUCTION.md:82 references/languages/java/INSTRUCTION.md:84 references/languages/java/scripts/upgrade_bom.py:195 references/languages/java/scripts/upgrade_bom.py:433 references/languages/java/scripts/upgrade_bom.py:371 references/services/functions/automation.md:139-143 references/services/functions/automation.md:110 references/services/functions/automation.md:152-153 references/services/functions/automation.md:164-165 references/services/functions/automation.md:169 references/services/functions/automation.md:171 references/services/functions/automation.md:213-214 references/services/functions/automation.md:217-218 references/services/functions/automation.md:354-355 references/services/functions/automation.md:357 references/services/functions/automation.md:4 references/services/functions/automation.md:57 references/services/functions/automation.md:68 references/services/functions/consumption-to-flex.md:47 references/services/redis/redis-to-amr.md:10 references/services/redis/redis-to-amr.md:25 references/services/redis/redis-to-amr.md:33 references/services/redis/redis-to-amr.md:44 references/services/redis/redis-to-amr.md:54 SKILL.md:13 SKILL.md:32 SKILL.md:33 SKILL.md:43 SKILL.md:49 SKILL.md:55 SKILL.md:56 SKILL.md:57 SKILL.md:58 SKILL.md:68 SKILL.md:70 SKILL.md:90 SKILL.md:91
๐Ÿ”‘ Env variables (4)
๐Ÿ“ Filesystem access (14)
๐ŸŒ Network access (8)
Audited by: codex View Audit History โ†’
Share & cite this report

Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.

Open versioned report
Security Assessment

Copy report link

https://skillstore.io/skills/microsoft-azure-upgrade/audits/6?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdown badge

[![Skillstore security assessment](https://skillstore.io/badges/skills/microsoft-azure-upgrade/security.svg)](https://skillstore.io/skills/microsoft-azure-upgrade?utm_source=security_passport_badge)

HTML badge

<a href="https://skillstore.io/skills/microsoft-azure-upgrade?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/microsoft-azure-upgrade/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

Embed card

<iframe src="https://skillstore.io/embed/skills/microsoft-azure-upgrade.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
Academic citations (APA ยท BibTeX ยท CFF)

APA citation

microsoft. (2026). azure-upgrade security audit report (audit version 6) [Author version 1.1.4]. Skillstore. https://skillstore.io/skills/microsoft-azure-upgrade/audits/6

BibTeX citation

@techreport{microsoft-microsoft-azure-upgrade-2026, author = {microsoft}, title = {azure-upgrade security audit report (audit version 6)}, institution = {Skillstore}, year = {2026}, number = {6}, url = {https://skillstore.io/skills/microsoft-azure-upgrade/audits/6}, note = {Author version 1.1.4} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "azure-upgrade security audit report (audit version 6)" version: "1.1.4" type: report authors: - name: "microsoft" date-released: "2026-07-23" url: "https://skillstore.io/skills/microsoft-azure-upgrade/audits/6" identifiers: - type: other value: "skillstore:microsoft-azure-upgrade:audit:6" description: "Skillstore immutable audit report identifier"

Skillstore Score

Why this score Evidence Confidence: Medium
50
Architecture
100
Maintainability
87
Content
70
Community
91
Spec Compliance

What You Can Build

Assess a Functions Upgrade

Check a Linux Consumption app for Flex compatibility before creating resources.

Modernize Java Dependencies

Replace unsupported Azure Java SDK packages while preserving application behavior and tests.

Plan a Redis Migration

Identify ACR or ACRE resources and select the correct managed Redis migration path.

Try These Prompts

Check Flex Readiness
Assess whether my Linux Consumption app <APP_NAME> in <RESOURCE_GROUP> can move to Flex Consumption. Do not create resources.
Create a Functions Plan
Plan a Flex Consumption migration for <APP_NAME>. Include compatibility, identity, deployment, validation, rollback, and confirmation gates.
Plan Java Modernization
Inventory the Java project at <PROJECT_PATH> for legacy Azure SDKs. Resolve the latest BOM and propose changes before execution.
Execute an Approved Java Plan
Execute the approved migration for <PROJECT_PATH>. Confirm wrapper trust, apply required changes, run tests, and summarize remaining risks.

Best Practices

  • Complete assessment and rollback planning before changing Azure resources.
  • Use managed identity and preserve the original workload until validation succeeds.
  • Review wrappers, generated commands, and source changes before execution.

Avoid

  • Do not delete or stop the original workload before explicit confirmation.
  • Do not print app settings, connection strings, tokens, or credential files.
  • Do not install external migration skills from an unreviewed mutable branch.

Frequently Asked Questions

Does this skill migrate Windows Consumption apps?
No. The included Flex Consumption workflow covers Linux apps only.
Can it create Azure resources automatically?
It provides creation commands, but resource creation requires authenticated tools and explicit user confirmation.
Which Java build systems are supported?
The Java workflow supports Maven and Gradle, including documented version catalog variants.
Does it perform Redis migration directly?
No. It identifies ACR or ACRE and routes the request to a dedicated migration skill.
How does it protect rollback options?
It keeps the original workload available until the new workload passes validation and the user approves cleanup.
What access is required?
Assessment needs project access and Azure read permissions. Execution also needs approved write permissions and trusted local build tools.

Developer Details

Author

microsoft

License

MIT

Author version

v1.1.4

Skillstore revision

r2

Ref

ebdfe608f5de2b66ff37ab4af12af8ac4f5e8006

Maintenance freshness

7/25/2026

Usage

4 downloads ยท 194 views

File structure

๐Ÿ“ references/

๐Ÿ“„ global-rules.md

๐Ÿ“ languages/

๐Ÿ“ java/

๐Ÿ“ bom-migration/

๐Ÿ“„ bom-gradle-settings.md

๐Ÿ“„ bom-gradle-toml.md

๐Ÿ“„ bom-gradle.md

๐Ÿ“„ bom-maven.md

๐Ÿ“„ bom-migration.md

๐Ÿ“„ bom-validation.md

๐Ÿ“„ INSTRUCTION.md

๐Ÿ“ package-specific/

๐Ÿ“„ com.microsoft.azure.eventprocessorhost.md

๐Ÿ“„ com.microsoft.azure.management.md

๐Ÿ“„ README.md

๐Ÿ“ rules/

๐Ÿ“„ efficiency.md

๐Ÿ“„ execution-guidelines.md

๐Ÿ“„ review-code-changes.md

๐Ÿ“„ troubleshooting.md

๐Ÿ“„ upgrade-strategy.md

๐Ÿ“„ upgrade-success-criteria.md

๐Ÿ“ scripts/

๐Ÿ“„ upgrade_bom.py

๐Ÿ“ templates/

๐Ÿ“„ PLAN_TEMPLATE.md

๐Ÿ“„ PROGRESS_TEMPLATE.md

๐Ÿ“„ SUMMARY_TEMPLATE.md

๐Ÿ“ workflow/

๐Ÿ“„ phase-1-precheck.md

๐Ÿ“„ phase-2-plan.md

๐Ÿ“„ phase-3-execute.md

๐Ÿ“„ phase-4-summarize.md

๐Ÿ“ services/

๐Ÿ“ functions/

๐Ÿ“„ assessment.md

๐Ÿ“„ automation.md

๐Ÿ“„ consumption-to-flex.md

๐Ÿ“ redis/

๐Ÿ“„ redis-to-amr.md

๐Ÿ“„ workflow-details.md

๐Ÿ“„ SKILL.md