Show HN: Little Rat - Ekstensi Chrome untuk memantau panggilan jaringan dari ekstensi lain
(github.com/dnakov)- Little Rat adalah ekstensi Chrome kecil yang memantau dan secara opsional memblokir panggilan jaringan dari ekstensi Chrome lain
- Deteksi dan pemblokiran trafik dari ekstensi lain hanya dimungkinkan jika flag extensions-on-chrome-urls di
chrome://flags/#extensions-on-chrome-urlsdiaktifkan atau Chrome dijalankan dengan--extensions-on-chrome-urls - Instalasi manual menggunakan prosedur mengunduh ZIP GitHub, mengekstraknya, mengaktifkan Developer mode di Chromium/Chrome Extensions, lalu memilih Load unpacked extension pada direktori
little-rat-main
1 komentar
Komentar Hacker News
Saya berharap ini menjadi fitur bawaan Firefox atau Chrome, bukan ekstensi pihak ketiga. Dengan begitu tingkat adopsinya cukup tinggi sehingga browser lain juga akan memperhatikannya; saya ingin bisa mengizinkan ekstensi tertentu hanya melakukan request GET ke URL statis yang sudah ditentukan, tanpa bisa mengubah header
Dengan cara ini pembaruan data tetap memungkinkan, sementara risiko kebocoran berkurang. Ada juga ekstensi yang hanya bekerja di dalam browser lokal, jadi sama sekali tidak memerlukan akses jaringan. Namun kalau ekstensi bisa memodifikasi source halaman, ia bisa melewati batasan pengiriman data, jadi sepertinya itu alasan browser tidak melakukannya. Meski begitu, menurut saya lebih baik dicoba daripada menyerah dan menyerahkannya ke ekstensi Chrome
Prosedurnya hampir sama seperti inspeksi UI: aktifkan remote debugging lalu jalankan Browser Toolbox: https://superuser.com/questions/1608096/how-to-inspect-firef...
Ini juga berguna untuk mencari tahu apa yang dibutuhkan di file CSS user-chrome ketika ingin mengubah tampilan tab lebih dari sekadar tema. Hanya saja penggunaan CSS user-chrome sendiri agak merepotkan
Agar request jaringan ekstensi terlihat, saya harus mengubahnya ke multi-process mode, dan secara umum perilakunya masuk akal
Misalnya, uBlock mengambil daftar blokir acak yang saya klik untuk pengujian: https://i.imgur.com/wBYbBM2.png
Firefox sendiri memperbarui daftar safe-browsing di background: https://i.imgur.com/JYxWwjW.png
Ekstensi yang dibuat dengan baik hanya akan memunculkan notifikasi sesekali, dan ekstensi yang membutuhkan server akan memunculkannya pada saat pengguna memang memperkirakan ada komunikasi dengan server. Ekstensi yang mengirim penekanan tombol atau data mencurigakan akan sangat mudah terlihat
Namun URL bisa memakai wildcard, dan sepertinya ada juga nilai khusus yang berarti semua URL. Meski begitu, seharusnya tidak banyak ekstensi yang membutuhkan permission seperti itu
Misalnya, meskipun ekstensi itu sendiri tidak bisa membuat request, jika ia punya izin untuk memodifikasi DOM halaman web, ada banyak cara untuk menipu halaman web agar mengirim request sebagai gantinya
Ekstensi ini tidak terlalu mudah dipasang, jadi akan bagus jika ditambahkan screenshot yang menampilkan event jaringan yang benar-benar tertangkap. Screenshot saat ini justru menutupi fitur yang paling menarik
Setelah itu kembali ke tampilan browser biasa, klik ikon ekstensi berbentuk kepingan puzzle di kanan address bar, lalu klik ikon pin kecil di samping Little Rat; ekstensi akan terpasang dan muncul di daftar ikon ekstensi
Keren. Jujur, saya terkejut ini bisa dilakukan
Saya tidak tahu persis data apa yang disediakan API ini, tetapi jika sebuah ekstensi bisa mengakses request ekstensi lain, bukankah itu bisa menimbulkan kekhawatiran keamanan untuk ekstensi password manager atau ekstensi yang memakai token autentikasi?
Bagus. Rasanya hal seperti ini semestinya tersedia sebagai URL chrome://
Kelihatannya bagus, saya penasaran apakah ada rencana porting ke Firefox
Ada yang tahu alternatif yang melakukan hal serupa di Firefox?
Anda mungkin akan terkejut melihat Mozilla membiarkan cukup banyak pelanggaran kebijakan ekstensi yang jelas pada ekstensi “recommended” mereka
[1]: https://firefox-source-docs.mozilla.org/devtools-user/browse...
[2]: https://firefox-source-docs.mozilla.org/networking/http/logg...
[3]: https://firefox-source-docs.mozilla.org/devtools-user/about_...
var chrome = browser;di bagian paling atas tiap file JS agar bisa berjalan di Firefox. API ekstensi Firefox hampir seperti salinan Chrome Extension APIs dengan sedikit perbedaanKalau sudah masuk Chrome Store, saya akan mencobanya
declarativeNetRequest.onRuleMatchedDebug[0], dan ini terlihat khusus untuk debug, jadi saya ragu apakah akan diizinkan di Chrome Web Store0: https://github.com/dnakov/little-rat/blob/f0b9b6be39af9fe7f4...
Kenapa tidak ada di Chrome Store?
chrome.declarativeNetRequest, yaitu API yang juga digunakan uBlockRapi, tetapi bagian ini perlu ditangani dengan lebih hati-hati: https://github.com/dnakov/little-rat/blob/main/popup.js#L36
Saya tidak ingin perlu khawatir apakah ekstensi lain bisa menyuntikkan XSS di sini lewat request, ID, atau nama yang dimanipulasi
unsafe-inline, dan ID ekstensi dibuat otomatis oleh ChromeFakta bahwa tidak ada panggilan jaringan tidak membuktikan bahwa sebuah ekstensi aman. Ekstensi bisa saja menyimpan data yang ingin Anda rahasiakan di cache, lalu mengirimkannya secara berkala