Hackers envenenam crate Rust para espalhar malware infostealer
21 de Agosto de 2026

Hackers comprometeram a conta do mantenedor do popular crate arrayref, em Rust, para introduzir malware que era executado nos sistemas de desenvolvedores durante a compilação.

Em uma janela de 23 minutos, o invasor também contaminou outros dois crates, append-only-vec e internment, no mesmo ataque à cadeia de suprimentos.

O crate arrayref é uma biblioteca popular em Rust, com mais de 53 milhões de downloads nos últimos 90 dias, usada por ferramentas de criptografia, gráficos e blockchain.

Um relatório da empresa de segurança de aplicações StepSecurity informa que as versões maliciosas publicadas foram arrayref 0.3.10, append-only-vec 0.1.9 e internment 0.8.7, todas mantidas pela mesma conta.

O hacker inseriu uma dependência de um pacote chamado proc-macro1, um typoquatting que imitava o popular crate proc-macro2, enquanto mantinha o restante do código-fonte original inalterado.

Segundo os pesquisadores, um script dentro de proc-macro1, chamado build.rs, é executado automaticamente durante a compilação, recompõe sua infraestrutura a partir de fragmentos codificados em base64 e seleciona um payload compatível com o sistema operacional da máquina, incluindo Linux x86-64, Windows x86-64, macOS x86-64 e macOS ARM64.

A StepSecurity afirma que o invasor também publicou várias versões de quatro crates próprios, aovine, arone, aronenao e tinymember, que já foram removidos do crates.io.

Em sistemas Unix, o malware grava o arquivo em /tmp/rust-setup, marca-o como executável e o inicia como um processo desvinculado.

No Windows, ele cria %TEMP%\rust-setup.ps1 e usa um wscript.exe oculto, além de um inicializador VBS, para manter o processo em execução.

O payload recebe um endereço como argumento, que os pesquisadores acreditam ser um endereço de command and control.

De acordo com uma análise da empresa de segurança em nuvem Wiz, os recursos da segunda etapa incluem a exfiltração de informações do host e credenciais.

Os pesquisadores dizem que o malware coleta credenciais dos navegadores Google Chrome, Brave e Edge ao consultar bancos de dados SQLite de login.

A persistência é estabelecida por meio da chave Run do Registro no Windows, do LaunchAgent no macOS e do systemd no Linux.

O impacto potencial desse ataque à cadeia de suprimentos é significativo, já que o arrayref sozinho soma mais de 245 milhões de downloads ao longo de sua vida útil, enquanto o total combinado de append-only-vec e internment se aproxima de 19 milhões de instalações.

Entre os projetos que usam arrayref estão o blake3, frameworks de interface gráfica em Rust como egui, eframe e iced, além de componentes usados em Ethereum e Solana.

O ataque começou às 01h17 UTC de 20 de agosto, quando foi criada uma conta no GitHub se passando pelo conhecido desenvolvedor de Rust David Tolnay, seguida por uma conta semelhante no registro crates.io.

Às 01h55, o invasor publicou [email protected], uma cópia benigna de proc-macro2, seguida por uma atualização maliciosa na versão 1.0.107, publicada às 7h11.

Às 7h15, o arrayref 0.3.10 foi publicado pela conta legítima droundy, de David Roundy, enquanto as versões 0.3.5 a 0.3.9 foram removidas, possivelmente para forçar a instalação da versão maliciosa.

O incidente foi reportado às 7h54. O crates.io excluiu o proc-macro1 às 8h03 e removeu o arrayref 0.3.10 do índice às 8h41.

As empresas de cibersegurança StepSecurity, SafeDep e Aikido publicaram análises técnicas do ataque à cadeia de suprimentos e compartilharam indicadores de comprometimento.

Pesquisadores da Wiz observam que “a infraestrutura da campanha se sobrepõe a ataques recentes à cadeia de suprimentos atribuídos à Coreia do Norte, incluindo Mastra e axios”.

Desenvolvedores que instalaram qualquer um dos pacotes durante a janela de exposição de quase 1 hora e meia devem presumir comprometimento.

As verificações recomendadas incluem pesquisar arquivos Cargo.lock, procurar pelos arquivos deixados pelo malware e revisar o tráfego para 23.254.165[.]112 nas portas 9089 e 443.

Nos casos em que o comprometimento for confirmado, recomenda-se rotacionar todas as credenciais acessíveis, tokens de CI, chaves de assinatura e outros segredos, além de reconstruir o ambiente a partir de backups seguros.

Projetos limpos devem fixar uma versão conhecida e segura das dependências afetadas até que a situação do mantenedor seja esclarecida e resolvida.

Publicidade

Anuncie no CaveiraTech e coloque sua marca na frente de milhares de profissionais de cybersecurity

Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...