1 pontos por GN⁺ 3 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • O Chrome automatiza, com agentes baseados no Gemini, desde a descoberta de vulnerabilidades até classificação, correção, distribuição e aplicação das atualizações, e corrigiu 1.072 bugs de segurança no Chrome 149 e 150 — mais do que a soma dos 23 milestones anteriores
  • O sistema de detecção de vulnerabilidades combina vários modelos, uma base de conhecimento com CVEs e histórico Git do Chrome, o SECURITY.md e um agente crítico separado, operando em um ambiente com acesso à internet e ao sistema local estritamente limitado
  • A classificação automática remove spam e duplicatas, coleta reprodução e stack traces, adiciona metadados como severidade e atribui responsáveis, com estimativa de economizar centenas de horas de trabalho de desenvolvedores por mês
  • Para reduzir a janela entre patch e exploração após a divulgação da correção, o Google testa releases de segurança duas vezes por semana e desenvolve patch dinâmico com troca de processos-filho sem reinício, além de reinício automático no macOS
  • Em vez de apenas corrigir bugs individuais, o Chrome aumenta a segurança de memória com MiraclePtr, std::span e Rust, além de prevenir a entrada de vulnerabilidades com inspeção por IA no momento do envio de código e atualização automática de mais de 2.300 dependências externas

O ciclo de vida dos bugs de segurança transformado pela IA

  • Os LLMs ampliaram a detecção automática de vulnerabilidades para uma escala além da que a especialização humana em segurança consegue cobrir sozinha, e o Chrome usa IA para encontrar e corrigir centenas de bugs de segurança com mais rapidez
  • Enquanto bugs de funcionalidade comum causam problemas como travamento da interface, bugs de segurança podem ser usados em exploits que permitem a atacantes ler dados pessoais ou controlar o computador sem que o usuário perceba
  • Bugs de segurança são tratados em sequência: descoberta, classificação, correção, distribuição do Chrome com a correção incluída, reinício do navegador e aplicação da atualização — e a meta é encurtar ao máximo todas essas etapas

Expansão da detecção de vulnerabilidades

  • A equipe de segurança do Chrome vem evoluindo técnicas de detecção baseadas em LLM ao longo de vários anos
  • O harness de agentes Gemini, construído no início de 2026, aumentou a eficiência da detecção em uma base de código mais ampla do Chrome e reduziu falsos positivos
    • O bug de escape de sandbox descoberto podia permitir que um renderer comprometido enganasse o navegador para ler arquivos locais, e havia permanecido no código por mais de 13 anos
  • Os seguintes recursos foram adicionados ao harness de detecção
    • Interoperabilidade entre modelos, aproveitando os pontos fortes tanto de modelos com pesos abertos quanto de modelos proprietários
    • Uma base de conhecimento que inclui todos os CVEs existentes e todo o histórico Git do Chrome
    • Diretrizes de redação do SECURITY.md para comunicar com clareza limites de confiança e modelos de ameaça
    • Um agente crítico que lê o SECURITY.md em um contexto separado
    • Verificações repetidas da base de código para refletir a não determinismo dos modelos e as melhorias ao longo do tempo
  • A IA analisa apenas código-fonte armazenado em equipamentos bloqueados sem acesso à internet aberta
    • Todas as requisições de rede são interceptadas, aplicando listas de permissão baseadas em aplicação e destino
    • Os modelos não são executados em modo irrestrito, e mudanças no sistema por subagentes e acesso a arquivos fora dos diretórios de código designados são limitados
  • A detecção por IA não substitui os testes de segurança já existentes
    • O fuzzing é particularmente eficaz para bugs que surgem de interações de longa distância entre áreas separadas do código ou da combinação de várias operações aparentemente sem relação
  • Pesquisadores externos continuam sendo recompensados por encontrar vulnerabilidades difíceis e de alto impacto por meio do Chrome Vulnerability Reward Program
    • No início de 2026, aumentaram as denúncias de todos os tipos, e em março foram recebidos mais relatórios de bugs do que em todo o ano de 2025
    • Em resposta, o Google alterou o VRP para valorizar resultados adicionais em relação à detecção interna e focar em relatórios que o pipeline automatizado consiga absorver com facilidade

