Um Bug Engraçado nas Extensões MV3 do Chrome

2025-07-13

A transição do Google Chrome do MV2 para o MV3 removeu a permissão webRequestBlocking, quebrando muitos bloqueadores de anúncios. No entanto, o autor descobriu um bug peculiar: devido ao uso de vinculações JavaScript nas APIs de extensão do Chrome, manipular parâmetros no construtor de eventos `chrome.webRequest` permitiu contornar as verificações de permissão e habilitar o bloqueio de anúncios. Embora esse bug não representasse um risco de segurança, ele destacou problemas potenciais ocultos em código legado e a possibilidade de alcançar resultados inesperados, explorando inteligentemente detalhes técnicos. O autor relatou o bug ao Google, e ele foi corrigido.

Leia mais
Desenvolvimento

Vulnerabilidade crítica no ChromeOS: Compressão total do sistema por meio de extensões do Chrome

2025-05-28

Um pesquisador de segurança descobriu uma vulnerabilidade crítica no gerenciador de arquivos do ChromeOS que permite que extensões maliciosas do Chrome obtenham controle total do sistema. Explorando uma URL filesystem:chrome://file-manager, a vulnerabilidade permite a leitura e gravação de arquivos de usuário e a execução de código arbitrário. A falha utiliza APIs JavaScript desatualizadas no ChromeOS e configurações incorretas de permissões de páginas chrome://. O atacante pode obter controle total do sistema, acessando dados do usuário, modificando as configurações do sistema e até mesmo executando código malicioso por meio do Crostini. Embora corrigida, a vulnerabilidade destaca o risco de escolhas de design de longa data em sistemas grandes e complexos como Chrome/ChromeOS.

Leia mais

Além de Zig e Rust: Uma Abordagem Mais Amigável para Metaprogramação

2025-05-26

Este artigo explora um novo design de linguagem de programação que combina os pontos fortes do sistema de tipos Hindley-Milner do Rust e as capacidades de tempo de compilação do Zig, evitando ao mesmo tempo as complexidades da abordagem 'tipos como valores' do Zig. Ao introduzir o operador `@` para execução em tempo de compilação, o tipo `Abstract` para abstrações em tempo de compilação, os tipos `TypeInfo` e `Field` para introspecção de tipos e as funções `Code` e `parse` para manipulação de código, este design alcança poderosas capacidades de metaprogramação, como geração automática de código e a implementação de tipos utilitários semelhantes ao TypeScript, como `Partial`, mantendo a legibilidade do código e a facilidade de raciocínio. Isso representa uma nova abordagem para alcançar metaprogramação poderosa enquanto preserva a facilidade de uso do sistema de tipos, oferecendo novas perspectivas para o design de linguagens futuras.

Leia mais
Desenvolvimento