{"id":"cmuxjvn0y19utad07ja565ziq","slug":"python-appservice-deploy","publicId":"11fb7742-fc29-4972-b684-e3892a2698ac","name":"python-appservice-deploy","description":"Deploy Python (Flask/Django/FastAPI) code to Azure App Service Linux. WHEN: \"Flask App Service\", \"Django App Service\", \"FastAPI App Service\", \"deploy Python to App Service\". DO NOT USE FOR: Container Apps, Functions, non-Python, Terraform/Bicep/IaC, full infra — use azure-prepare.","version":"1.1.1","author":"Microsoft","license":"MIT","compatibility":"","status":"completed","overallGrade":"F","scannerVersion":11,"fileCount":13,"hasSkillMd":true,"hasScripts":true,"hasReferences":true,"hasEvals":false,"hasAssets":false,"sourceType":"github","sourceUrl":"https://github.com/microsoft/skills/tree/main/.github/plugins/azure-skills/skills/python-appservice-deploy","createdAt":"2026-10-07T03:30:52.458Z","completedAt":"2026-10-07T03:30:52.455Z","visibility":"public","publishedAt":"2026-08-05T23:43:41.436Z","category":"","frameworks":[],"badgeStatus":"flagged","downloadCount":0,"verdictRationale":{"summary":"Skill failed: 1 hard fail in security or structure checks.","verdict":"fail","scanners":[{"source":"vettd","weight":1,"verdict":"fail"},{"source":"cisco","weight":0.8,"verdict":"pass"}],"consensus":"fail","warnTriggers":["References external URL — review for indirect prompt injection risk"],"policyVersion":"consensus-v1","hardFailTriggers":["Shell variable execution (eval/bash -c with variable)"]},"verdictPolicyVersion":"consensus-v1","skillId":"cmsgqgnj005j8ad07zbt9eunk","findings":[{"id":"cmuxjvn2w19uuad07gwoa36ad","source":"vettd","category":"security","label":"Shell variable execution (eval/bash -c with variable)","detail":"Detected in scripts/retry-az-create.sh:36 — `if err=$({ eval \"$SHOW_CMD -o none 2>/dev/null\" || eval \"$CREATE_CMD -o none\"; } 2>&1); then`","severity":"critical","ruleId":"VTD-0023","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"cc162cab6db8c7b53bdb2acb91c16c3f","filepath":"scripts/retry-az-create.sh"},{"id":"cmuxjvn2w19uvad078a1wrswu","source":"vettd","category":"security","label":"References external URL — review for indirect prompt injection risk","detail":"External URL(s) detected in SKILL.md — referenced content can change after audit","severity":"medium","ruleId":"VTD-0088","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42638a8b7e9fc5df27449992eaebc724","filepath":"SKILL.md"}],"scannerRuns":[{"source":"cisco","status":"success","verdict":null,"grade":"A","findingCount":0,"criticalCount":0,"highCount":0},{"source":"vettd","status":"success","verdict":null,"grade":"F","findingCount":2,"criticalCount":1,"highCount":1}],"user":{"name":"Justin Pacella","image":"https://avatars.githubusercontent.com/u/97124458?v=4"},"repository":{"owner":"microsoft","name":"skills"},"freshness":{"status":"verified_unchanged","reason":null,"retryable":false,"renamedTo":null,"lastCheckedAt":"2026-10-21T17:41:41.205Z","lastVerifiedAt":"2026-10-21T17:41:41.205Z","lastChangeDetectedAt":"2026-08-25T12:20:05.085Z","scannedHash":"3003f4d14f1e1a63ec94afd28f958560aab4b273","latestUpstreamHash":"3003f4d14f1e1a63ec94afd28f958560aab4b273","nextCheckDueAt":"2026-10-22T16:22:23.549Z"},"signalCategories":[{"category":"safety","label":"Safety","form":"graded","verdict":null,"rows":[]},{"category":"reliability","label":"Reliability & Quality","form":"graded","verdict":null,"rows":[]},{"category":"performance","label":"Performance","form":"measured","verdict":{"form":"measured","magnitudes":[{"ruleId":"performance/static-context-tokens","label":"Static context tokens","value":687,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body"}]},"rows":[{"origin":"signal","id":"cmuxjvobi1a65ad07fbzm0wha","subjectType":"skill_audit","subjectId":"cmuxjvn0y19utad07ja565ziq","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/static-context-tokens","severity":null,"label":"Static context tokens","detail":null,"valueNum":687,"valueText":null,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body","derivation":null,"confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:30:42.000Z","payload":null},{"origin":"signal","id":"cmuxjvtfg1b38ad07o8uy439j","subjectType":"skill_audit","subjectId":"cmuxjvn0y19utad07ja565ziq","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/progressive-disclosure","severity":null,"label":"Progressive disclosure","detail":null,"valueNum":null,"valueText":"present","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:30:42.000Z","payload":null}]},{"category":"cost","label":"Cost","form":"measured","verdict":null,"rows":[]},{"category":"compatibility","label":"Compatibility","form":"unjudged","verdict":{"form":"unjudged"},"rows":[{"origin":"signal","id":"cmuxjvonb1aa2ad07k05cmekq","subjectType":"skill_audit","subjectId":"cmuxjvn0y19utad07ja565ziq","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-environment-assumptions","severity":null,"label":"Declared environment assumptions","detail":null,"valueNum":null,"valueText":"","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:30:42.000Z","payload":null},{"origin":"signal","id":"cmuxjvqvm1ar8ad07ew649ebt","subjectType":"skill_audit","subjectId":"cmuxjvn0y19utad07ja565ziq","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-name","severity":null,"label":"Declared skill name","detail":null,"valueNum":null,"valueText":"python-appservice-deploy","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:30:42.000Z","payload":null},{"origin":"signal","id":"cmuxjvtkl1b4gad07pcn5qumi","subjectType":"skill_audit","subjectId":"cmuxjvn0y19utad07ja565ziq","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/cli-help","severity":null,"label":"CLI help","detail":null,"valueNum":null,"valueText":"absent","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:30:42.000Z","payload":null},{"origin":"signal","id":"cmuxjvtpx1b4wad07si2a9zz7","subjectType":"skill_audit","subjectId":"cmuxjvn0y19utad07ja565ziq","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/structured-output","severity":null,"label":"Structured output","detail":null,"valueNum":null,"valueText":"absent","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:30:42.000Z","payload":null}]},{"category":"sentiment","label":"Popularity","form":"unjudged","verdict":null,"rows":[]},{"category":"characteristics","label":"Characteristics","form":"unjudged","verdict":null,"rows":[]}],"signalCount":26,"publisherSupplied":["name","description","author","version","license"]}