azure-edge-waf

azure-edge-waf is a skill for Claude Code, Codex from AgenticPawan/FullStack-Pilot. It costs 123 tokens per session (1,517 once invoked), scanned A, original, MIT.

A security review for the network layer in front of an Angular single-page app and public API on Azure. It checks Azure Front Door or Application Gateway and their Web Application Firewall, which filters harmful web traffic.

In plain words
What is it for?
Use it to check whether the edge firewall blocks traffic, uses standard rules, limits requests, forces HTTPS, and prevents direct access to the app's origin.
Why use it?
It finds gaps that could leave an internet-facing app exposed, such as an inactive firewall, direct access to the backend, weak encryption, or missing rate limits.

Skill for Claude CodeCodex

Part of the pilot-azure plugin — 15 skills, 3 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/agenticpawan/fullstack-pilot/azure-edge-waf
Any agent
npx skills add AgenticPawan/FullStack-Pilot --skill azure-edge-waf
Clone the repo
git clone --depth 1 https://github.com/AgenticPawan/FullStack-Pilot

Made for: Claude Code, Codex.

Or install pilot-azure, the plugin that ships this one along with the rest of its 15 skills, 3 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for azure-edge-waf

README.md
[![agentmods](https://agentmods.dev/badge/skills/agenticpawan/fullstack-pilot/azure-edge-waf.svg)](https://agentmods.dev/skills/agenticpawan/fullstack-pilot/azure-edge-waf)
Your own site
<a href="https://agentmods.dev/skills/agenticpawan/fullstack-pilot/azure-edge-waf"><img src="https://agentmods.dev/badge/skills/agenticpawan/fullstack-pilot/azure-edge-waf.svg" alt="Measured on agentmods" height="20"></a>
Per session 123 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,517 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00123 $0.01517
Opus 5 $0.00062 $0.00758
Sonnet 5 $0.00025 $0.00303
Haiku 4.5 $0.00012 $0.00152

Measured 5d ago against content hash 844a702b13b2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

azure-edge-waf scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/pilot-azure/skills/azure-edge-waf/SKILL.md · 154 lines

How it starts

The opening of the file, as written. The whole thing — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Standard IDs

ID Severity What it checks
AFW-001 P1 Public API/SPA served with no edge WAF (Front Door or App Gateway WAF policy) in front
AFW-002 P1 WAF policy left in Detection mode — never switched to Prevention, so nothing is blocked
AFW-003 P2 No managed OWASP / Microsoft default rule set attached to the WAF policy
AFW-004 P2 No per-client rate-limit rule at the edge — L7 flooding / scraping exposure
AFW-005 P1 Origin (ACA / App Service) reachable directly, bypassing the edge — the WAF is optional, not enforced
AFW-006 P3 TLS below 1.2 at the edge, or no HTTP→HTTPS redirect

Name collision, read this: azure-waf-review is the Well-Architected Framework (reliability/security/cost/ops/performance) review and emits WAF-* IDs. This skill is the Web Application Firewall at the edge and emits AFW-* IDs. They are unrelated. Origin lockdown (AFW-005) pairs with azure-container-apps ACA-001 ingress restriction; edge rate limiting complements dotnet-rate-limiting at the app tier.


Check A — No edge WAF in front of a public app (AFW-001)

Detection

For a public-facing SPA/API, check that traffic enters through Azure Front Door or an Application Gateway carrying an attached Microsoft.Network/FrontDoorWebApplicationFirewallPolicies (or App Gateway firewallPolicy). A public origin with no WAF has no L7 filtering, rate limiting, or managed rule coverage at all.

BAD — App Service published straight to the internet, no WAF

// The Angular SPA + API are reachable directly on *.azurewebsites.net.
// No Front Door, no Application Gateway, no WAF policy anywhere in the template.

GOOD — Front Door with an attached WAF policy fronting the origin

resource wafPolicy 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2024-02-01' = {
  name: 'afd-waf-prod'
  properties: {
    policySettings: { enabledState: 'Enabled', mode: 'Prevention' }
    managedRules: { managedRuleSets: [ { ruleSetType: 'Microsoft_DefaultRuleSet', ruleSetVersion: '2.1' } ] }
  }
}
// Front Door security policy associates wafPolicy with the endpoint fronting the app.

Read the full file on GitHub · 154 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 154 lines · 123 tokens per session scan A 844a702b13b2

Subscribe to this mod's changes

azure-edge-waf is a skill published in the GitHub repository AgenticPawan/FullStack-Pilot (2 stars, last pushed 1mo ago), licensed MIT. It adds 123 tokens to every session and 1,517 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

azure-mgmt-applicationinsights-dotnet

Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management. Use for creating Application Insights components, web tests, workbooks, analytics items, and API keys. Triggers: "Application Insights", "ApplicationInsights", "App Insights", "APM", "application…

microsoft/skills · 82 tokens

azure-mgmt-fabric-dotnet

Azure Resource Manager SDK for Fabric in .NET. Use for MANAGEMENT PLANE operations: provisioning, scaling, suspending/resuming Microsoft Fabric capacities, checking name availability, and listing SKUs via Azure Resource Manager. Triggers: "Fabric capacity", "create capacity", "suspend capacity", "resume capacity"…

microsoft/skills · 88 tokens

azure-resource-manager-durabletask-dotnet

Azure Resource Manager SDK for Durable Task Scheduler in .NET. Use for MANAGEMENT PLANE operations: creating/managing Durable Task Schedulers, Task Hubs, and retention policies via Azure Resource Manager. Triggers: "Durable Task Scheduler", "create scheduler", "task hub", "DurableTaskSchedulerResource", "provision…

microsoft/skills · 84 tokens

azure-resource-manager-mysql-dotnet

Azure MySQL Flexible Server SDK for .NET. Database management for MySQL Flexible Server deployments. Use for creating servers, databases, firewall rules, configurations, backups, and high availability. Triggers: "MySQL", "MySqlFlexibleServer", "MySQL Flexible Server", "Azure Database for MySQL", "MySQL database…

microsoft/skills · 87 tokens

azure-compute-batch-java

Azure Batch SDK for Java. Run large-scale parallel and HPC batch jobs with pools, jobs, tasks, and compute nodes. Triggers: "BatchClient java", "azure batch java", "batch pool java", "batch job java", "HPC java", "parallel computing java".

microsoft/skills · 64 tokens

azure-eventhub-dotnet

Azure Event Hubs SDK for .NET. Use for high-throughput event streaming: sending events (EventHubProducerClient, EventHubBufferedProducerClient), receiving events (EventProcessorClient with checkpointing), partition management, and real-time data ingestion. Triggers: "Event Hubs", "event streaming"…

microsoft/skills · 94 tokens