Classificação automática e correção com múltiplos agentes

  • No passado, classificar um único relatório de segurança levava de 5 minutos a mais de 30 minutos e dependia principalmente da especialização humana, mas agora o processo combina sistemas baseados em regras e IA para aumentar volume e precisão
  • A classificação automática ocorre em quatro etapas
    1. Remove spam e duplicatas, e verifica se o relatório atende aos critérios de recebimento e contém uma explicação clara de uma vulnerabilidade de segurança do Chrome
    2. Confirma prova de conceito e reprodutibilidade, testa na versão do navegador e sistema operacional correspondente e anexa informações como stack trace
    3. Adiciona o ponto em que o bug foi introduzido pela primeira vez e a severidade
      • As diretrizes de severidade foram organizadas de forma mais clara para facilitar a aplicação automática
      • Desenvolvedores podem alterar classificações incorretas de severidade e complementar informações sobre limites de segurança no SECURITY.md
    4. Faz o encaminhamento automático do problema para o componente e o responsável corretos
  • Embora seja difícil medir com precisão, estima-se que a classificação automática economize centenas de horas de trabalho de desenvolvedores por mês
  • Um fluxo de trabalho com múltiplos agentes é aplicado à correção de vulnerabilidades
    • Um agente de correção recebe o contexto de cada problema e gera vários patches candidatos
    • Um agente crítico avalia o candidato mais adequado e produz os artefatos necessários para a revisão do desenvolvedor
    • Os dois agentes repetem um processo semelhante a code review, verificando comportamento funcional, conformidade com o estilo do Chromium e do Google e adesão às convenções locais do código
    • Um agente de criação de testes verifica os testes em todas as plataformas e configurações suportadas pelo Chrome antes da revisão humana, economizando potencialmente semanas de tempo
  • Hoje, os LLMs geram correções candidatas para a maioria das vulnerabilidades
    • No Chrome 149 e 150, foram corrigidos 1.072 bugs de segurança, superando a soma dos 23 milestones anteriores
  • Big Sleep e CodeMender, desenvolvidos em colaboração com o DeepMind e o Project Zero, foram integrados ao CI e inspecionam todos os CLs a cada 24 horas
    • Só em maio, mais de 20 vulnerabilidades, incluindo problemas críticos S1+, foram bloqueadas antes de chegarem à produção

Redução da janela de patch e aplicação das atualizações

  • O período de ataque N-day em que atacantes podem fazer engenharia reversa e explorar uma correção depois que o código corrigido entra no repositório open source público, mas antes de chegar aos usuários, é chamado de janela de patch
  • Normalmente leva semanas até que uma correção refletida na árvore principal chegue ao canal Stable, usado pela maioria dos usuários
    • Dependendo da severidade, as correções são mescladas diretamente no branch do release Stable atual, enquanto novos conflitos ou regressões seguem sendo monitorados
    • Com a mudança dos principais milestones do Chrome para um ciclo de duas semanas, atualizações de segurança já são fornecidas semanalmente
    • Para acompanhar o ritmo de ataques baseados em IA, também estão sendo testados releases de segurança duas vezes por semana
  • Todos os bugs de segurança que chegam ao Stable são documentados publicamente, independentemente de terem sido descobertos interna ou externamente
    • Para eliminar gargalos manuais e reduzir o tempo entre descoberta e divulgação, o Google trabalha na geração automática, a partir do patch, das notas de release e descrições de CVE
  • O Chrome usa desde 2008 atualizações automáticas que baixam novos binários em segundo plano e os deixam prontos para aplicação no próximo reinício
    • Classificação, correção, teste e distribuição levam de 1 a 2 dias, mas a espera até o usuário reiniciar também pode contribuir fortemente para o risco de exploração N-day
    • Como reiniciar interrompe o trabalho e exige um momento separado, os usuários tendem a adiar
  • Estão sendo desenvolvidos recursos para não transferir ao usuário o peso do reinício
    • O patch dinâmico aproveita a arquitetura multiprocessos do Chrome para substituir gradualmente processos-filho em segundo plano, como Renderer e GPU, por novos binários, com o objetivo de eliminar na maioria dos casos a necessidade de reiniciar o navegador inteiro
    • Também está sendo avaliada uma forma de salvar mais estado localmente para restaurar a sessão mesmo em situações complexas
    • O navegador será reiniciado automaticamente quando a restauração completa da sessão puder ser garantida
    • O Chrome 150 detecta no macOS quando todas as janelas foram fechadas, mas o app permanece em segundo plano, e reinicia automaticamente se houver uma atualização pendente
  • No longo prazo, a meta é um navegador sempre atualizado, combinando patch dinâmico contínuo e reinício automático em momentos de menor interrupção
  • As recomendações para administradores de TI corporativos são as seguintes
    • Usar a política RelaunchNotification para aplicar gradualmente desde notificações até reinício forçado após um período definido
    • Em ambientes sensíveis que exigem validação de mudanças, usar o Chrome Extended Stable Channel
    • Acompanhar todas as versões do navegador e gerenciar atualizações de forma detalhada com o dashboard independente de sistema operacional do Chrome Enterprise Core ou Premium

