Agent skill · Audited from source

azure-observability

skill · microsoft/azure-skillsMIT licenceAudited 23 Oct 2026 · source c28e02082dd8

★ 1,590pushed todayversion 1.1.1
✕BLOCKGrade D · 67/100 · 25 findings · c28e020
1,590repo stars · whole microsoft/azure-skills

Is it safe? No — BLOCK, grade D (67/100). We read this skill's source at commit c28e02082dd8 and observed filesystem and shell access and no hard-coded secrets. The audit raised 25 findings, 13 critical or high. What it does: Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster",…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “azure-observability (microsoft/azure-skills)”. Retrieved 23 Oct 2026. https://modelsatlas.com/skills/microsoft/azure-observability

Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 13 critical or high findings, starting with “Code injection” in skills/microsoft-foundry/finetuning/scripts/calibrate_grader.py:54. Do not install it without reading them.

2 skills are called “azure-observability”. You are viewing microsoft/azure-skills. 2 of them are BLOCK.

Trust audit

Audit 0.4.1 · source read 23 Oct 2026

Trust score67/100✕BLOCK D
0 critical13 high0 medium17 low22 info

BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 642 of 14,816 audited skills.

What the source does

  • FilesystemDeclared1 observation
  • NetworkNone observedNo outbound calls in the source
  • ShellDeclared1 observation
  • DependenciesNot pinnedSome versions float
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeFAIL11
L2 InstructionsPrompt injection, authority framing, hidden directivesFAIL14
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: instruction override, no behavioural pass.

Findings (25)

HIGHCode injectioncode.eval_exec · skills/microsoft-foundry/finetuning/scripts/calibrate_grader.py:54
F-02 Code injectionCWE-78 · CWE-94 · CWE-95Layer L1
exec(compile(source, grader_path, "exec"), namespace)
Why
evaluates text as code
Fix
remove; use a parser or a dispatch table
HIGHPrompt injectionprompt.hidden_comment · .github/plugins/azure-skills/skills/azure-aigateway/references/policies.md:178
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
<!-- Jailbreak detection is automatic when content safety is enabled -->
Why
directive hidden in a comment the user does not see rendered
Fix
remove the comment
HIGHPrompt injectionprompt.hidden_comment · skills/azure-aigateway/references/policies.md:178
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
<!-- Jailbreak detection is automatic when content safety is enabled -->
Why
directive hidden in a comment the user does not see rendered
Fix
remove the comment
HIGHPrompt injectionprompt.hide_from_user · .github/plugins/azure-skills/skills/azure-reliability/SKILL.md:247
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
After patching, **the skill runs the deploy itself** (do not stop and tell the user to run it). Detect the deployment tool and confirm once before executing:
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · .github/plugins/azure-skills/skills/azure-reliability/SKILL.md:348
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
3. On **yes**, **the skill runs the deploy itself** (`azd up` / `az deployment group create` / `terraform apply`) and streams output. Do not stop and tell the user to run it.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · .github/plugins/azure-skills/skills/azure-reliability/references/iac-patching-bicep.md:178
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
After patching, **the skill executes the deploys itself** — do not stop and tell the user to run commands. Confirm once with the user before each deploy, then run it.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · .github/plugins/azure-skills/skills/azure-reliability/references/iac-patching-terraform.md:109
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
After patching, **the skill executes the deploys itself** — do not stop and tell the user to run commands. Confirm once with the user before each deploy, then run it.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.hide_from_user · skills/azure-reliability/SKILL.md:247
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
After patching, **the skill runs the deploy itself** (do not stop and tell the user to run it). Detect the deployment tool and confirm once before executing:
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.override · .github/plugins/azure-cost/skills/cost-analysis/references/cost-query/workflow.md:52
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
| Date outside 92 days | Narrow the period; fallback does not bypass this guardrail. |
Why
asks the agent to drop prior instructions or safety
Fix
remove the instruction
HIGHPrompt injectionprompt.override · .github/plugins/azure-skills/skills/azure-aigateway/references/policies.md:168
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
### Jailbreak Detection
Why
asks the agent to drop prior instructions or safety
Fix
remove the instruction
HIGHPrompt injectionprompt.override · .github/plugins/azure-skills/skills/azure-aigateway/references/policies.md:170
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Block prompt injection attacks that attempt to bypass AI safety guardrails.
Why
asks the agent to drop prior instructions or safety
Fix
remove the instruction
HIGHPrompt injectionprompt.zero_width · .github/plugins/azure-skills/skills/azure-app-onboard-prereq/references/dependency-compatibility.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Dependency compatibility checks for Azure. Part of the [deployability check](deployability-check.md).
Why
invisible characters in instruction text
Fix
strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/azure-app-onboard-prereq/references/dependency-compatibility.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Dependency compatibility checks for Azure. Part of the [deployability check](deployability-check.md).
Why
invisible characters in instruction text
Fix
strip non-printing characters
LOWCode injectioncode.eval_exec · .github/plugins/azure-skills/skills/microsoft-foundry/finetuning/scripts/calibrate_grader.py:54
F-02 Code injectionCWE-78 · CWE-94 · CWE-95Layer L1
exec(compile(source, grader_path, "exec"), namespace)
Why
evaluates text as code
Fix
remove; use a parser or a dispatch table
LOWFilesystem / pathfs.credential_store · .github/plugins/foundry-iq-skills/skills/foundry-iq/helpers/_file_inventory.py:92
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
or lowered[-1] in {"id_rsa", "id_dsa", "id_ecdsa", "id_ed25519"}
Why
touches a credential store
Fix
—
LOWNetwork egressnet.raw_ip · .github/plugins/azure-skills/skills/azure-kubernetes/azure-kubernetes-app-deploy/knowledge-packs/frameworks/django.md:162
F-04 Network egressCWE-200 · CWE-319Layer L1
Gunicorn logs the port on startup: `Listening at: http://0.0.0.0:8000`
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · .github/plugins/azure-skills/skills/azure-kubernetes/azure-kubernetes-app-deploy/knowledge-packs/frameworks/fastapi.md:157
F-04 Network egressCWE-200 · CWE-319Layer L1
Uvicorn logs the port on startup: `Uvicorn running on http://0.0.0.0:8000`
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · .github/plugins/azure-skills/skills/azure-kubernetes/azure-kubernetes-app-deploy/knowledge-packs/frameworks/flask.md:172
F-04 Network egressCWE-200 · CWE-319Layer L1
Gunicorn logs the port on startup: `Listening at: http://0.0.0.0:8000`
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · .github/plugins/azure-skills/skills/entra-agent-id/references/sdk-sidecar-deployment.md:168
F-04 Network egressCWE-200 · CWE-319Layer L1
value: "http://127.0.0.1:5000"
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · .github/plugins/azure-skills/skills/entra-agent-id/references/sdk-sidecar-deployment.md:184
F-04 Network egressCWE-200 · CWE-319Layer L1
1. **Bind to localhost** — `Kestrel__Endpoints__Http__Url=http://127.0.0.1:5000`
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · .github/plugins/azure-skills/skills/microsoft-foundry/foundry-agent/create/scripts/smoke_test_voice.py:351
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
decoded_audio.extend(base64.b64decode(encoded_delta))
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · skills/microsoft-foundry/foundry-agent/create/scripts/smoke_test_voice.py:351
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
decoded_audio.extend(base64.b64decode(encoded_delta))
Why
No further detail recorded for this rule.
Fix
—
LOWSupply chainsupply.unpinned · landing-page/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
@astrojs/check, @iconify-json/lucide, @iconify-json/simple-icons, @tailwindcss/postcss, @types/node, astro, astro-expressive-code, astro-icon
Why
13 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWPrompt injectionprompt.override · .github/plugins/azure-skills/skills/azure-aigateway/SKILL.md:3
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
description: "Configure Azure API Management as an AI Gateway for AI models, MCP tools, and agents. WHEN: semantic caching, token limit, content safety, load balancing, AI model governance, MCP rate l
Why
asks the agent to drop prior instructions or safety
Fix
remove the instruction
LOWPrompt injectionprompt.override · .github/plugins/azure-skills/skills/azure-aigateway/SKILL.md:23
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
| **Agent Governance** | "content safety", "jailbreak detection", "filter harmful content" |
Why
asks the agent to drop prior instructions or safety
Fix
remove the instruction

