Azure Functions
DataDog/dd-trace-dotnet
Dev/test workflow for tracer engineers working on the Datadog .NET tracer — build a local Datadog.AzureFunctions NuGet package, deploy it to a test Azure Function App, trigger it, and analyze…
Guidance for securing Azure App Service web apps and APIs — managed identity, Easy Auth with Microsoft Entra ID, network isolation via private endpoints + VNet integration, HTTPS / TLS hardening…
$ npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vinayaklatthe/microsoft-security-skills azure-app-service-security --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vinayaklatthe/microsoft-security-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/azure-app-service-security .claude/skills/azure-app-service-security && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "azure-app-service-security" agent skill from https://github.com/vinayaklatthe/microsoft-security-skills/tree/main/skills/azure-app-service-security into .claude/skills/azure-app-service-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-app-service-security", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vinayaklatthe/microsoft-security-skills/tree/main/skills/azure-app-service-securityType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vinayaklatthe/microsoft-security-skills azure-app-service-security --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinayaklatthe/microsoft-security-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/azure-app-service-security .agents/skills/azure-app-service-security && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "azure-app-service-security" agent skill from https://github.com/vinayaklatthe/microsoft-security-skills/tree/main/skills/azure-app-service-security into .agents/skills/azure-app-service-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-app-service-security", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vinayaklatthe/microsoft-security-skills azure-app-service-security --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinayaklatthe/microsoft-security-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/azure-app-service-security .cursor/skills/azure-app-service-security && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "azure-app-service-security" agent skill from https://github.com/vinayaklatthe/microsoft-security-skills/tree/main/skills/azure-app-service-security into .cursor/skills/azure-app-service-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-app-service-security", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vinayaklatthe/microsoft-security-skills.git --path skills/azure-app-service-security--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vinayaklatthe/microsoft-security-skills azure-app-service-security --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinayaklatthe/microsoft-security-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/azure-app-service-security .gemini/skills/azure-app-service-security && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "azure-app-service-security" agent skill from https://github.com/vinayaklatthe/microsoft-security-skills/tree/main/skills/azure-app-service-security into .gemini/skills/azure-app-service-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-app-service-security", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vinayaklatthe/microsoft-security-skills azure-app-service-securityInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vinayaklatthe/microsoft-security-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/azure-app-service-security .github/skills/azure-app-service-security && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "azure-app-service-security" agent skill from https://github.com/vinayaklatthe/microsoft-security-skills/tree/main/skills/azure-app-service-security into .github/skills/azure-app-service-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-app-service-security", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vinayaklatthe/microsoft-security-skills azure-app-service-security --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinayaklatthe/microsoft-security-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/azure-app-service-security .opencode/skills/azure-app-service-security && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "azure-app-service-security" agent skill from https://github.com/vinayaklatthe/microsoft-security-skills/tree/main/skills/azure-app-service-security into .opencode/skills/azure-app-service-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "azure-app-service-security", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
azure-app-service-securityGuidance for securing Azure App Service web apps and APIs — managed identity, Easy Auth with Microsoft Entra ID, network isolation via private endpoints + VNet integration, HTTPS / TLS hardening…
Azure App Service Security is an agent skill from vinayaklatthe/microsoft-security-skills. Guidance for securing Azure App Service web apps and APIs — managed identity, Easy Auth with Microsoft Entra ID, network isolation via private endpoints + VNet integration, HTTPS / TLS hardening, Key Vault references for secrets, and front-end WAF (Front Door / App Gateway). WHEN: App Service security, secure web app on Azure, Easy Auth, App Service managed identity, private endpoint web app, VNet integration, App Service TLS, Key Vault references, harden App Service, FTP disable, WAF in front of App Service…
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Secrets management. It works with Microsoft Azure, Azure Functions, Microsoft Entra ID and Azure API Management. The repository describes itself as: Curated Microsoft Security skills for AI agents - Defender, Sentinel, Entra, Purview, Intune, Security Copilot. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 15f16df. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
learn.microsoft.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Azure App Service Security loads about 1.9k tokens when it runs. Until then it costs about 173 tokens; SKILL.md has 910 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from vinayaklatthe/microsoft-security-skills at commit 15f16df, republished under its MIT licence (© vinayaklatthe). 910 words, ~1,940 tokens.
.claude/skills/azure-app-service-security/SKILL.md (or your agent's skills folder).Azure App Service hosts web apps and APIs as a managed PaaS. Securing it means eliminating secrets in config, removing public exposure where possible, enforcing modern transport, and fronting it with a WAF when it has to be public.
Hardening web apps and APIs hosted on Azure App Service. Use this skill to plan identity, network, secrets, and transport posture for a Web App / API App.
Do not use this skill for Azure Functions only (similar but separate platform), AKS workloads, or VM-hosted web apps.
| Exposure | Inbound | Outbound | Front-end |
|---|---|---|---|
| Internal-only app (intranet, API for VNet workloads) | Private endpoint, public access disabled | VNet integration to spoke | Internal Application Gateway |
| Public web app, sensitive data | Public + access restrictions to WAF only | VNet integration | Front Door or App Gateway with WAF, Prevention mode |
| Public web app, basic | Public, default | None / VNet integration | App Gateway with WAF |
| API consumed by partners | Private endpoint + APIM in front | VNet integration | APIM (with WAF on APIM if public) |
| Background worker / no inbound | Public access disabled | VNet integration | None |
Rule of thumb: if it doesn't need to be on the internet, use a private endpoint and disable public network access. If it does need to be on the internet, put Front Door / App Gateway with WAF in Prevention mode in front and restrict the app to accept traffic only from the WAF's IP range or service tag.
Enable managed identity — System-assigned managed identity by default. Grant it
least-privilege roles on Azure SQL (SQL DB Contributor is wrong - use AAD auth +
contained user), Storage (Storage Blob Data Reader), Key Vault (Key Vault Secrets User).
Verify: app has managed identity; no SQL / Storage connection strings with embedded
passwords in config.
Easy Auth for sign-in — Use built-in App Service authentication (Easy Auth) with
Microsoft Entra ID for OIDC sign-in without writing auth code. Configure the redirect
URI, token store, and requireAuthentication = true to gate the whole app.
Verify: anonymous request returns 302 redirect to Entra sign-in; authenticated request
returns 200 with the user's principal claims.
Secrets via Key Vault references — Store secrets in Key Vault; reference them in app
settings as @Microsoft.KeyVault(SecretUri=...). No code change; managed identity reads
the secret at start / refresh.
Verify: app settings show Key Vault Reference as Resolved; no plaintext secrets in
config.
Network isolation — VNet integration for outbound (so the app can reach private endpoints, on-prem via gateway). Private endpoint for inbound on sensitive apps. Disable public access if private endpoint is used. Verify: app outbound IP is in the integrated subnet; inbound test from public internet to private-endpoint-only app = 403 / connection refused.
Transport hardening — Enforce HTTPS-only, minimum TLS 1.2 (TLS 1.3 preferred),
disable FTP (use FTPS or deployment center only), enable HSTS where appropriate.
Verify: HTTP request 301-redirects to HTTPS; httpsOnly = true; minTlsVersion = "1.2"
or higher; ftpsState = "Disabled" if no FTP needed.
WAF in front when public — Front Door (global) or App Gateway with WAF (regional) in
Prevention mode. Restrict App Service inbound to the WAF using Access
Restrictions with the WAF's service tag (AzureFrontDoor.Backend) or IP range and the
X-Azure-FDID header.
Verify: direct request to the App Service URL = 403; request via the WAF FQDN = 200.
Monitor + Defender — Diagnostic logs to Log Analytics, Defender for App Service on the plan, App Insights for app telemetry. Alert on anomalous authentication failures.
Harden an Azure App Service web app with Easy Auth, managed identity, and TLS.How do I lock down App Service with private endpoints and VNet integration?Use Key Vault references for App Service secrets instead of plain app settings.Put Front Door with WAF in front of App Service and lock the back door.Disable FTP, enforce HTTPS-only, and set minimum TLS 1.2.Review my App Service network and authentication configuration for security gaps.© vinayaklatthe, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/azure-app-service-security of vinayaklatthe/microsoft-security-skills.
Open the folder on GitHubat commit 15f16df
Azure App Service Security next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Azure App Service Security this skillvinayaklatthe/microsoft-security-skills | 175 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Azure FunctionsDataDog/dd-trace-dotnet | 572 | — | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| Azure Cloud ServicesMicrosoftDocs/Agent-Skills | 776 | — | ~2.3k | Automated safety check: Pass | CC-BY-4.0 | |
| Apex Entra App Registrationjonathan-vella/apex | 217 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Azure Key VaultKilo-Org/kilo-marketplace | 190 | 1 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Azure Data API BuilderMicrosoftDocs/Agent-Skills | 776 | — | ~4.3k | Automated safety check: Pass | CC-BY-4.0 |
DataDog/dd-trace-dotnet
Dev/test workflow for tracer engineers working on the Datadog .NET tracer — build a local Datadog.AzureFunctions NuGet package, deploy it to a test Azure Function App, trigger it, and analyze…
MicrosoftDocs/Agent-Skills
Expert knowledge for Azure Cloud Services development including troubleshooting, best practices, decision making, limits & quotas, security, configuration, integrations & coding patterns, and…
jonathan-vella/apex
WORKFLOW SKILL — Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration.
Kilo-Org/kilo-marketplace
Guidance for Azure Key Vault — securely storing and managing secrets, keys, and certificates with RBAC, network isolation, managed identity access, soft delete / purge protection, and rotation.
MicrosoftDocs/Agent-Skills
Expert knowledge for Azure Data Api Builder development including troubleshooting, best practices, decision making, limits & quotas, security, configuration, integrations & coding patterns, and…
timothywarner-org/claude-code
A skill your agent uses when authoring, reviewing, or refactoring Azure Bicep code.
vinayaklatthe/microsoft-security-skills
Guidance for designing secure APIs on Azure - authentication, authorization, gateway controls, input validation, rate limiting, secret management, and runtime threat detection - aligned to OWASP API…
vinayaklatthe/microsoft-security-skills
Guidance for Azure Arc — projecting on-premises, multicloud (AWS/GCP), and edge servers, Kubernetes, and data services into Azure Resource Manager for unified governance, security, and management.
vinayaklatthe/microsoft-security-skills
Guidance for secure remote VM management in Azure using Azure Bastion combined with Defender for Cloud just-in-time (JIT) VM access.
vinayaklatthe/microsoft-security-skills
Guidance for Azure Confidential Computing — protecting data in use through hardware-based Trusted Execution Environments (TEEs).
vinayaklatthe/microsoft-security-skills
Guidance for Azure DDoS Protection — Network Protection (per-VNet) and IP Protection (per public IP) tiers built on the same always-on Microsoft platform.
vinayaklatthe/microsoft-security-skills
Guidance for Azure Firewall — managed cloud-native L3-L7 stateful network firewall for centralised egress, east-west, and ingress control.
Categories
Guidance for securing Azure App Service web apps and APIs — managed identity, Easy Auth with Microsoft Entra ID, network isolation via private endpoints + VNet integration, HTTPS / TLS hardening…. Azure App Service Security is an agent skill from vinayaklatthe/microsoft-security-skills. Guidance for securing Azure App Service web apps and APIs — managed identity, Easy Auth with Microsoft Entra ID, network isolation via private endpoints + VNet integration, HTTPS / TLS hardening, Key Vault references for secrets, and front-end WAF (Front Door / App Gateway).
Azure App Service Security fits situations like: azure Functions specifics only (similar but separate); AKS workloads (different platform); VM-hosted web apps.
Run `npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a claude-code`. Or copy the skill folder (skills/azure-app-service-security in vinayaklatthe/microsoft-security-skills) into .claude/skills/azure-app-service-security in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a codex`. Or copy the skill folder (skills/azure-app-service-security in vinayaklatthe/microsoft-security-skills) into .agents/skills/azure-app-service-security in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vinayaklatthe/microsoft-security-skills --skill azure-app-service-security -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/azure-app-service-security, .gemini/skills/azure-app-service-security, .github/skills/azure-app-service-security and .opencode/skills/azure-app-service-security in your project.
SKILL.md names no scripts, command-line tools or credentials: Azure App Service Security is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: learn.microsoft.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Azure App Service Security is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Azure App Service Security: Azure Functions (DataDog/dd-trace-dotnet, 572 stars), Azure Cloud Services (MicrosoftDocs/Agent-Skills, 776 stars), Apex Entra App Registration (jonathan-vella/apex, 217 stars) and Azure Key Vault (Kilo-Org/kilo-marketplace, 190 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vinayaklatthe (a GitHub user) maintains it in vinayaklatthe/microsoft-security-skills, which has 175 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on June 18, 2026.
Source: vinayaklatthe/microsoft-security-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.