Defesas em C++ e transição para Rust

  • O Chrome usa uma estratégia dupla: neutralizar em tempo de execução vulnerabilidades existentes em C++ e, no longo prazo, migrar para linguagens com segurança de memória
  • Como a maior parte do código do Chromium é em C++, a toolchain e as mitigações em runtime são a primeira linha de defesa imediata
    • Tecnologias da família de biblioteca padrão reforçada e MiraclePtr vêm reduzindo vulnerabilidades de Use-After-Free (UAF)
  • O roadmap de defesa em C++ é composto por três eixos
    • Expansão de MiraclePtr e MiracleObject
      • O MiraclePtr está sendo ampliado para Skia, ANGLE, Dawn, iteradores de C++ e contêineres std::
      • O MiracleObject troca desempenho localizado em runtime por segurança temporal, com a meta de neutralizar até 90% das vulnerabilidades UAF na thread principal da GPU
    • Transição para std::span
      • Estruturas antigas que usam ponteiros e tamanhos juntos estão sendo substituídas por std::span, verificável pelo compilador, para eliminar acessos fora dos limites (OOB)
      • 97% do código próprio do Chrome já compila sem problemas com avisos rígidos de unsafe-buffer, e essa exigência está sendo expandida para Skia, ANGLE e Dawn
    • Fortalecimento estrutural e de alocação
      • Checked math é aplicado aos cálculos de alocação de memória para bloquear caminhos de overflow inteiro
      • Particionamento adicional de heap, com separação rígida entre tipos com ponteiro e sem ponteiro, dificulta a exploração de UAF
  • O Google vê as mitigações em runtime para C++ como algo com retorno marginal decrescente nos próximos anos
    • Verificações em runtime custam mais do que garantias em tempo de compilação, e até binários C++ fortemente mitigados exigem sandboxes rígidos com restrições de desempenho para cumprir a Rule of Two
  • No longo prazo, a migração para Rust está avançando
    • Flywheel de Rust: criação de um SDK central que oferece APIs e ferramentas do Chromium diretamente em Rust, para que novos componentes possam escolhê-lo no dia a dia
    • Eliminação de áreas densas em bugs: substituição estratégica de códigos historicamente propensos a bugs, como parsers complexos de dados, codecs de imagem e stacks de fonte
    • Modularização de alto privilégio: novos módulos escritos em Rust para executar funções complexas em áreas de alto privilégio, como o processo do navegador, sem o custo de desempenho de sandbox
  • Também está sendo avaliada a implementação da interface de mais alto nível do navegador em HTML, CSS e TypeScript para reduzir ainda mais a dependência do framework legado em C++

Bloqueio de vulnerabilidades antes do envio do código

  • Apenas escanear periodicamente toda a base de código não basta para acompanhar a velocidade de desenvolvimento do Chrome, por isso a inspeção por IA está sendo posicionada próxima ao momento do envio do código
  • O modelo de defesa do CI e da commit queue (CQ) inspeciona automaticamente as mudanças
    • Sugere correções de transição para std::span
    • Sinaliza dangling pointers
    • Impõe segurança nas operações numéricas
  • Um código que parece seguro isoladamente pode se tornar um problema sério de segurança potencial ao se combinar com pequenas mudanças lógicas em outro ponto
  • A análise semântica contínua por LLM dentro da CQ encontra interações sutis ou complexas que a análise estática tradicional deixa passar e as bloqueia antes que o código entre na árvore

