fix(adapter-wp): srcset 审计精确化(parse-srcset);false 形态防御;复用 launder.naughtyHref;等价测试参数化

审查修复四项:srcset 逐候选审计改用 parse-srcset 同库实现(data: 逗号内嵌
URL 不再误切;全候选被拒/解析异常/零候选→整属性删除记账,含空 srcset);
deriveMirrorView 对 false/缺省形态 fail fast(allowedTags/allowedAttributes
的 false=库全放行语义与镜像空集解释相反,修正原注释);URL 判定复用
launder.naughtyHref(sanitize-html 2.18 同一实现路径,删手写镜像);
仪表化等价测试参数化为 15 个对抗样本(实体/控制字符/NULL/URL 注释走私、
未引号/重复属性、深嵌套、srcset 形态)。测试 204→228。

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-21 11:18:39 +08:00
parent 8dd6eaf1b6
commit 7506fef875
5 changed files with 232 additions and 93 deletions
+3
View File
@@ -18,10 +18,13 @@
},
"dependencies": {
"@sf/contracts": "workspace:*",
"launder": "^1.7.2",
"parse-srcset": "^1.0.2",
"sanitize-html": "^2",
"saxes": "^6.0.0"
},
"devDependencies": {
"@types/parse-srcset": "^1.0.0",
"@types/sanitize-html": "^2.16.2"
}
}