用途:审计 Java Web 项目源码,识别 XML 解析实现并检测 XXE(XML 外部实体)注入漏洞。核心要求为完整检查所有 XML 解析相关代码,不省略解析操作与反编译步骤。
主要能力:识别 XMLReader、SAXBuilder、SAXReader、SAXParserFactory、DocumentBuilderFactory 五类解析器,并覆盖 TransformerFactory、SchemaFactory、XMLInputFactory、JAXB Unmarshaller 等可能受影响的组件;检查 disallow-doctype-decl、external-general-entities、external-parameter-entities、load-external-dtd 等防护特性;追踪 XML 输入来源(getInputStream、getParameter、@RequestBody、MultipartFile 等)与回显路径,区分有回显 XXE 与 Blind XXE。漏洞编号格式为 {C/H/M/L}-XXE-{序号},按可达性、影响范围、利用复杂度加权映射 CVSS 3.1。
使用方式:须在 java-route-mapper 之后执行,先读取其输出定位路由与 Content-Type;若不存在则先运行 Skill(skill="java-route-mapper", args="--project {project_path}")。流程分三阶段:grep 快速扫描解析点与输入来源、逐解析器检查安全配置、详细检测并生成报告;需要调用链时触发 Skill(skill="java-route-tracer", args="--route {route}")。源码不可用时用 CFR 反编译,如 java -jar {CFR_JAR} /path/to/XmlParser.class --outputdir {output_path}/decompiled。报告输出至 {project_name}_audit/xxe_audit/ 下,须遵循 OUTPUT_TEMPLATE.md 模板。
适用场景:Java Web 源码安全审计、XML 解析入口排查、XXE 防护配置核查。
限制:依赖 java-route-mapper 输出;报告结构不得增删章节;具体收费、平台与效果资料暂未提供。