Ecossistema open source e dependências externas

  • A segurança da web depende não só do Chrome em si, mas também de projetos open source e da capacidade de resposta de seus mantenedores
    • O Google doou, junto com outros participantes, US$ 12,5 milhões ao projeto Alpha-Omega para garantir que mantenedores tenham ferramentas e suporte para responder rapidamente a relatórios de vulnerabilidades
    • Também participa como membro fundador do projeto Akrites, cujo objetivo é reduzir a carga dos mantenedores upstream com um ponto central de recebimento de relatórios de vulnerabilidade e uma equipe de resposta a incidentes de segurança
  • O Chromium e projetos relacionados como V8, BoringSSL, Skia, ANGLE e Dawn têm mais de 2.300 dependências externas
    • Destas, cerca de 1.700 são distribuídas aos usuários por meio de vários produtos, incluindo dispositivos Android, plataformas de edge computing e stacks de grandes empresas de nuvem
  • O pipeline automatizado de inspeção de vulnerabilidades coleta dados de feeds internos do Google, do NVD do governo dos EUA e do OSV, voltado a open source
  • Como o monitoramento posterior ainda pode deixar uma lacuna de risco, o Google começou a migrar para um pipeline de atualização automática que renova proativamente todas as dependências externas do Chrome para as versões upstream mais recentes
  • No processo de automação, sinais de segurança de projetos como GOSSIP também são usados para refletir outros riscos do ecossistema open source externo

Um navegador protegido continuamente

  • O aumento do número de bugs descobertos e corrigidos com LLM não é um fracasso; cada bug corrigido representa um ponto de apoio a menos para os atacantes
  • Descobrir e corrigir não basta: é preciso distribuir a correção e aplicá-la no ambiente do usuário antes que atacantes a explorem
  • Ao combinar releases mais rápidos, patch dinâmico, reinício automático em momentos de menor interrupção e defesas estruturais, o objetivo é um Chrome protegido continuamente sem atrapalhar o usuário

