一、引言:为什么 Chrome 扩展值得单独研究
简述扩展生态规模、权限模型带来的风险,以及本文的写作目标与读者对象。
二、Chrome 扩展基础与运行机制
2.1 扩展的组成结构
manifest、background service worker、content script、popup、options 页面等核心组件。
2.2 权限与隔离模型
host_permissions、permissions、content script 隔离世界、扩展页面特权上下文。
2.3 消息通信机制
runtime.sendMessage、tabs.sendMessage、externally_connectable、native messaging。
三、攻击面全景梳理
3.1 权限过度申请与最小权限缺失
3.2 Content Script 注入与 DOM 污染
3.3 消息通道信任边界模糊
3.4 外部资源加载与供应链风险
3.5 存储数据与敏感信息泄露
3.6 更新机制与分发渠道风险
四、典型攻击手法实录
4.1 案例一:恶意 content script 窃取表单数据
攻击链路复现、关键代码片段、影响范围分析。
4.2 案例二:消息监听器未校验来源导致越权调用
伪造 sender 校验缺失的利用过程与验证方式。
4.3 案例三:通过 innerHTML 注入实现脚本执行
DOM 型注入的触发条件与绕过思路。
4.4 案例四:第三方 CDN 脚本被篡改的供应链攻击
4.5 案例五:扩展权限滥用导致的跨站数据读取
五、防御体系构建
5.1 权限最小化与按需申请
5.2 消息通信的安全校验规范
sender 校验、origin 白名单、消息结构校验。
5.3 安全的 DOM 操作与内容渲染
避免 innerHTML,使用 textContent 与可信模板。
5.4 CSP 与外部资源管控
5.5 敏感数据存储与加密策略
5.6 依赖管理与构建产物审计
六、安全测试与审计方法
6.1 静态审计:manifest 与源码检查清单
6.2 动态调试:DevTools 与扩展调试技巧
6.3 自动化检测思路与工具链
七、上线与运营阶段的安全实践
商店审核要点、版本更新策略、漏洞响应流程、用户侧风险提示。
八、总结与展望
回顾核心攻防要点,展望 Manifest V3 演进下的新风险与新机会。