L'azienda Google ha pubblicato la versione del browser web Chrome 137. È disponibile anche il rilascio stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si differenzia da Chromium per l'uso dei loghi Google, la presenza di un sistema di invio di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di aggiornamenti automatici, la Sandbox sempre attiva, la fornitura di chiavi per le API di Google e la trasmissione dei parametri RLZ durante la ricerca. Per coloro che necessitano di più tempo per gli aggiornamenti, è supportata una versione Extended Stable, che ha un accompagnamento di 8 settimane. Il prossimo rilascio di Chrome 138 è previsto per il 24 giugno.
Le principali novità in Chrome 137:
- Nelle versioni per Windows e macOS è integrato il chatbot Gemini, che può spiegare il contenuto della pagina visualizzata e rispondere a domande correlate senza dover cambiare scheda. Supporta interazioni testuali e vocali con Gemini. L'uso del chatbot è attualmente disponibile solo per un gruppo selezionato di utenti negli Stati Uniti che possiedono un abbonamento Google AI Pro e Ultra.
- Analogamente alla segmentazione del sistema di archiviazione precedentemente implementato, è stata garantita l'isolamento del trattamento degli URL con schema «blob:», destinato all'accesso ai dati generati localmente tramite l'API Blob o File. Durante la segmentazione, a chiave utilizzata per l'estrazione degli oggetti viene aggiunto un attributo separato che definisce il legame con la fonte primaria dominio, da cui è stata aperta la pagina principale, permettendo di bloccare i metodi di tracciamento dei movimenti degli utenti tra i siti tramite la manipolazione dell'URL «blob:».
- In modalità di protezione avanzata del browser (Safe Browsing > Enhanced protection) è stata attivata la possibilità di utilizzare un grande modello linguistico per identificare le pagine fraudolente in base ai loro contenuti. Il modello AI viene eseguito lato client, ma nel caso venga sospettato contenuto dubbio, viene effettuato un controllo aggiuntivo su server Google. Nella versione attuale viene solo raccolta informazione sulle pagine problematiche. Nella prossima versione è previsto di iniziare a visualizzare avvisi all'utente.
- È attivata la protezione contro l'identificazione nascosta degli utenti tramite la memoria cache HSTS (HTTP Strict Transport Security). HSTS consente ai siti di reindirizzare l'utente su HTTPS all'ingresso tramite HTTP. Durante il funzionamento, il nome host impostato tramite HSTS viene memorizzato nella cache interna, permettendo di utilizzare la presenza o l'assenza dell'host nella cache per memorizzare un bit d'informazione. Per memorizzare in modo nascosto un identificatore utente a 32 bit, si può utilizzare un array di 32 immagini restituite da diversi host tramite HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg, ecc.). L'identificazione dell'ID avviene controllando da quali host le immagini sono state caricate tramite HTTPS e da quali tramite HTTP (se le immagini erano state restituite in precedenza tramite HTTP e successivamente reindirizzate a HTTPS tramite HSTS, alle richieste successive verranno immediatamente caricate da HTTPS, evitando la richiesta tramite HTTP). La protezione consiste nel consentire l'aggiornamento di HSTS solo per le risorse di livello superiore e nel bloccare l'aggiornamento di HSTS nelle richieste di sottorecursos.
- Per le connessioni WebRTC è stata implementata la supporto del protocollo DTLS 1.3 (Datagram Transport Layer Security, equivalente di TLS per UDP). Il supporto di DTLS 1.3 è necessario per utilizzare algoritmi di crittografia post-quantistica in WebRTC.
- Rimossa l'opzione della riga di comando «—load-extension» che consentiva il caricamento di estensioni. Questa opzione è stata eliminata per ridurre il rischio di utilizzo per l'inserimento di estensioni dannose. Per forzare il caricamento di estensioni decompresse, si consiglia di utilizzare il pulsante Load Unpacked nella pagina di gestione delle estensioni (chrome://extensions/) dopo aver abilitato la modalità sviluppatore. In Chromium e nelle build di testing di Chrome For Testing, il supporto dell'opzione «—load-extension» è stato mantenuto.
- È stata decisa l'abbandono dell'auto-revert all'uso di SwiftShader, il sistema di rendering software per WebGL che implementa l'API Vulkan. In assenza di un adeguato backend basato su GPU, la creazione di un contesto WebGL ora restituirà un errore anziché passare a SwiftShader. Interrompere l'uso di SwiftShader permetterà di aumentare la sicurezza, escludendo l'esecuzione di codice generato da un compilatore JIT nel processo responsabile dell'interazione con la GPU. Per ripristinare l'uso di SwiftShader è disponibile un'opzione della riga di comando «—enable-unsafe-swiftshader». Nella versione 137 di Chrome, per gli utenti delle piattaforme Linux e macOS, verrà visualizzato un avviso nella console web quando si utilizza SwiftShader, mentre in Chrome 138 il rollback a SwiftShader sarà disabilitato. Per gli utenti Windows, il sistema SwiftShader è stato sostituito dal sistema di rendering software WARP (Windows Advanced Rasterization Platform) integrato in Windows.
- Nelle impostazioni è stata aggiunta la possibilità di attivare la funzione «Autofill with AI», che semplifica la compilazione dei moduli web. Quando attivata, il browser utilizza un modello AI per comprendere il modulo web e compilare automaticamente i campi, basandosi su come l'utente ha precedentemente completato moduli simili.
- Nell'API Web Cryptography è stata aggiunta la supporto per gli algoritmi crittografici basati su curve ellittiche Curve25519, come l'algoritmo di firma digitale Ed25519.
- È stata implementata la proprietà CSS «reading-flow», che consente di controllare l'ordine di elaborazione degli elementi nei contenitori flex, grid e blocchi quando si utilizzano lettori di schermo e nella navigazione sequenziale. È stata inoltre aggiunta la proprietà «reading-order», che consente di sovrascrivere manualmente l'ordine degli elementi.
- Nel CSS è stata proposta la funzione «if()», destinata a selezionare valori in base al risultato di espressioni condizionali. Come argomento, viene fornito un elenco di coppie «condizione:valore» separate da punto e virgola. La funzione scorre queste coppie e si ferma al primo insieme di condizioni soddisfatte. Ad esempio: «background-color: if(style(—color: white): black; else: white);».
- Nella proprietà CSS offset-path è stata implementata la funzione shape() per la creazione di forme mediante comandi equivalenti alla funzione path(), ma che consentono di utilizzare la sintassi standard CSS.
- È stata aggiunta l'API JSPI (JavaScript Promise Integration), che fornisce l'integrazione delle applicazioni WebAssembly con l'oggetto Promise di JavaScript e consente ai programmi WebAssembly di fungere da generatore di Promise e interagire con API basate su Promise.
- Nell'API CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D e ImageData è stato aggiunto il supporto per formati pixel che utilizzano valori a virgola mobile per rappresentare i componenti di colore.
- Nel regime delle prove di origine sono state proposte API sperimentali Rewriter e Writer, che permettono di riscrivere (ad esempio, riassumere o cambiare lo stile narrativo) o generare testo utilizzando grandi modelli linguistici.
- Negli strumenti per lo sviluppo web è stata aggiunta la possibilità di collegarsi agli spazi di lavoro, consentendo di salvare le modifiche apportate in file locali per JavaScript, HTML e CSS durante l'utilizzo degli strumenti integrati nel browser. Sono state ampliate le funzionalità dell'assistente AI, che può modificare il CSS e analizzare le prestazioni.
Oltre alle novità e alla correzione di errori, nella nuova versione è stata risolta una vulnerabilità. Molte delle vulnerabilità sono state identificate attraverso test automatizzati con gli strumenti AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state riscontrate problematiche critiche che potessero aggirare tutti i livelli di protezione del browser ed eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompensa per la scoperta di vulnerabilità, Google ha erogato 8 premi per un totale di 7500 dollari USA (con un premio di $4000, $2000, $1000 e $500). L'importo dei quattro premi rimanenti non è ancora stato definito.
Fonte: opennet.ru