Audit 0.4.1 · source sha c28e02082dd8 · 23 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publishermicrosoft GitHub organizationOwner of the repository this skill is read from
  • Source foldermicrosoft/azure-skillsThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdictc28e02082dd8A new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster",…

---
name: airunway-aks-setup
description: "Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: \"setup AI Runway\", \"onboard AKS cluster\", \"install AI Runway\", \"airunway setup\", \"deploy model to AKS\", \"GPU inference on AKS\", \"KAITO setup on AKS\", \"run LLM on AKS\", \"vLLM on AKS\", \"set up model serving on AKS\", \"AI Runway controller\"."
license: MIT
metadata:
  author: Microsoft
  version: "1.1.2"
argument-hint: "[skip-to-step N]"
---

# AI Runway AKS Setup

This skill walks users from a bare Kubernetes cluster to a running AI model deployment. Follow each step in sequence unless the user provides `skip-to-step N` to resume from a specific phase.

> **Cost awareness:** GPU node pools incur significant compute charges (A100-80GB can cost $3–5+/hr). Confirm the user understands cost implications before provisioning GPU resources.

## Prerequisites

This skill assumes an AKS cluster already exists. If the user does not have a cluster, hand off to the `azure-kubernetes` skill first to provision one (with a GPU node pool unless CPU-only inference is acceptable), then return here.

## Quick Reference

| Property | Value |
|----------|-------|
| Best for | End-to-end AI Runway onboarding on AKS |
| CLI tools | `kubectl`, `make`, `curl` |
| MCP tools | None |
| Related skills | `azure-kubernetes` (cluster setup), `azure-diagnostics` (baseline troubleshooting), optional `aks-gpu-inference` (existing GPU/inference Day-2 incidents only) |

