发布时间:2026 年 9 月 8 日,上次更新时间:2026 年 11 月 4 日
从 Chrome 155 开始,Chrome 更新了企业政策限制对使用 chrome.debugger API 的扩展程序的应用方式。
此变更仅影响在受管理浏览器上运行的扩展程序,且管理员已明确配置 runtime_blocked_hosts、DisableScreenshots 或数据泄露防护 (DLP) 规则。
如果扩展程序在非受管浏览器中运行,或在没有这些特定政策限制的企业环境中运行,chrome.debugger 将继续正常运行,不会发生任何变化。
时间表和发布
- Chrome 155 Beta 版:2026 年 9 月 16 日
- Chrome 155 稳定版发布时间:2026 年 10 月 6 日
- 回滚:2026 年 11 月 3 日
Chrome 155 中的重要变更
以下变更仅影响企业管理的浏览器:
主机限制:如果企业政策 (
ExtensionSettings) 为某个扩展程序配置了非空屏蔽主机列表 (runtime_blocked_hosts),则chrome.debugger.attach()会在所有目标上被拒绝,并显示以下错误:"Host access is restricted by policy."即使
runtime_allowed_hosts中包含特定来源,也是如此。屏幕截图和 DLP 限制:如果企业政策(
DisableScreenshots或数据泄露防护 [DLP] 规则)停用了屏幕截图功能,chrome.debugger.attach()会失败并显示以下错误:"Screenshot capture is restricted by policy."
个人资料和非受管环境仍可像以前一样不受限制地访问 chrome.debugger。
chrome.debugger API 可授予直接 Chrome DevTools Protocol (CDP) 访问权限,以实现强大的功能,包括任意脚本评估和网络拦截。由于 CDP 在 Web 平台的源模型下运行,因此基于源的过滤无法安全地限制它,所以 Chrome 155 通过全有或全无模型解决了这个问题,即在每次 chrome.debugger.attach() 调用时预先验证企业政策。
建议开发者采取的措施
妥善处理连接拒绝
始终在扩展程序代码中处理附加拒绝,以便向企业用户提供清晰的反馈:
// Promise-based (Manifest V3)
try {
await chrome.debugger.attach({ tabId }, "1.3");
} catch (error) {
if (error.message.includes("Host access is restricted by policy")) {
console.warn("Debugger attach blocked: Extension has host restrictions configured by enterprise policy.");
} else if (error.message.includes("Screenshot capture is restricted by policy")) {
console.warn("Debugger attach blocked: Screenshots or DLP restrictions are enforced by enterprise policy.");
} else {
console.warn("Debugger attach failed:", error.message);
}
}
// Callback-based
chrome.debugger.attach({ tabId }, "1.3", () => {
if (chrome.runtime.lastError) {
console.warn("Debugger attach failed:", chrome.runtime.lastError.message);
}
});
考虑使用替代的高级 API
如果您的扩展程序并非必须直接访问 CDP,请考虑迁移到支持精细主机权限且可与企业主机许可清单和屏蔽清单搭配使用的高级扩展程序 API:
- 使用
chrome.scriptingAPI 执行脚本并将样式插入到允许的网页中。 - 使用
chrome.declarativeNetRequestAPI 以声明方式检查、修改或屏蔽网络请求。 - 将
chrome.cookiesAPI 与标准主机权限搭配使用。
面向企业管理员的指南
更新(2026 年 11 月 4 日):我们已通过服务器端配置更新回滚了 Chrome 155 政策强制执行。Chrome 会自动下载该更新,并在重启后应用。如需在不等待此更新的情况下停用强制执行,请使用 --disable-features=ExtensionDebuggerStrictPolicyRestrictions 命令行标志启动 Chrome。
在回滚生效之前,以下指南仍然适用。
管理扩展程序政策的企业管理员应注意,需要调试程序权限的扩展程序无法在部分主机限制 (runtime_blocked_hosts) 下运行。如果扩展程序需要 chrome.debugger,则不得在 ExtensionSettings 中配置被屏蔽的主机。
如果使用 DisableScreenshots 或数据泄露防护 (DLP) 规则停用了屏幕截图功能,chrome.debugger.attach() 将失败。
如果组织需要主机屏蔽名单或屏幕截图限制,应验证其内部或已获批准的扩展程序是否可以迁移到更高级别的 API,例如 chrome.scripting 或 chrome.declarativeNetRequest。
分享反馈
如需了解详情,请参阅 chrome.debugger API 文档。如果您有任何疑问或反馈,请通过 Chromium 扩展程序 Google 群组与我们联系。