parsing-fortinet-configs

Parse FortiGate and FortiOS configurations into a vendor-neutral firewall schema.

9|Updated Mar 7, 2026
One-click install
npx skills add https://github.com/fastrevmd-lab/fwskillsshare --skill parsing-fortinet-configs-fastrevmd-lab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: parsing-fortinet-configs
Source: https://github.com/fastrevmd-lab/fwskillsshare/tree/main/skills/parsing-fortinet-configs
Command: npx skills add https://github.com/fastrevmd-lab/fwskillsshare --skill parsing-fortinet-configs-fastrevmd-lab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? FortiGate configurations use a deeply nested config/edit/set/next/end block format that is difficult to analyze, audit, or migrate by hand. This Skill converts full-configuration exports or backups into a structured, vendor-neutral JSON schema so policies, objects, NAT, VPN, and routing data can be reviewed, compared, or converted reliably. ## Core Features & Use Cases - Full Config Extraction: Parses zones, interfaces, address and service objects, security policies, VIPs, IP pools, central SNAT, schedules, UTM profiles, VPN IPsec, BGP/OSPF, DHCP, HA, and multi-VDOM contexts. - Built-in Audit Checks: Detects unused objects, shadowed policies, overly permissive rules, missing logging, disabled policies, and weak VPN algorithms. - Safe Secret Handling: Masks VPN pre-shared keys and reduces BGP/OSPF authentication keys to presence flags so no raw secrets appear in output. - Use Case: Paste a FortiGate backup export and receive normalized JSON conforming to the shared intermediate schema, plus quality-gate results listing unresolved references, residual blocks, and parser warnings ready for audit or cross-vendor conversion. ## Quick Start Ask the agent to parse the attached FortiGate show full-configuration export into the shared firewall schema and report any audit findings.

Frequently Asked Questions about parsing-fortinet-configs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I parse a FortiGate config file into JSON?

Provide the show full-configuration output or backup export and the parser walks the config/edit/set/next/end blocks into a nested tree, then normalizes zones, objects, policies, NAT, and routes into the shared intermediate JSON schema. Unknown sections are preserved in residual_raw rather than dropped.

What FortiGate config sections can be extracted?

Extraction covers zones, interfaces, address objects and groups, service objects and groups, security policies, VIPs, IP pools, central SNAT, schedules, UTM profiles, IPsec VPN phase1/phase2, static routes, BGP, OSPF/OSPFv3, DHCP, HA, admin users, and multi-VDOM contexts.

Does the parser support multi-VDOM FortiGate configurations?

Yes, it detects config vdom context, assigns interfaces to VDOMs via set vdom, parses policies per VDOM, tags items with the VDOM name, and merges everything into flat output arrays.

Are VPN pre-shared keys exposed in the parsed output?

No, IPsec pre-shared keys are masked as "****" and BGP or OSPF authentication keys are reduced to presence flags. A metadata.warnings entry records each redaction so no raw secrets appear in output.

What security audit checks run on FortiGate configs?

Checks include unused address and service objects, shadowed policies, overly permissive any-any rules, missing logging on permit policies, disabled policies, duplicate objects, empty groups, VIP reference validation, and weak VPN algorithms such as DES, MD5, or DH group 5 and below.

When should I use this instead of parsing Cisco or Palo Alto configs?

Use it only for FortiGate or FortiOS block syntax. ASA/FTD access-list input belongs to the Cisco parser, PAN-OS XML or set deviceconfig to the Palo Alto parser, and Junos hierarchy to the SRX parser.