## When to Use This Skill

Use this skill when the user wants to:
- Set up AI Runway on an existing AKS cluster from scratch
- Install the AI Runway controller and CRDs
- Assess GPU hardware compatibility for model deployment
- Choose and install an inference provider (KAITO, Dynamo, KubeRay)
- Deploy their first AI model to AKS via AI Runway
- Resume a partially-complete AI Runway setup from a specific step

## GPU setup versus Day-2 incidents

Keep initial GPU node-pool, provider, controller, and model setup in this skill.
For an incident affecting an existing GPU or inference deployment, load
[optional-gpu-day2.md](references/optional-gpu-day2.md) before deciding whether
to offer the focused optional add-on.

## MCP Tools

This skill uses no MCP tools. All cluster operations are performed directly via `kubectl` and `make`.

## Rules

1. Execute steps in sequence — load the reference for each step as you reach it
2. Report cluster state at each step: ✓ healthy, ✗ missing/failed
3. Ask for user confirmation before any install or deployment action
4. If a step is already complete, report status and skip to the next step
5. If the user provides `skip-to-step N`, start at step N; assume prior steps are complete

## Steps

| # | Step | Reference |
|---|------|-----------|
| 1 | **Cluster Verification** — context check, node inventory, GPU detection | [step-1-verify.md](references/steps/step-1-verify.md) |
| 2 | **Controller Installation** — CRD + controller deployment | [step-2-controller.md](references/steps/step-2-controller.md) |
| 3 | **GPU Assessment** — detect GPU models, flag dtype/attention constraints | [step-3-gpu.md](references/steps/step-3-gpu.md) |
| 4 | **Provider Setup** — recommend and install inference provider | [step-4-provider.md](references/steps/step-4-provider.md) |
| 5 | **First Deployment** — pick a model, deploy, verify Ready | [step-5-deploy.md](references/steps/step-5-deploy.md) |
| 6 | **Summary** — recap, smoke test, next steps | [step-6-summary.md](references/steps/step-6-summary.md) |

## Error Handling

| Error / Symptom | Likely Cause | Remediation |
|-----------------|--------------|-------------|
| No kubeconfig context | Not connected to a cluster | Run `az aks get-credentials` or equivalent |
| Controller in CrashLoopBackOff | Config or RBAC issue | `kubectl logs -n airunway-system -l control-plane=controller-manager --previous` |
| Provider not ready | Image pull or RBAC issue | `kubectl logs <pod-name> -n <namespace>` for the provider pod |
| ModelDeployment stuck in Pending | GPU scheduling failure or provider not ready | `kubectl describe modeldeployment <name> -n <namespace>` events |
| `bfloat16` errors at inference | T4 or V100 lacks bfloat16 support | Add `--dtype float16` to serving args |

For full error handling and rollback procedures, see [troubleshooting.md](references/troubleshooting.md).

Excerpt, first 4,478 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit c28e020

npm install @azure/monitor-opentelemetry
pip install azure-monitor-opentelemetry
pip install azure-monitor-opentelemetry-exporter
pip install azure-ai-contentsafety

Commands as the repository documents them: shown, never run by us. Our verdict covers commit c28e02082dd8 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CodexMentioned in its text, not testedSkills for Codex · About Codex
GitHub CopilotMentioned in its text, not testedSkills for GitHub Copilot · About GitHub Copilot
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
Gemini CLIMentioned in its text, not testedSkills for Gemini CLI · About Gemini CLI
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✕BLOCK D 67 / 100

    first audit · source c28e02082dd8

README badge

For maintainers · shows the latest audit

ModelsAtlas: BLOCK DMODELSATLASBLOCK · D
[![ModelsAtlas: BLOCK D](https://modelsatlas.com/skills/microsoft/azure-observability/badge.svg)](https://modelsatlas.com/skills/microsoft/azure-observability/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

academy-guide✓SAFE

anthropics/skills

Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com),…

★ 177kGrade B
algorithmic-art✓SAFE

anthropics/skills

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.…

★ 177kGrade B
brand-guidelines✓SAFE

anthropics/skills

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design…

★ 177kGrade B
canvas-design✓SAFE

anthropics/skills

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual…

★ 177kGrade B
discernment-nudge✓SAFE

anthropics/skills

After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or…

★ 177kGrade B
doc-coauthoring✓SAFE

anthropics/skills

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users…

★ 177kGrade B

Add this badge to your README

[![ModelsAtlas: BLOCK D](https://modelsatlas.com/skills/microsoft/azure-observability/badge.svg)](https://modelsatlas.com/skills/microsoft/azure-observability/)

Questions about azure-observability

What does the azure-observability skill do?
Official agent plugin providing skills and MCP server configurations for Azure scenarios.
Is azure-observability safe to install?
No — not without reading the findings first. The audit graded it D (67/100) and found 13 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can azure-observability access on my machine?
The audit observed that it runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does azure-observability work with?
Its documentation mentions claude-code, codex, copilot, cursor and gemini-cli. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (c28e02082dd8), read on 2026-10-23. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.