1 comentários

 
GN⁺ 3 시간 전
Opiniões no Hacker News
  • Recentemente, enquanto o trabalho estava corrido, usei bastante IA para otimização de desempenho, mas ela foi quase inútil para definir direções em alto nível. Mesmo quando apontava trechos suspeitos em consultas SQL, a diferença de desempenho antes e depois era mínima; perdi tempo com sugestões inúteis e ainda tive de lidar com pessoas jogando saídas brutas de IA como se fossem contribuições significativas.
    Por outro lado, ficou muito mais fácil implementar mudanças que eu mesmo havia identificado ou mover joins para CTEs.

    • Sugestões longas e inúteis são realmente cansativas. Um colega usa Claude em toda comunicação assíncrona, incluindo Slack, Jira, revisão de código e e-mail, e responde até perguntas simples com enormes paredes de texto cujo escopo só aumenta.
      Mesmo repetindo para as ferramentas de IA “seja conciso”, “responda apenas à pergunta” e “não forneça informações não solicitadas”, elas produzem mais do que o necessário, o que parece uma tentativa sutil de consumir mais tokens.
    • Quando se fornecem todas as ferramentas para a IA verificar suas próprias hipóteses e executar iterativamente todo o ciclo de vida, ela funciona surpreendentemente bem.
    • Se você fornecer a saída do EXPLAIN ANALYZE junto com a consulta, a IA não tem grande dificuldade em otimizá-la, então acho surpreendente a avaliação de que ela foi inútil para otimização de consultas.
    • Também é preciso dizer qual modelo foi usado. Mesmo entre modelos de ponta, as diferenças são enormes; na prática, mais do que os benchmarks indicam, o Opus 5.0 está em uma categoria totalmente diferente do Cursor Grok 4.5 e é difícil compará-lo até com Sonnet ou Composer.
    • O erro foi mostrar apenas o código e pedir para encontrar otimizações de desempenho. É preciso fornecer perfis de desempenho, planos de consulta e dados de telemetria, além de medir antes e depois das mudanças.
      Só pelo texto do código não dá para saber tamanho de cache, volume do banco de dados ou latência de rede; fornecer esse contexto leva a resultados melhores.
  • Um dado essencial é que, no Pwn2Own de Berlim em maio passado, o Firefox não pagou nenhum prêmio. Desde 2007, ele havia pago prêmios em todos os eventos, então o fato de não haver nenhuma vulnerabilidade confirmada parece indicar que quase não restam vulnerabilidades fáceis e que esses modelos são úteis em alguma medida.

  • Acredito que seja possível corrigir muitos bugs, mas fico curioso sobre o processo real. Também é possível que o Google tenha publicado o blog e incentivado correções de bugs por alguns sprints para que gestores mostrassem à alta liderança os resultados da adoção de IA, fazendo as equipes trabalharem muito mais do que o normal.

    • O Google vem automatizando tudo há décadas, e fuzzers e o Project Zero fazem parte desse movimento. Adicionar LLMs a isso e melhorar harnesses e ferramentas de desenvolvimento para conectar detecção, classificação, correção e verificação de ponta a ponta é o próximo passo natural.
      O desempenho de uma LLM depende da estrutura iterativa em que ela roda, e essa estrutura depende da qualidade dos verificadores, então isso é explicável sem uma exibição de resultados por parte da gestão.
    • Sempre que uma nova ferramenta de análise, como análise estática ou fuzzing, é introduzida, é muito provável que os bugs recém-descobertos disparem no início e, depois de tratados, a frequência de descoberta volte a cair.
    • Se, no início de 2026, os relatórios de bugs em todas as categorias aumentaram e em março já superavam todo o ano de 2025, o uso de IA também pode ter aumentado muito o número de bugs em si. Por exemplo, em 2025 podem ter encontrado 50 e corrigido 45, enquanto em 2026 encontraram 500 e corrigiram 450.
    • A IA pode interpretar código rapidamente, processar mais depressa o acúmulo de bugs e também acelerar revisões de código e de segurança, permitindo encontrar mais problemas. Algo parecido parece estar acontecendo no kernel Linux, além de Windows e Apple.
    • Na organização de engenharia do Chrome, pode ter havido nos últimos 10 anos uma cultura apática em que bugs não eram corrigidos a menos que a alta liderança do Google reconhecesse valor comercial nisso. Agora suspeito que surgiu um incentivo comercial para corrigir bugs e atribuir o mérito à IA, a fim de vender mais IA.
  • Em vez de deixar a IA trabalhar sem rumo, é preciso usá-la como ferramenta de aceleração, mas os críticos parecem confundir as duas coisas. É um espantalho parecido com ficar bravo com o Excel porque o retorno sobre o investimento é ruim; em vez de discutir mais, prefiro compartilhar discretamente formas de uso com quem quer empregá-la de maneira adequada e eficiente.

    • O problema é que não está claro como se deve usar IA. Um lado diz para dar todo o contexto e deixá-la executar à vontade; outro diz para orientar cuidadosamente e revisar todos os resultados, e ambos recebem apoio.
      Se deixada solta, a qualidade piora depois de algumas iterações; se guiada com cuidado, gera valor, mas o esforço fica parecido com escrever o código diretamente, especialmente quando há tarefas repetitivas.
    • Na prática, a IA é uma ferramenta que acelera desenvolvedores, mas executivos e laboratórios de fronteira a promovem como se em breve nem fosse mais preciso ler código e programadores fossem desaparecer.
    • Como a IA agora se tornou uma questão de segurança internacional e política, pode haver muita propaganda nessa área, e o debate atual assume uma forma parecida com discussões políticas de 10 anos atrás.
    • Isso me lembra debates em que, mesmo explicando usos em que o Bitcoin resolveu meu problema, todos diziam que era impossível. Isso não significa que IA seja igual a Bitcoin.
    • Correção de bugs, melhoria de código e refatoração são as tarefas que mais combinam com IA. Eu esperava que finalmente pudéssemos lapidar software antigo, mas pessoas que só recebiam a cobrança por desenvolver recursos novos cada vez mais rápido acabam reagindo com entusiasmo ou cinismo, dependendo do ambiente em que estão inseridas.
  • Não se sabe quantas das correções automáticas foram revertidas, quantos bugs novos elas criaram, nem qual é a taxa de falsos positivos do agente de detecção. A postagem traz apenas números de sucesso e nada sobre o que pode dar errado

    • Na prática, a divulgação diz que encontraram e corrigiram muitos bugs graças à IA, mas é bem possível que o principal indicador de desempenho tenha virado corrigir o máximo possível de bugs com IA, levando a IA a encontrar itens antigos e fáceis no backlog para humanos corrigirem
    • Não explica se o aumento repentino na descoberta de bugs depois do M146 se deve a testes melhores ou ao fato de mais bugs novos terem entrado desde o início
    • Na Amazon, há muitos espaços para compartilhar casos de sucesso com IA, mas nenhum para compartilhar fracassos ou decepções. Não é de surpreender que a liderança ouça só um lado da história e tome decisões ruins sobre IA
    • Também fico curioso para saber quantos desses bugs foram criados pela própria IA
    • Em segurança de navegadores, o surgimento de alguns bugs novos talvez não seja um problema tão grande. O ataque Pinkie Pie de 2012 também precisou encadear 6 bugs, e depois surgiram ataques que exigiam encadear mais de 10; portanto, corrigir apenas um deles já neutraliza o ataque inteiro
      Mesmo que, ao corrigir 10 bugs, sejam criados 2 novos, o ganho líquido é grande se eles não forem bugs graves exploráveis isoladamente. Como ataques a navegadores exigem cadeias de vulnerabilidades cada vez mais longas, é difícil ignorar a vantagem de usar IA para encontrar bugs potenciais
      https://blog.chromium.org/2012/05/tale-of-two-pwnies-part-1....
  • Há preocupação de que, no futuro, o Google conclua que o Chromium não precisa mais de uma busca coletiva e pública por bugs e encerre o desenvolvimento aberto. Nesse caso, os navegadores atuais baseados em Chromium se tornariam, na prática, forks da última versão pública, e a dificuldade de manutenção de cada fork poderia variar, já que eles não teriam recursos para se manter como o Chrome com suporte do Gemini

    • O Google já controla fortemente os rumos do Chrome e do Chromium; portanto, se você valoriza a web aberta, deveria usar o Firefox
  • As críticas à IA muitas vezes se concentram na categoria estreita de que gerar código às cegas é ruim, e isso é fácil de reconhecer. Mas testes adversariais, validação de premissas de desenvolvedores, sugestões de refatoração, pequenas ferramentas de desenvolvimento, programação com orientação e rastreamento de dependências e comportamentos em grandes bases de código ficam do outro lado e podem ajudar muito
    Críticas que se aplicam à geração cega de código são misturadas com facilidade demais a todos esses usos

    • IA é uma ferramenta que precisa ser usada de uma certa forma. É preciso indicar a direção desejada, não esperar que ela resolva magicamente todos os problemas
    • A IA tem capacidades que nem todo indivíduo consegue reunir, mas não é mais inteligente que o usuário e frequentemente toma decisões erradas se o usuário não a corrigir
  • A questão central, para começar, é quantos desses bugs surgiram em código escrito por LLMs. Criar 100 vezes mais bugs e corrigir 100 vezes mais não é motivo de orgulho

    • O Chrome é um projeto com mais de 20 anos, LLMs surgiram recentemente, e o surgimento de geradores de código com LLM não fez com que revisão de código e testes fossem relaxados. Como até uma issue de 13 anos foi mencionada, é bem possível que não tenha havido muito desenvolvimento recente nas áreas afetadas
      Como é um projeto open source, também é possível verificar diretamente se os bugs foram realmente criados por LLMs
    • Se cada vez mais a programação for entregue à IA, a capacidade humana de identificar bugs potenciais também pode diminuir. Ao usar IA novamente para inspecionar recursos escritos por IA antes do commit, nos aproximamos de um mundo em que nem mesmo o código que opera a infraestrutura é compreensível para humanos
    • Pelas estatísticas do Git, o número de linhas de código enviadas não mudou drasticamente. Nem todo mundo está mesclando código de IA de baixa qualidade sem alterações, e as grandes organizações existentes geralmente não fazem merge de resultados irresponsáveis de vibe coding
    • Se presumirmos que a IA consegue produzir código com menos bugs, então um aumento de 100 vezes nos bugs novos significaria que a velocidade de desenvolvimento de novos recursos ficou pelo menos 100 vezes maior. Se um modelo encontra um bug crítico de 13 anos, deveria ser capaz, com a mesma competência, de escrever código novo sem esse tipo de bug
    • Ignorar a história e o tamanho do projeto, inventar sem base um número de 100 vezes mais bugs e chamá-lo de questão central é irracional. Em temas de IA, vê-se com frequência excepcional uma tendência a forçar a construção de uma realidade
  • Fico curioso para saber se o Chrome também corrigiu os bugs de rastreamento comportamental que tentam rastrear usuários onde quer que estejam e façam o que fizerem