A empresa Google lançou a versão do navegador web Chrome 137. Ao mesmo tempo, a versão estável do projeto de código aberto Chromium, que serve de base para o Chrome, está disponível. O navegador Chrome se diferencia do Chromium pelo uso dos logotipos do Google, pela presença de um sistema de envio de notificações em caso de falhas, por módulos para reprodução de conteúdo de vídeo protegido contra cópias (DRM), pelo sistema de instalação automática de atualizações, pela ativação constante da Sandbox-isolamento, pelo fornecimento de chaves para a API do Google e pela transmissão de parâmetros RLZ durante a pesquisa. Para aqueles que precisam de mais tempo para atualizações, é mantido um ramo chamado Extended Stable, que é acompanhado por 8 semanas. O próximo lançamento do Chrome 138 está agendado para 24 de junho.
Principais mudanças no Chrome 137:
- Na versão para Windows e macOS, foi integrado o chatbot Gemini, que pode explicar o conteúdo da página visualizada e responder a perguntas relacionadas sem mudar da aba atual. A interação com o Gemini é suportada tanto por texto quanto por voz. O trabalho com o chatbot está disponível apenas para uma parte dos usuários nos EUA que possuem assinaturas do Google AI Pro e Ultra.
- Semelhante à segmentação de armazenamento já implementada anteriormente, foi garantida a isolamento do processamento de URLs do esquema 'blob:', destinado ao acesso a dados localmente gerados através da API Blob ou File. Ao segmentar, um sinalizador separado é anexado à chave usada para extrair objetos, determinando a vinculação ao original domínio, de onde a página principal foi aberta, permitindo bloquear métodos de rastreamento do movimento do usuário entre sites através da manipulação da URL 'blob:'.
- No modo de proteção avançada do navegador (Safe Browsing > Enhanced protection), foi ativada a capacidade de usar um grande modelo de linguagem para identificar páginas fraudulentas com base em seu conteúdo. O modelo de IA é executado no lado do cliente, mas em caso de suspeitas de conteúdo duvidoso, uma verificação adicional é realizada em servidores Google. Na versão atual, somente a coleta de informações sobre páginas problemáticas está sendo realizada. Na próxima versão, planeja-se começar a mostrar avisos ao usuário.
- A proteção contra a identificação oculta de usuários usando o cache HSTS (HTTP Strict Transport Security) está ativada. O HSTS permite que sites redirecionem os usuários de HTTP para HTTPS ao acessá-los. Durante esse processo, o nome do host definido através do HSTS é armazenado no cache interno, permitindo o uso da presença ou ausência do host no cache para armazenar um único bit de informação. Para armazenar de forma oculta um identificador de usuário de 32 bits, pode-se usar um array de 32 imagens servidas de diferentes hosts via HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg, etc.). A identificação do usuário é feita verificando de quais hosts as imagens foram carregadas via HTTPS e de quais foram carregadas via HTTP (se as imagens foram anteriormente servidas via HTTP e redirecionadas para HTTPS através do HSTS, em solicitações subsequentes elas serão carregadas diretamente via HTTPS, evitando a chamada via HTTP). A proteção consiste em permitir a atualização do HSTS apenas para recursos de nível superior e bloquear a atualização do HSTS em solicitações de sub-recursos.
- Para conexões WebRTC, foi implementado o suporte ao protocolo DTLS 1.3 (Datagram Transport Layer Security, análogo ao TLS para UDP). O suporte ao DTLS 1.3 é necessário para o uso de algoritmos de criptografia pós-quântica no WebRTC.
- A opção da linha de comando "—load-extension", que permite carregar extensões, foi removida. A opção foi eliminada para reduzir o risco de seu uso para a inserção de extensões maliciosas. Para forçar o carregamento de extensões descompactadas, recomenda-se usar o botão Load Unpacked na página de gerenciamento de extensões (chrome://extensions/) após ativar o modo de desenvolvedor. No Chromium e nas versões de teste do Chrome For Testing, o suporte à opção "—load-extension" foi mantido.
- Decidiu-se descontinuar o uso do SwiftShader, um sistema de renderização em software que implementa a API Vulkan, como opção de fallback automática para WebGL. Na ausência de um backend adequado baseado em GPU, a criação de contexto WebGL agora retornará um erro, ao invés de alternar para o SwiftShader. A descontinuação do SwiftShader aumentará a segurança, ao eliminar a execução de código gerado pelo compilador JIT no processo responsável pela interação com a GPU. Para reabilitar o uso do SwiftShader, existe uma opção de linha de comando separada: "—enable-unsafe-swiftshader". Na versão 137 do Chrome, para os usuários das plataformas Linux e macOS, um aviso será exibido no console da web ao usar o SwiftShader, e na versão 138, a reversão para o SwiftShader será desativada. Para os usuários do Windows, o sistema SwiftShader foi substituído pelo WARP (Windows Advanced Rasterization Platform) integrado ao Windows.
- Foi adicionada nas configurações a possibilidade de ativar a função "Autofill with AI", que simplifica o preenchimento de formulários da web. Quando ativada, o navegador utiliza um modelo de IA para entender o formulário da web e preencher automaticamente os campos, com base em como o usuário preencheu anteriormente formulários semelhantes.
- A API Web Cryptography agora suporta algoritmos criptográficos baseados na curva elíptica Curve25519, como o algoritmo de assinatura digital Ed25519.
- Implementada a propriedade CSS "reading-flow", que permite controlar a ordem de processamento de elementos em containers flexíveis, grids e block-level ao utilizar leitores de tela e na navegação sequencial. Também foi adicionada a propriedade "reading-order", que possibilita a redefinição manual da ordem dos elementos.
- Foi proposta uma função "if()" em CSS, projetada para selecionar valores com base no resultado da execução de expressões condicionais. Como argumento, é passada uma lista de pares "condição:valor" separada por ponto e vírgula. A função percorre esses pares e para no primeiro que satisfizer a condição. Por exemplo: "background-color: if(style(—color: white): black; else: white);".
- Na propriedade CSS offset-path, foi implementada a função shape() para a formação de formas através de comandos equivalentes à função path(), mas que permitem o uso da sintaxe padrão de CSS.
- Adicionado o API JSPI (Integração de Promessa JavaScript), que permite a integração de aplicativos WebAssembly com o objeto Promise do JavaScript e possibilita que programas WebAssembly atuem como geradores de Promessa e interajam com APIs baseadas em Promise.
- O API CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D e ImageData agora suporta formatos de pixel que usam valores de ponto flutuante para representar os componentes de cor.
- No modo de testes de origem, foram propostos APIs experimentais Rewriter e Writer, que permitem reformular (por exemplo, resumir ou alterar o estilo da narração) ou gerar texto usando grandes modelos de linguagem.
- As ferramentas para desenvolvedores da web agora têm a capacidade de vinculação a espaços de trabalho, permitindo salvar alterações feitas em arquivos locais nos códigos JavaScript, HTML e CSS enquanto utiliza as ferramentas integradas ao navegador. As funcionalidades do assistente de IA foram expandidas, permitindo alterar CSS e analisar a performance.
Além das inovações e correções de bugs, a nova versão corrigiu 1 vulnerabilidade. Muitas vulnerabilidades foram identificadas através de testes automatizados utilizando as ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Nenhum problema crítico que permitisse contornar todos os níveis de proteção do navegador e executar código fora do ambiente sandbox foi encontrado. No âmbito do programa de recompensas por vulnerabilidades para esta versão, a empresa Google pagou 8 prêmios totalizando 7.500 dólares (sendo um prêmio de $4.000, um de $2.000, um de $1.000 e um de $500). O valor de quatro das recompensas ainda não foi definido.
Fonte: opennet.ru
