跳转至

ISSUE-0090:manifest host_permissions 域名拼写错误

症状

当前无可见症状 — 这是一个被兜底权限掩盖的潜伏缺陷

根因

wxt.config.ts:28

host_permissions: ['*://*.google.com/*', '*://*.lafaxin.com/*', '<all_urls>'],

lafaxin.com 少一个 i,正确域名是 laifaxin.com(见 src/api/request.tsx:24-26https://ggdt.laifaxin.comhttps://m.laifaxin.com)。

已进入正式构建产物:dist-v2/chrome-mv3/manifest.json 中同样是 lafaxin.com

为什么一直没被发现

同一数组里有 <all_urls> 兜底 ⇒ 所有请求都被授权 ⇒ 拼错的那条形同虚设, 功能上不报任何错。这正是它能长期存活的原因。

风险

Chrome 商店审核对 <all_urls> 的要求正在收紧。一旦按要求去掉 <all_urls> 改用精确域名列表:

  • laifaxin.com 未被授权 ⇒ 登录、配额、云同步(ggdt.laifaxin.com全部请求失败
  • lafaxin.com 是个不存在的域名,授权它没有任何作用

⇒ 当前 severity=medium;一旦收紧权限即升为 critical

修复

wxt.config.ts:28 改为 '*://*.laifaxin.com/*',重新构建后核对 dist-v2/chrome-mv3/manifest.json

回归判据

grep -c 'lafaxin\.com' wxt.config.ts dist-v2/chrome-mv3/manifest.json   # 期望 0(注意不是 laifaxin)
grep -c 'laifaxin\.com' wxt.config.ts                                    # 期望 ≥1

建议同时加一条静态扫描:manifest 里出现的域名必须在 src/api/ 中有对应使用。

发现过程

2026-08-30 第四轮 sonnet5 对抗审查发现。 前三轮(16 个 Claude subagent + terra + dshf 跨厂商双路)全部漏掉 —— 因为它们都在审 「联系方式数据质量」这个被框定的范围内,没人去读 wxt.config.ts。 教训见 capability-existence-proof 与 SPEC-009 §2。