Dipublikasikan: 8 September 2026
Mulai Chrome 155, Chrome memperbarui cara penerapan batasan kebijakan Enterprise pada ekstensi menggunakan API chrome.debugger.
Perubahan ini hanya memengaruhi ekstensi yang berjalan di browser terkelola tempat administrator telah mengonfigurasi aturan runtime_blocked_hosts, DisableScreenshots, atau Pencegahan Kebocoran Data (DLP) secara eksplisit.
Jika ekstensi berjalan di browser yang tidak dikelola, atau di lingkungan perusahaan tanpa batasan kebijakan khusus ini, chrome.debugger akan terus beroperasi secara normal tanpa perubahan.
Jadwal dan peluncuran
- Chrome 155 Beta: 16 September 2026
- Peluncuran Stabil Chrome 155: 6 Oktober 2026
Perubahan penting di Chrome 155
Perubahan berikut hanya memengaruhi browser terkelola perusahaan:
Batasan host: Jika kebijakan perusahaan (
ExtensionSettings) mengonfigurasi daftar host yang diblokir yang tidak kosong (runtime_blocked_hosts) untuk ekstensi,chrome.debugger.attach()ditolak di semua target dengan:"Host access is restricted by policy."Hal ini terjadi meskipun asal tertentu disertakan dalam
runtime_allowed_hosts.Pembatasan screenshot dan DLP: Jika pengambilan screenshot dinonaktifkan oleh kebijakan perusahaan (
DisableScreenshotsatau aturan Pencegahan Kebocoran Data (DLP)),chrome.debugger.attach()akan gagal dengan:"Screenshot capture is restricted by policy."
Profil pribadi dan lingkungan yang tidak dikelola akan terus memiliki akses chrome.debugger tanpa batasan seperti sebelumnya.
API chrome.debugger memberikan akses langsung ke Chrome DevTools Protocol (CDP) untuk kemampuan yang canggih, termasuk evaluasi skrip arbitrer dan pencegatan jaringan. Karena CDP beroperasi di bawah model origin platform web, pemfilteran berbasis origin tidak dapat membatasinya secara aman sehingga Chrome 155 menyelesaikannya dengan model semua atau tidak sama sekali, yang memvalidasi kebijakan perusahaan di awal panggilan chrome.debugger.attach().
Tindakan developer yang direkomendasikan
Menangani penolakan lampiran dengan baik
Selalu tangani penolakan lampiran dalam kode ekstensi Anda untuk memberikan masukan yang jelas kepada pengguna perusahaan:
// 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);
}
});
Mempertimbangkan API tingkat tinggi alternatif
Jika ekstensi Anda tidak benar-benar memerlukan akses CDP langsung, evaluasi migrasi ke API ekstensi tingkat yang lebih tinggi yang mendukung izin host terperinci dan berfungsi bersama daftar yang diizinkan dan daftar yang diblokir host perusahaan:
- Gunakan API
chrome.scriptinguntuk menjalankan skrip dan menyisipkan gaya ke halaman yang diizinkan. - Gunakan API
chrome.declarativeNetRequestuntuk memeriksa, mengubah, atau memblokir permintaan jaringan secara deklaratif. - Gunakan API
chrome.cookiesdengan izin host standar.
Panduan untuk administrator perusahaan
Administrator perusahaan yang mengelola kebijakan ekstensi harus memperhatikan bahwa ekstensi yang memerlukan izin debugger tidak dapat beroperasi dengan pembatasan host parsial (runtime_blocked_hosts). Jika ekstensi memerlukan chrome.debugger, ekstensi tersebut tidak boleh memiliki host yang diblokir yang dikonfigurasi di ExtensionSettings.
Jika pengambilan screenshot dinonaktifkan menggunakan DisableScreenshots atau aturan Pencegahan Kebocoran Data (DLP), chrome.debugger.attach() akan gagal.
Organisasi yang memerlukan daftar yang tidak diizinkan host atau batasan screenshot harus memverifikasi apakah ekstensi internal atau yang disetujui dapat bermigrasi ke API tingkat yang lebih tinggi seperti chrome.scripting atau chrome.declarativeNetRequest.
Berikan masukan
Untuk mengetahui detail selengkapnya, lihat dokumentasi API chrome.debugger. Jika ada pertanyaan atau masukan, hubungi kami di Grup Google Ekstensi Chromium.