LinkedIn sedang memindai ekstensi browser
(404privacy.com)- LinkedIn mengirim permintaan URL
chrome-extension://di Chrome untuk memeriksa apakah ekstensi tertentu terpasang, dan item yang tidak terpasang akan tercatat sebagai error kegagalan permintaan di konsol developer tools - Karena LinkedIn sudah memiliki nama, perusahaan tempat bekerja, jabatan, riwayat karier, dan lokasi pengguna, pemindaian ekstensi ini bukan lagi sidik jari perangkat anonim, melainkan cara menambahkan daftar perangkat lunak ke identitas profesional yang sudah terverifikasi
- Menurut catatan browsergate.eu dan repositori pelacakan di GitHub, pemindaian ini sudah berlangsung setidaknya sejak 2017, dan daftar targetnya bertambah dari 38 menjadi 6.278 per April 2026
- Pemindaian ini merupakan bagian dari sistem pengambilan sidik jari perangkat APFC milik LinkedIn, yang membangun profil bersama 48 karakteristik browser dan perangkat seperti canvas fingerprint, WebGL, perilaku audio, font, informasi layar, memori perangkat, hingga IP lokal WebRTC
- Hasil deteksi dikemas sebagai
AedEventdanSpectroscopyEvent, lalu dienkripsi dengan kunci publik RSA sebelum dikirim ke endpointli/trackmilik LinkedIn; browsergate.eu menyatakan metode ini merupakan pelanggaran EU Digital Markets Act dan penyelidikan pidana telah dibuka
Daftar perangkat lunak yang ditempelkan ke profil identitas pribadi
- Pengambilan sidik jari pada umumnya diperlakukan sebagai cara untuk mengenali kembali browser pengunjung anonim tanpa cookie
- Dalam kasus itu, profil dapat diidentifikasi pada tingkat perangkat, tetapi tidak selalu terhubung ke identitas pribadi
- LinkedIn bukan hanya memiliki pengunjung anonim, tetapi sudah menyimpan nama, perusahaan tempat bekerja, jabatan, riwayat karier, kisaran gaji, jaringan profesional, dan lokasi pengguna
- Pemindaian ekstensi oleh LinkedIn bukan membangun profil perangkat untuk pengunjung tak dikenal, tetapi menambahkan daftar perangkat lunak yang rinci ke identitas profesional yang sudah terverifikasi
- Daftar pemindaian LinkedIn mencakup ratusan ekstensi terkait pencarian kerja, sehingga dapat mengetahui apakah pengguna diam-diam sedang mencari pekerjaan sebelum memberi tahu pemberi kerja mereka
- Ekstensi yang terkait dengan konten politik, praktik keagamaan, bantuan disabilitas, dan neurodiversitas juga masuk dalam daftar, sehingga perangkat lunak browser dapat menjadi dasar untuk menyimpulkan kehidupan pribadi seseorang
- Karena LinkedIn mengetahui tempat kerja pengguna, hasil pemindaian seorang karyawan dapat membantu mengungkap alat internal, produk keamanan, langganan pesaing, dan alur kerja sebuah organisasi, bukan hanya individu tersebut
- Dalam privacy policy LinkedIn, pemindaian ekstensi tidak diungkapkan, dan pengguna tidak dimintai persetujuan maupun diberi pemberitahuan
Masalah yang melampaui LinkedIn
-
Penindakan dan preseden
- LinkedIn menggunakan daftar ekstensi untuk membuat inferensi dan mengambil tindakan penindakan terhadap pengguna yang memasang ekstensi tertentu
- Menurut browsergate, Milinda Lakkam mengonfirmasi di bawah sumpah bahwa “LinkedIn took action against users who had specific extensions installed.”
- Pengguna tidak punya cara untuk mengetahui bahwa perangkat lunak mereka sedang didaftarkan, bahwa daftar itu digunakan untuk merugikan mereka, dan bahwa hal itu tidak tercantum dalam kebijakan privasi LinkedIn
-
Ekosistem fingerprinting
- Browser fingerprinting biasanya dipahami sebagai masalah ketika sebuah situs mengumpulkan sinyal, membuat profil, lalu mengenali pengguna lintas sesi
- Pemindaian ekstensi LinkedIn menghasilkan daftar perangkat lunak rinci yang terhubung ke identitas terverifikasi, dan profil itu tidak harus tetap berada di dalam LinkedIn
- Jika LinkedIn membeli dataset perilaku pihak ketiga dan sidik jari pengguna ada di dalamnya, LinkedIn dapat menempelkannya ke informasi pengguna yang sudah dimilikinya
- Perilaku penelusuran di luar LinkedIn, riwayat pembelian, pola lokasi, dan minat dapat menjadi bagian dari profil yang terhubung ke akun LinkedIn
- Sebaliknya, LinkedIn juga mengintegrasikan skrip pihak ketiga, termasuk Google reCAPTCHA enterprise yang dimuat pada setiap kunjungan halaman, sehingga data mengalir antarplatform
- Sidik jari yang dikaitkan LinkedIn dengan identitas terverifikasi dapat berdampak pada sistem iklan dan pelacakan di luar linkedin.com
- Setelah sekali masuk ke LinkedIn, sidik jari yang dibuat pada kunjungan itu dapat mengikuti pengguna di seluruh web
-
Kelompok pengguna yang benar-benar terancam
- Bagi jurnalis, pengacara, peneliti, dan penyelidik hak asasi manusia, profil LinkedIn bisa menjadi salah satu dokumen identitas terverifikasi paling rinci di internet
- Profil LinkedIn adalah informasi yang sengaja dibangun dengan nama asli untuk tujuan profesional
- Pemindaian ekstensi menghubungkan riwayat pemasangan alat privasi, ekstensi keamanan, alat investigasi, dan aplikasi produktivitas ke profil tersebut tanpa sepengetahuan pengguna
- Jika Anda menggunakan LinkedIn dan Chrome, pengumpulan ini sedang terjadi sekarang
APFC dan fingerprinting JavaScript tingkat lanjut
- Pemindaian ekstensi bukan fitur yang berdiri sendiri, melainkan bagian dari sistem fingerprinting perangkat yang lebih luas yang secara internal disebut LinkedIn sebagai APFC
- APFC adalah singkatan dari Anti-fraud Platform Features Collection, dan secara internal juga disebut DNA, Device Network Analysis
- LinkedIn lebih terbuka tentang metode pelacakan ini dibandingkan pemindaian ekstensi, tetapi metode seperti ini umum ditemukan di situs web komersial
- Sistem ini mengumpulkan 48 karakteristik browser dan perangkat pada setiap kunjungan
- Data yang dikumpulkan mencakup canvas fingerprint, renderer dan parameter WebGL, perilaku pemrosesan audio, font yang terpasang, resolusi layar, rasio piksel, hardware concurrency, memori perangkat, level baterai, alamat IP lokal melalui WebRTC, zona waktu, dan bahasa
- Pemindaian ekstensi adalah salah satu input yang membentuk profil yang lebih besar
Apa yang terjadi secara teknis
- Kode LinkedIn mengirim permintaan
fetch()ke URLchrome-extension://untuk mencari file tertentu yang dipasang di Chrome - Jika ekstensi tidak terpasang, Chrome memblokir permintaan dan mencatat kegagalan
- Jika ekstensi terpasang, permintaan berhasil secara diam-diam dan LinkedIn mencatatnya
- Di lingkungan yang telah diverifikasi, pemindaian berjalan selama sekitar 15 menit dan mencari lebih dari 6.000 ekstensi
- Pengguna dapat memeriksanya langsung dengan membuka LinkedIn di Chrome lalu melihat tab Console di developer tools
- Setiap error merah di konsol mewakili bagian dari sidik jari pengguna
Struktur kode dan metode deteksi
- LinkedIn menjalankan kode JavaScript di browser semua pengunjung Chrome, dan sistem yang menangani pemindaian ekstensi ada di dalamnya
- File tersebut adalah file JavaScript yang diperkecil dan sebagian diobfuscate dengan ukuran sekitar 1,6MB
- Minifikasi biasa adalah pemadatan kode untuk kinerja, sedangkan obfuscation adalah langkah terpisah untuk membuat kode lebih sulit dibaca dan dipahami
- LinkedIn mengobfuscate modul tepat yang memuat sistem pemindaian ekstensi, lalu menyembunyikannya di dalam file JavaScript yang panjangnya ribuan baris
- Di dalam file itu ada array hardcoded berisi ID ekstensi browser
- Per Februari 2026, array ini berisi 6.278 entri
- Setiap entri memiliki dua field: ID ekstensi Chrome Web Store dan jalur file tertentu di dalam paket ekstensi tersebut
- Jalur file ini bukan nilai acak, melainkan diperlukan karena ekstensi Chrome dapat mengekspos file internal ke halaman web melalui field
web_accessible_resources - Jika ekstensi terpasang dan menyatakan file tertentu dapat diakses, maka permintaan
fetch()kechrome-extension://{id}/{file}akan berhasil - Jika tidak terpasang, Chrome memblokir permintaan itu
- LinkedIn mengidentifikasi file tertentu yang dapat diakses dan mendeteksinya secara langsung untuk masing-masing dari 6.278 ekstensi dalam daftar
- Daftar itu terus dipelihara dan diperluas, dan tampaknya ada alat untuk merayapi paket ekstensi Chrome Web Store serta mem-parsing web accessible resources dari setiap manifest guna menambahkan target deteksi
Dua mode pemindaian dan Spectroscopy
- Pemindaian ekstensi berjalan dalam dua mode
- Mode pertama menggunakan
Promise.allSettled()untuk mengirim semua permintaan sekaligus, sehingga seluruh ekstensi dideteksi secara paralel - Mode kedua mengirim permintaan secara berurutan dengan jeda yang bisa diatur di antara tiap permintaan, menyebarkan aktivitas jaringan sepanjang waktu dan membuatnya kurang mencolok bagi alat pemantauan
- LinkedIn dapat beralih di antara dua mode ini menggunakan feature flag internal
- Pemindaian juga dapat ditunda dengan
requestIdleCallback, sehingga berjalan saat browser sedang idle agar pengguna tidak merasakan dampak kinerja - Sistem deteksi kedua bernama Spectroscopy bekerja secara independen dari daftar ekstensi
- Spectroscopy menelusuri seluruh pohon DOM dan memeriksa referensi URL
chrome-extension://di semua text node dan atribut elemen - Metode ini dapat menangkap ekstensi yang memodifikasi halaman meskipun tidak ada dalam daftar hardcoded LinkedIn
- Jika kedua sistem digabungkan, hasilnya mencakup baik ekstensi yang terpasang maupun ekstensi yang benar-benar berinteraksi dengan halaman
Pengiriman telemetri
- Kedua sistem deteksi mengirim hasil ke pipeline telemetri yang sama
- ID ekstensi yang terdeteksi dikemas sebagai objek
AedEventdanSpectroscopyEvent - Objek-objek ini dienkripsi dengan kunci publik RSA lalu dikirim ke endpoint
li/trackmilik LinkedIn - Sidik jari terenkripsi ini kemudian disisipkan ke HTTP header semua permintaan API yang terjadi selama sesi berikutnya
- LinkedIn menerima nilai ini bersama setiap tindakan yang dilakukan pengguna selama kunjungan
Konteks hukum
- browsergate.eu merangkum logika hukum terkait secara rinci
- Pada 2024, Microsoft ditetapkan sebagai gatekeeper berdasarkan EU Digital Markets Act, dan LinkedIn adalah salah satu produk yang diatur
- DMA mewajibkan gatekeeper untuk mengizinkan alat pihak ketiga mengakses data pengguna, serta melarang tindakan terhadap pengguna alat tersebut
- browsergate.eu menilai bahwa penindakan sistematis LinkedIn terhadap pengguna alat pihak ketiga, serta penggunaan pemindaian ekstensi tersembunyi untuk mengidentifikasi mereka, termasuk pelanggaran aturan tersebut
- Apakah klaim ini akan diterima secara hukum adalah persoalan penilaian hukum
- Unit Cybercrime dari Bavarian Central Cybercrime Prosecution Office in Bamberg mengonfirmasi bahwa penyelidikan pidana telah dibuka
- Lembaga ini menangani kasus kejahatan siber berat lintas yurisdiksi
- browsergate.eu menyatakan telah mengonfirmasi penyelidikan pidana, memberikan nomor perkara, dan sedang menyiapkan publikasi dokumen pengadilan lengkap
1 komentar
Opini Hacker News
“Bahwa penyelidikan kriminal telah dimulai sudah tidak diragukan lagi.” Bagus. Perusahaan seperti ini memang pantas dilempari batu, dan harus siap menerima yang lebih buruk dari itu
Jika ada tim yang berkomitmen untuk tidak merusak situs web sampai di bawah standar rata-rata, mereka seharusnya bisa menyaring pelamar berdasarkan daftar tokoh utama perusak layanan yang sudah diketahui
Mungkin sudah terlambat untuk memotongnya dari akarnya, tetapi tidak ada alasan membiarkan orang-orang seperti ini terus bergerak tanpa batasan dan makin membesar
“Lalu saya melihat pembicaraan soal browsergate meledak di mastodon dan berpikir ‘masa iya’, ternyata gugatan hukumnya memang sedang disiapkan.” - un-nf
Farrell v LinkedIn Corporation 4:26-cv-02953-KAW (N.D. Cal. Apr. 6, 2026)
https://ia601503.us.archive.org/33/items/gov.uscourts.cand.4...
Kenapa Chrome saya memberi tahu situs web mana pun daftar ekstensi yang saya pasang?
Jika tidak terjadi error, maka mereka tahu ekstensi itu terpasang. Cara ini cerdik dan merepotkan, tetapi bisa melewati mekanisme keamanan yang dibuat untuk mencegah hal seperti ini
Saya membaca bahwa alasannya adalah untuk memblokir pengguna ekstensi scraper yang diketahui dipakai untuk mengakali syarat layanan, tetapi saya tetap belum sepenuhnya yakin
“Ekstensi Chrome dapat mengekspos file internal ke halaman web melalui field web_accessible_resources di manifest.json. Jika ekstensi terpasang dan resource tersebut diekspos, request
fetch()kechrome-extension://{id}/{file}akan berhasil. Jika tidak terpasang, Chrome memblokir request dan promise akan di-reject.LinkedIn menguji semua ekstensi dalam daftar dengan cara ini.”
Tapi untuk melakukan itu pada 6.300 ekstensi rasanya terlalu banyak kerja. Apakah ada layanan yang menyediakan ini?
Teman-teman, jika di tempat kerja kalian diminta mengimplementasikan hal seperti ini, apa yang akan kalian pilih: menolak dan bertahan sampai kehilangan pekerjaan, atau menurut dan mempertahankan pekerjaan?
Sebagai praktisi, di mana batas antara telemetri dan pengawasan seharusnya ditarik?
Tapi kalau sudah main permainan seperti itu, mungkin memang sudah waktunya cari kerja baru ;)
Namun, kalau yang tahu fakta itu cuma sekitar tiga orang, identitasmu bisa langsung ketahuan
Bisa juga diperintahkan oleh manajer yang kondisinya serupa, sementara atasan di atasnya hanya peduli peningkatan pendapatan dan tidak peduli caranya. Meski begitu, rasanya aneh kalau tidak ada seorang pun yang berkata, “Sebenarnya kita sedang melakukan apa?”
Untuk menjawab pertanyaannya, tentu saya akan menolak. Saat ini saya cukup beruntung bisa mengambil keputusan seperti itu tanpa konsekuensi besar. Tapi siapa yang akan datang ke HN dan berkata, “Ya, saya memang tidak punya moral!”? Bahkan dengan akun burner pun belum tentu bisa dipastikan nyata
Bagian paling relevan yang saya temukan di tulisan aslinya adalah ini:
“Ekstensi Chrome dapat mengekspos file internal ke halaman web melalui field web_accessible_resources di manifest.json. Jika ekstensi terpasang dan resource tersebut diekspos, request
fetch()kechrome-extension://{id}/{file}akan berhasil. Jika tidak terpasang, Chrome memblokir request dan promise akan di-reject.LinkedIn menguji semua ekstensi dalam daftar dengan cara ini.”
Akan menarik juga melihat situs lain mana yang menguji file-file yang sama; apakah sudah ada yang menelitinya?
Ini praktik yang cukup standar dalam pelacakan sidik jari perangkat. LinkedIn kemungkinan memakai ini untuk melindungi platform dari scraping dan semacamnya, dan daftar ekstensi punya entropi yang cukup untuk mengidentifikasi pengguna serta menjadi komponen sidik jari yang berguna
Saya sudah melihat orang membuat dan memasang ekstensi Chrome lokal hanya dalam beberapa hari, lalu AI disuntikkan ke developer tools agar bisa men-scrape hampir situs web apa pun. Itu pun sudah beberapa bulan lalu
Menurut saya sekarang tidak ada cara mudah untuk mempertahankan diri dari itu. Tinggal soal waktu sebelum langkah-langkah pemrograman defensif seperti ini menjadi tidak berguna
Apakah ini halusinasi? Kutipan ini tidak bisa saya temukan di tempat lain
“Menurut browsergate, Milinda Lakkam mengonfirmasi di bawah sumpah bahwa ‘LinkedIn mengambil tindakan terhadap pengguna yang memasang ekstensi tertentu.’”
https://browsergate.eu/the-evidence-pack/
Sistem LinkedIn “mungkin telah mengambil tindakan terhadap pengguna LinkedIn yang memasang [XXXXXX].”
Edit: bagus! Saya baru sadar teks yang diindent sekarang terbungkus baris juga di browser mobile. Setidaknya begitu di ffm. Penasaran kapan itu diperbaiki
Secara adil, kebijakan privasi LinkedIn memang menyatakan bahwa mereka mengumpulkan informasi ini. Lihat https://www.linkedin.com/legal/privacy-policy?ref=cms.hondas...
“1.5 Perangkat dan lokasi
Saat Anda mengunjungi atau meninggalkan layanan kami (termasuk beberapa plugin serta cookie kami atau teknologi serupa di situs pihak lain), kami menerima URL dari situs yang Anda datangi dan situs yang Anda tuju berikut waktu kunjungan Anda. Kami juga menerima informasi tentang jaringan dan perangkat Anda (misalnya alamat IP, server proxy, sistem operasi, browser web dan add-on, pengenal dan fitur perangkat, ID cookie dan/atau ISP, atau operator seluler Anda). Jika Anda menggunakan layanan kami dari perangkat seluler, perangkat tersebut akan mengirimkan data lokasi kepada kami berdasarkan pengaturan ponsel Anda. Kami akan meminta persetujuan sebelum menggunakan GPS atau alat lain untuk mengidentifikasi lokasi akurat Anda.”
Bagian yang relevan di sini adalah “termasuk beberapa plugin”
Saya sudah menghapus akun LinkedIn, dan hidup jadi lebih baik