Unul dintre dezvoltatorii platformei JavaScript Deno, care coordonează catalogul de pachete JSR.io, a atras atenția asupra discriminării în motorul de browser Chromium, legată de furnizarea de funcționalități suplimentare serviciilor Google, care nu sunt disponibile altor site-uri fără instalarea unui plugin separat. Este vorba despre pluginul încorporat hangout_services, care este activ în mod implicit și nu apare în listele pluginurilor funcționale din browser.
Pluginul oferă funcții pentru obținerea informațiilor despre sarcina pe CPU și GPU în contextul tab-urilor individuale și al întregului sistem, precum și despre consumul de memorie al sistemului. API-ul furnizat de plugin este deschis doar pentru cereri din subdomeniile „google.com”. Pluginul este preinstalat în Chrome, diverse versiuni ale Chromium, Microsoft Edge, Brave și probabil în alte browsere bazate pe motorul Chromium.
Furnizarea unui astfel de plugin încorporat este percepută ca o concurență neloială și o încălcare a principiului de furnizare a unui API unic pentru toate site-urile, deoarece, datorită pluginului, serviciile Google obțin un avantaj competitiv prin accesul la informații despre funcționarea sistemului, inaccesibile serviciilor altor companii. De exemplu, serviciul Google Meet poate ajusta funcționarea în funcție de sarcina de pe sistemul utilizatorului, în timp ce în Zoom și alte servicii, acest lucru ar necesita instalarea unui plugin extern cu confirmarea permisiunilor oferite (pentru serviciile Google, o astfel de funcționalitate este disponibilă „din cutie”).
Datele furnizate de plugin sunt afișate în serviciul meet.google.com în panoul „Troubleshooting”. Pentru a verifica existența pluginului hangout_services, se poate efectua o căutare a identificatorului „nkeimhogjdpnpccoofpliimaahmaaome” în fișierul resources.pak, care vine cu Chrome, iar pentru a verifica activitatea, se poate deschide în browser orice site care aparține domeniu google.com și să se trimită pluginului o cerere din consolă în instrumentele pentru dezvoltatori web: chrome.runtime.sendMessage(‘nkeimhogjdpnpccoofpliimaahmaaome’, {method: ‘cpu.getInfo’}, response => {console.log(JSON.stringify(response, null, 2));});
$ strings /opt/google/chrome/resources.pak | grep -A 10 «nkeimhogjdpnpccoofpliimaahmaaome» // Extension ID: nkeimhogjdpnpccoofpliimaahmaaome «key»: «….», «name»: «Google Hangouts», // Note: Always update the version number when this file is updated. Chrome // triggers extension preferences update on the version increase. «version»: «1.3.21», «manifest_version»: 2, «externally_connectable»: { «matches»: [ «https://*.google.com/*» ] }
Sursa: opennet.ro
