LinkedIn tarayıcı uzantılarını tarıyor
(404privacy.com)- LinkedIn, Chrome’da
chrome-extension://URL istekleri göndererek belirli uzantıların kurulu olup olmadığını kontrol ediyor; kurulu olmayan öğeler geliştirici araçları konsolunda istek başarısızlığı hatası olarak görünüyor - LinkedIn zaten kullanıcının adı, işvereni, unvanı, kariyer geçmişi ve konumu gibi bilgilerine sahip olduğundan, bu uzantı taraması anonim bir cihaz parmak izi oluşturmaktan ziyade doğrulanmış profesyonel kimliğe bir yazılım listesi eklemek anlamına geliyor
- browsergate.eu kayıtları ve GitHub takip deposuna göre tarama en az 2017’den beri sürüyor; hedef liste 38 öğeden 2026 Nisan itibarıyla 6.278 öğeye çıktı
- Tarama, LinkedIn’in APFC cihaz parmak izi toplama sisteminin bir parçası; canvas fingerprint, WebGL, ses davranışı, fontlar, ekran bilgisi, cihaz belleği, WebRTC yerel IP’si gibi 48 tarayıcı ve cihaz özelliğiyle birlikte bir profil oluşturuyor
- Tespit sonuçları
AedEventveSpectroscopyEventolarak paketlenip RSA açık anahtarıyla şifrelenerek LinkedIn’inli/trackuç noktasına gönderiliyor; browsergate.eu bu yöntemin AB Dijital Pazarlar Yasası’nı ihlal ettiğini savunuyor ve bu konuda cezai soruşturma açıldığını belirtiyor
Kişisel olarak tanımlanabilir profile eklenen yazılım listesi
- Genel parmak izi toplama yaklaşımı, anonim ziyaretçilerin tarayıcılarını çerez olmadan yeniden tanımaya yönelik bir yöntem olarak ele alınır
- Bu durumda profil cihaz düzeyinde tanımlanabilir olsa da mutlaka kişinin kimliğiyle bağlantılı olmak zorunda değildir
- LinkedIn ise anonim bir ziyaretçiyi değil, kullanıcının adı, işvereni, unvanı, kariyer geçmişi, maaş aralığı, profesyonel ağı ve konumu gibi bilgileri zaten elinde tutuyor
- LinkedIn’in uzantı taraması, bilinmeyen bir ziyaretçinin cihaz profilini oluşturmaktan çok, zaten doğrulanmış profesyonel kimliğe ayrıntılı bir yazılım listesi ekleme yöntemi haline geliyor
- LinkedIn’in tarama listesinde yüzlerce iş aramayla ilgili uzantı yer alıyor; bu da kullanıcının işverenine söylemeden sessizce iş arayıp aramadığının anlaşılmasını sağlayabilir
- Siyasi içerik, dini pratikler, engellilik desteği ve nöroçeşitlilikle ilgili uzantılar da listede bulunduğundan, tarayıcı yazılımı kişinin özel hayatı hakkında çıkarım yapmak için temel oluşturabilir
- LinkedIn kullanıcının nerede çalıştığını bildiği için, tek bir çalışanın tarama sonucu yalnızca o kişiyi değil, çalıştığı kuruluşun iç araçlarını, güvenlik ürünlerini, rakip aboneliklerini ve iş akışlarını anlamaya da katkı sağlayabilir
- LinkedIn’in privacy policy belgesinde uzantı taramasından söz edilmiyor; kullanıcılardan buna ilişkin onay istenmiyor ve bilgilendirme de yapılmıyor
LinkedIn’in ötesine geçen sorun
-
Yaptırım ve emsal
- LinkedIn, uzantı listesini kullanarak belirli uzantıları kurmuş kullanıcılar hakkında çıkarım yapıyor ve yaptırım uyguluyor
- browsergate’e göre Milinda Lakkam, yeminli ifadesinde “LinkedIn took action against users who had specific extensions installed.” sözleriyle bunu doğruladı
- Kullanıcıların, yazılımlarının listelendiğini, bu listenin kendi aleyhlerine kullanıldığını ve bunun LinkedIn gizlilik politikasında yer almadığını öğrenmelerinin bir yolu yok
-
Parmak izi ekosistemi
- Tarayıcı parmak izi toplama genelde bir sitenin sinyaller toplayıp profil oluşturması ve kullanıcıyı oturumlar arasında tanıması sorunu olarak ele alınır
- LinkedIn’in uzantı taraması, doğrulanmış kimliğe bağlı ayrıntılı bir yazılım listesi üretir ve bu profilin LinkedIn içinde kalması gerekmez
- LinkedIn üçüncü taraf davranış veri setleri satın alır ve bunların içinde kullanıcının parmak izi bulunursa, bunu zaten elindeki kullanıcı bilgilerine ekleyebilir
- LinkedIn dışındaki gezinme davranışı, satın alma geçmişi, konum örüntüleri ve ilgi alanları, LinkedIn hesabına bağlı profilin bir parçası haline gelebilir
- Ters yönde ise LinkedIn, her sayfa ziyaretinde yüklenen Google reCAPTCHA enterprise dahil üçüncü taraf script’ler entegre ediyor; böylece platformlar arasında veri akışı oluşuyor
- LinkedIn’in doğrulanmış kimliğe bağladığı parmak izi, linkedin.com dışındaki reklam ve takip sistemlerini de etkileyebilir
- LinkedIn’e bir kez giriş yapıldığında, o ziyarette oluşturulan parmak izi web genelinde kullanıcıyı takip edebilir
-
Gerçek risk altındaki kullanıcı grupları
- Gazeteciler, avukatlar, araştırmacılar ve insan hakları soruşturmacıları için LinkedIn profili internetteki en ayrıntılı doğrulanmış kimlik belgelerinden biri olabilir
- LinkedIn profili, gerçek adla ve profesyonel amaçlarla kasıtlı olarak inşa edilmiş bir bilgi kümesidir
- Uzantı taraması, kullanıcının farkında olmadan bu profile gizlilik araçları, güvenlik uzantıları, araştırma araçları ve üretkenlik uygulamalarının kurulum kayıtlarını bağlıyor
- LinkedIn ve Chrome kullanıyorsanız bu toplama işlemi şu anda gerçekleşiyor
APFC ve gelişmiş JavaScript parmak izi toplama
- Uzantı taraması tek başına çalışan bir özellik değil; LinkedIn’in içeride APFC dediği daha geniş bir cihaz parmak izi toplama sisteminin parçası
- APFC, Anti-fraud Platform Features Collection’ın kısaltması; içeride DNA, yani Device Network Analysis olarak da anılıyor
- LinkedIn bu takip yöntemleri konusunda uzantı taramasına kıyasla daha açıktı, ancak bu yöntemler ticari web sitelerinde yaygın olarak bulunuyor
- Bu sistem her ziyarette 48 tarayıcı ve cihaz özelliği topluyor
- Toplananlar arasında canvas fingerprint, WebGL renderer ve parametreleri, ses işleme davranışı, kurulu fontlar, ekran çözünürlüğü, piksel oranı, donanım eşzamanlılığı, cihaz belleği, pil seviyesi, WebRTC üzerinden yerel IP adresi, saat dilimi ve dil yer alıyor
- Uzantı taraması, daha büyük profilin oluşmasına katkı veren girdilerden yalnızca biri
Teknik olarak ne oluyor
- LinkedIn’in kodu, Chrome’da kurulu belirli dosyaları aramak için
chrome-extension://URL’lerinefetch()istekleri gönderiyor - Uzantı kurulu değilse Chrome isteği engelliyor ve başarısızlığı logluyor
- Uzantı kuruluysa istek sessizce başarılı oluyor ve LinkedIn bunu kaydediyor
- Doğrulanmış bir ortamda tarama yaklaşık 15 dakika sürdü ve 6.000’den fazla uzantıyı yokladı
- Kullanıcılar bunu Chrome’da LinkedIn’i açıp geliştirici araçlarındaki konsol sekmesinden doğrudan görebilir
- Konsoldaki her kırmızı hata, kullanıcının parmak izinin bir parçasına karşılık geliyor
Kod yapısı ve tespit yöntemi
- LinkedIn tüm Chrome ziyaretçilerinin tarayıcısında JavaScript kodu çalıştırıyor ve uzantı taramasını yapan sistem bunun içinde yer alıyor
- İlgili dosya yaklaşık 1,6 MB boyutunda, küçültülmüş ve kısmen obfuscate edilmiş bir JavaScript dosyası
- Olağan minification, performans için kodu sıkıştırma işlemidir; obfuscation ise kodun okunmasını ve anlaşılmasını zorlaştıran ayrı bir adımdır
- LinkedIn, uzantı tarama sistemini içeren tam modülü obfuscate ediyor ve bunu binlerce satırlık JavaScript dosyasının içine gömüyor
- Dosyanın içinde tarayıcı uzantısı ID’lerinden oluşan hard-coded bir dizi bulunuyor
- 2026 Şubat itibarıyla bu dizide 6.278 kayıt vardı
- Her kayıtta iki alan bulunuyor: Chrome Web Store uzantı ID’si ve o uzantı paketinin içindeki belirli bir dosya yolu
- Dosya yolu rastgele bir değer değil; çünkü Chrome uzantıları
web_accessible_resourcesalanı üzerinden dahili dosyalarını web sayfalarına açabiliyor - Uzantı kuruluysa ve belirli dosyayı erişilebilir olarak tanımladıysa,
chrome-extension://{id}/{file}adresine gönderilenfetch()isteği başarılı oluyor - Kurulu değilse Chrome isteği engelliyor
- LinkedIn listedeki 6.278 uzantının her biri için belirli erişilebilir dosyaları tespit edip doğrudan algılıyor
- Liste sürekli korunup genişletiliyor; görünüşe göre Chrome Web Store uzantı paketlerini crawl eden ve her manifestteki web erişilebilir kaynakları parse ederek tespit hedeflerine ekleyen araçlar da vardı
İki tarama modu ve Spectroscopy
- Uzantı taraması iki modda çalışıyor
- İlk mod,
Promise.allSettled()kullanarak tüm istekleri aynı anda gönderiyor ve bütün uzantıları paralel olarak tespit ediyor - İkinci mod, her istek arasına yapılandırılabilir gecikme koyarak istekleri sıralı şekilde gönderiyor; böylece ağ etkinliğini zamana yayıp izleme araçlarında daha az görünür hale geliyor
- LinkedIn, dahili özellik bayraklarıyla bu iki mod arasında geçiş yapabiliyor
- Tarama
requestIdleCallbackile ertelenebiliyor; bu sayede tarayıcı boştayken çalışıyor ve kullanıcı performans etkisini fark etmiyor - Spectroscopy adlı ikinci tespit sistemi, uzantı listesinden bağımsız çalışıyor
- Spectroscopy, tüm DOM ağacını tarayarak bütün metin düğümlerinde ve öğe özniteliklerinde
chrome-extension://URL referanslarını denetliyor - Bu yöntem, LinkedIn’in hard-coded listesinde olmasa bile sayfayı değiştiren uzantıları yakalayabiliyor
- İki sistem birlikte, hem kurulu uzantıları hem de gerçekten sayfayla etkileşime giren uzantıları kapsıyor
Telemetri aktarımı
- Her iki tespit sistemi de sonuçları aynı telemetri hattına gönderiyor
- Tespit edilen uzantı ID’leri
AedEventveSpectroscopyEventnesneleri olarak paketleniyor - Bu nesneler RSA açık anahtarıyla şifrelenip LinkedIn’in
li/trackuç noktasına gönderiliyor - Şifrelenmiş parmak izi daha sonra oturum boyunca yapılan tüm API isteklerinin HTTP header’larına ekleniyor
- LinkedIn, ziyaret süresince kullanıcının gerçekleştirdiği tüm eylemlerle birlikte bu değeri de alıyor
Hukuki bağlam
- browsergate.eu, ilgili hukuki gerekçeyi ayrıntılı biçimde açıklıyor
- 2024’te Microsoft, AB Dijital Pazarlar Yasası kapsamında gatekeeper olarak tanımlandı ve LinkedIn de düzenlemeye tabi ürünlerden biri oldu
- DMA, gatekeeper’ların üçüncü taraf araçların kullanıcı verilerine erişimine izin vermesini gerektiriyor ve bu araçların kullanıcılarına karşı işlem yapılmasını yasaklıyor
- browsergate.eu, LinkedIn’in üçüncü taraf araç kullanıcılarına sistematik şekilde yaptırım uygulamasının ve bunları belirlemek için gizli uzantı taraması kullanmasının bu kuralları ihlal ettiğini savunuyor
- Bu iddianın hukuken kabul görüp görmeyeceği ayrı bir değerlendirme konusu
- Bamberg’deki Bavarian Central Cybercrime Prosecution Office’in Cybercrime Unit’i cezai soruşturma açıldığını doğruladı
- Bu kurum, yargı alanlarını aşan ciddi siber suç vakalarıyla ilgileniyor
- browsergate.eu, cezai soruşturmayı doğruladığını, dosya numarasını paylaştığını ve tam mahkeme belgelerini yayıma hazırladığını belirtiyor
1 yorum
Hacker News görüşleri
“Adli soruşturmanın başladığı konusunda hiçbir şüphe yok.” Güzel. Böyle şirketler taşlanmayı hak ediyor, hatta daha fazlasını da göze almalı
Bir web sitesini ortalamanın altına düşürmeyeceğini söyleyen ekipler, bilinen hizmet kötüleştirme öncülerinin listesiyle adayları filtreleyebilmeli
Filiz halindeyken kesmek için artık geç olabilir ama bu kişilerin hiçbir kısıtlama olmadan faaliyet göstermeye ve büyümeye devam etmesine izin vermek için de bir sebep yok
“Sonra mastodon'da browsergate konuşmalarının patladığını görünce ‘yok artık’ dedim, ama gerçekten dava hazırlanıyormuş.” - 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...
Neden benim Chrome'um, yüklediğim uzantıların listesini herhangi bir web sitesine bildiriyor?
Hata oluşmazsa ilgili uzantının kurulu olduğu anlaşılıyor. Zekice ama zahmetli bir yöntem; yine de bunu engellemeye çalışan güvenlik önlemlerini atlatıyor
Bunu kullanma gerekçesinin, kullanım şartlarını aşan bilinen scraper uzantılarını kullananları engellemek olduğu yazıyordu ama bana tamamen ikna edici gelmiyor
“Chrome uzantıları, manifest.json içindeki web_accessible_resources alanı üzerinden dahili dosyaları web sayfalarına açabilir. Uzantı kuruluysa ve kaynağı açtıysa chrome-extension://{id}/{file} adresine yapılan fetch() isteği başarılı olur. Kurulu değilse Chrome isteği engeller ve promise reject edilir.
LinkedIn listedeki tüm uzantıları bu şekilde test ediyor.”
Ama bunu 6.300 uzantı için yapmak çok fazla iş olurdu. Acaba bunu servis olarak sunan bir yer mi var?
Arkadaşlar, iş yerinde size böyle bir şeyi uygulamanız söylense ne yaparsınız: karşı çıkıp direnerek işi kaybetmek mi, yoksa uyup işi korumak mı?
Uygulayıcı olarak telemetri ile gözetim arasındaki çizgiyi nerede çekmek gerekir?
Ama böyle oyunlar oynuyorsanız, belki de yeni bir iş arama zamanı gelmiştir ;)
Tabii bunu bilen kişi sayısı üç civarındaysa, kimin yaptığı hemen anlaşılabilir
Talimatı verenler de benzer durumdaki yöneticiler olabilir ve onların üstündekiler yalnızca gelir artışına bakıp yöntemi umursamıyor olabilir. Yine de bir yerlerde birinin “Biz şu anda ne yapıyoruz?” demesi gerekiyormuş gibi geliyor, garip
Soruna cevap verecek olursam, elbette karşı çıkardım. Şu an bunu ciddi bir bedel ödemeden yapabilecek kadar şanslı durumdayım. Ama HN'ye çıkıp “Evet, ahlaki pusulam yok!” diyecek kim var? Burner hesapla yazılsa bile gerçek olup olmadığını bilemezsin
Yazıda bulduğum en ilgili bölüm şu:
“Chrome uzantıları, manifest.json içindeki web_accessible_resources alanı üzerinden dahili dosyaları web sayfalarına açabilir. Uzantı kuruluysa ve kaynağı açtıysa chrome-extension://{id}/{file} adresine yapılan fetch() isteği başarılı olur. Kurulu değilse Chrome isteği engeller ve promise reject edilir.
LinkedIn listedeki tüm uzantıları bu şekilde test ediyor.”
Aynı dosyaları test eden başka hangi siteler var diye bakmak da ilginç olurdu; bunu inceleyen biri oldu mu acaba?
Bu, cihaz parmak izi çıkarma konusunda oldukça standart bir uygulama. LinkedIn bunu muhtemelen scraping gibi şeylere karşı platformunu korumak için kullanıyor ve uzantı listesi kullanıcıyı tanımlamak için yeterli entropi sağladığından parmak izinin kullanışlı bir bileşeni oluyor
İnsanların birkaç gün içinde yerel Chrome uzantıları geliştirip kurduğunu, ardından yapay zekanın geliştirici araçlarına enjekte edilerek neredeyse her web sitesini scrape eder hale geldiğini gördüm. Hem de bu birkaç ay önceydi
Artık buna karşı kolay bir savunma yolu olduğunu sanmıyorum. Bu tür savunmacı programlama önlemlerinin işe yaramaz hale gelmesi sadece zaman meselesi
Bu bir halüsinasyon mu? Bu alıntıyı başka hiçbir yerde bulamıyorum
“browsergate'e göre Milinda Lakkam yeminli ifadesinde ‘LinkedIn'in belirli uzantıları kurulu olan kullanıcılara karşı işlem yaptığını’ doğruladı.”
https://browsergate.eu/the-evidence-pack/
LinkedIn sistemleri, “[XXXXXX] kurulu olan LinkedIn kullanıcılarına karşı işlem yapmış olabilir.”
Düzenleme: Güzel! Girintili metnin artık mobil tarayıcıda da satır kırdığını yeni fark ettim. En azından ffm'de öyle. Bunun ne zaman düzeltildiğini merak ediyorum
Adil olmak gerekirse, LinkedIn'in gizlilik politikası bu bilgiyi topladığını açıkça belirtiyor. Bkz. https://www.linkedin.com/legal/privacy-policy?ref=cms.hondas...
“1.5 Cihaz ve konum
Hizmetlerimizi ziyaret ettiğinizde veya terk ettiğinizde (bazı eklentiler ve diğer sitelerdeki çerezlerimiz ya da benzer teknolojiler dahil), geldiğiniz ve gittiğiniz sitelerin URL'lerini ve ziyaret zamanlarınızı alırız. Ayrıca ağınız ve cihazınız hakkında bilgiler de alırız; örneğin IP adresiniz, proxy sunucunuz, işletim sisteminiz, web tarayıcınız ve eklentileriniz, cihaz tanımlayıcılarınız ve özellikleriniz, çerez kimliğiniz ve/veya ISP ya da mobil operatörünüz. Hizmetlerimizi mobil cihazdan kullanıyorsanız, telefon ayarlarınıza bağlı olarak bu cihaz bize konum verisi gönderir. GPS veya başka araçlarla kesin konumunuzu tespit etmeden önce onay isteriz.”
Buradaki ilgili bölüm “bazı eklentiler dahil” kısmı
LinkedIn hesabımı sildim ve artık hayatım daha iyi