workspace/skills/fwrule-analyzer/SKILL.md
Multi-vendor firewall rule analysis — overlap detection, shadowing, conflict identification, duplication checking across PAN-OS, ASA, FTD, IOS/IOS-XE, IOS-XR, Check Point, SRX, Junos, Nokia SR OS, and Fortinet FortiOS/FortiGate. Use when validating firewall rule changes, auditing rulesets for conflicts, or normalizing vendor configs to a common schema.
npx skillsauth add automateyournetwork/netclaw fwrule-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
uv run fwrule-mcp)git clone + uv sync (or pip install -e .)fastmcp>=2.0, pydantic>=2.0, Python 3.11+| Tool | What It Does |
|------|-------------|
| analyze_firewall_rule_overlap | Compare a candidate rule against an existing ruleset using 6-dimensional set intersection (zones, addresses, ports, protocols, actions, applications). Detects overlaps, shadowing, conflicts, and duplicates. Supports two input modes: vendor-native config via built-in parsers, or pre-normalized JSON. |
| parse_policy | Convert vendor-native firewall configurations into a standardized JSON schema. Enables inspection of parser output — rule counts, object resolution, address expansion — before running overlap analysis. |
| list_supported_vendors | Enumerate all supported firewall vendors, their aliases, configuration formats, and explain how to use normalized JSON input to bypass vendor-specific parsers. |
| Vendor | Config Format | Versions | Identifiers |
|--------|---------------|----------|-------------|
| Palo Alto PAN-OS | XML export | 9.x–11.x | panos, paloalto, panorama |
| Cisco ASA | show running-config | 9.x+ | asa, cisco-asa |
| Cisco FTD | FMC JSON | 6.x–7.x | ftd, firepower, fmc |
| Cisco IOS/IOS-XE | show running-config | 12.x–17.x | ios, iosxe, cisco-ios |
| Cisco IOS-XR | show running-config | 6.x+ | iosxr, ios-xr, xr |
| Check Point | JSON rulebase | R80.x–R82.x | checkpoint, cp, check-point |
| Juniper SRX | display set | 19.x+ | juniper, srx |
| Juniper Junos | display set | 18.x+ | junos, mx, ptx, qfx |
| Nokia SR OS | MD-CLI format | 20.x+ | sros, nokia, sr-os |
| Fortinet FortiOS | Full backup config | 5.x–7.x | fortios, fortigate, fortinet, forti, fgt, fmg |
⚠️ FortiOS parser contributed by SIA/NetClaw (Airowire Networks). PR open at AutomateIP/fwrule-mcp#1. Install from the fork until merged upstream:
pip install git+https://github.com/akshaysiddaram/fwrule-mcp.git
| Concept | What It Means | |---------|---------------| | Overlap | Candidate rule matches traffic already handled by existing rules | | Shadowing | Candidate rule is fully covered by a higher-priority existing rule — it will never match | | Conflict | Rules match the same traffic but have different actions (allow vs deny) | | Duplication | Candidate rule is functionally identical to an existing rule | | 6-Dimensional Analysis | Comparison across source/dest zones, source/dest addresses, services/ports, protocols, actions, and applications | | Normalized JSON | Vendor-agnostic rule schema with standardized fields (id, position, enabled, action, zones, addresses, services, applications) |
Pass raw vendor configuration text and let the built-in parsers normalize it:
vendor: Vendor identifier (e.g., panos, asa, ftd, ios, checkpoint, srx, junos, nokia, fortios)ruleset_payload: Complete firewall config in vendor formatcandidate_rule_payload: Single rule in vendor formatos_version: Optional version hint for parser selectioncontext_objects: Supplemental object definitions as JSONBypass parsers when structured data is already available:
existing_rules: JSON array of normalized rule objectscandidate_rule: Single normalized JSON rule objectWhen adding a new firewall rule to a policy:
parse_policy with vendor config — normalize to JSON, verify rule count and object resolutionanalyze_firewall_rule_overlap — check the proposed rule against the existing rulesetWhen auditing firewall rules across multiple platforms:
list_supported_vendors — confirm supported platformsparse_policy for each vendor config — normalize all rulesanalyze_firewall_rule_overlap against vendor B's normalized rulesWhen cleaning up an existing firewall policy:
parse_policy — normalize the full rulesetanalyze_firewall_rule_overlap — check the rule against all others in the same policy| Skill | How They Work Together |
|-------|----------------------|
| fmc-firewall-ops | FMC policy search + fwrule overlap analysis on retrieved rules |
| paloalto-panorama | Panorama policy export + fwrule cross-policy analysis |
| pyats-security | Device ACL retrieval via pyATS + fwrule overlap detection |
| pyats-asa-firewall | ASA config retrieval + fwrule ASA parser for rule normalization |
| fortimanager-ops | FortiManager policy export + fwrule FortiOS parser for cross-VDOM analysis |
| servicenow-change-workflow | ServiceNow CR gating + fwrule validation before rule deployment |
| github-ops | Commit firewall rule change analysis results to Git |
| gait-session-tracking | Audit trail for all firewall rule analysis operations |
tools
Zoom meeting intelligence — correlates a live or referenced Zoom meeting discussion against NetClaw's historical meeting record (via the official Zoom Meetings MCP) and today's actual network state. Use when someone in a Zoom meeting references a past discussion or incident ('didn't we have this issue before?'), or asks to search prior meetings for a topic. Does not itself recognize live in-meeting questions — that happens automatically inside zoom-rtms-mcp's own extractor (spec 118) before this skill is ever invoked.
tools
Manage Lantronix out-of-band (OOB) infrastructure via Percepxion central management platform: device inventory, serial port inspection via SLC CLI, firmware compliance, config management, security auditing, and closed-loop incident remediation. Use during outages, maintenance windows, compliance cycles, and AI-assisted automation workflows.
tools
Federate your NetClaw with other NetClaw operators over the BGP mesh — exchange capability inventories and ask your claw what a peer can do. (US1; remote invocation and chat land in later phases.)
tools
Track token consumption, enforce session budgets, and display cost for every NetClaw interaction.