security-review-owasp-xml-external-entity-prevention

Review XML parsing paths for XXE exposure and unsafe external fetches.

Updated Mar 26, 2026
One-click install
npx skills add https://github.com/sjinks/ai-owasp-skillset --skill security-review-owasp-xml-external-entity-prevention
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security-review-owasp-xml-external-entity-prevention
Source: https://github.com/sjinks/ai-owasp-skillset/tree/main/.github/skills/security-review-owasp-xml-external-entity-prevention
Command: npx skills add https://github.com/sjinks/ai-owasp-skillset --skill security-review-owasp-xml-external-entity-prevention

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps reviewers find XML External Entity weaknesses that can expose files, trigger SSRF, or cause parser-driven denial of service.

Core Features & Use Cases

  • Parser Hardening Review: Checks DTD handling, entity resolution, XInclude, and secure-processing settings across XML parsers and frameworks.
  • Downstream Pipeline Analysis: Evaluates validators, transformers, schema loaders, unmarshallers, and XPath consumers for unsafe external fetch behavior.
  • Security Review Workflow: Separates confirmed vulnerabilities from review gaps and produces evidence-based findings with remediation guidance.
  • Use Case: Review an authentication or webhook XML flow to confirm whether untrusted input can reach an unsafe parser or downstream consumer.

Quick Start

Ask the skill to review the XML parsing flow, related configuration, and any downstream consumers for XXE exposure and unsafe external fetches.

Frequently Asked Questions about security-review-owasp-xml-external-entity-prevention

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

FAQPage Schema
How do I review my XML parsing flow for XXE vulnerabilities?

To review XML parsing flows for XXE vulnerabilities, analyze parser configurations and downstream consumers for unsafe external fetches. This process requires checking DTD handling, entity resolution, XInclude settings, and schema loaders to confirm whether untrusted input can reach an unsafe parser.

What downstream XML components are vulnerable to XXE and SSRF attacks?

Downstream XML components vulnerable to XXE and SSRF attacks include validators, transformers, schema loaders, unmarshallers, and XPath consumers. These components can execute unsafe external fetches if they process untrusted input without secure-processing settings and explicit external-entity blocking.

How does disabling XInclude and DTD handling prevent XML External Entity attacks?

Disabling XInclude and DTD handling prevents XML External Entity attacks by stopping the parser from resolving external references and expanding entities. This parser hardening blocks file disclosure, SSRF, and parser-driven denial of service risks from malicious XML input.

Can I use an automated security review to find unsafe XML unmarshalling behavior?

You can use an automated security review to find unsafe XML unmarshalling behavior by evaluating the entire pipeline against strict parser hardening requirements. The review separates confirmed vulnerabilities from gaps and produces evidence-based findings with remediation guidance.

What is the best way to secure XML parsers against file disclosure and denial of service?

The best way to secure XML parsers against file disclosure and denial of service is applying explicit parser hardening and external-entity blocking. Reviewing operational controls and schema transformations ensures untrusted inputs cannot trigger unsafe external fetches.

Why does my XML parser still process external entities after adding secure-processing settings?

An XML parser may still process external entities if downstream consumers like XPath processors or unmarshallers bypass secure-processing settings. A thorough review of the entire XML pipeline is required to identify unsafe external fetch behavior outside the main parser.