Crates de Rust que aparentam utilitários de tempo e roubam segredos de suas pipelines

Publicada 5 min de lectura 93 leituras

Recentemente, a comunidade de segurança voltou a ligar os alarmes: foram detectados pacotes maliciosos escritos em Rust que chegavam acrates.iocom aspecto inocente e uma promessa simples: utilitários para sincronizar ou medir a hora local sem depender de NTP. No entanto, sob essa fachada, escondia-se um comportamento muito mais perigoso: extração de segredos dos ambientes de desenvolvimento — especialmente arquivos .env— e sua expedição a servidores controlados pelos atacantes.

A pesquisa, detalhada pela assinatura Socket, identifica cinco crates publicados entre finais de fevereiro e princípios de março de 2026 com nomes que imitavam utilitários de tempo, entre eles chrono_anchor, dnp3times, time_calibrator, time_calibrators e time-sync. Segundo analistas, todos compartilham uma mesma técnica de exfiltração e uma infraestrutura comum de recepção de dados que utiliza um domínio imitador de serviços legítimos de hora, o que aponta para a ação de um único ator malicioso. Você pode ler a análise técnica no blog de Socket: socket.dev.

Crates de Rust que aparentam utilitários de tempo e roubam segredos de suas pipelines
Imagem gerada com IA.

O que é particularmente perturbador deste caso é a seleção do objetivo: os arquivos .env são um alvo habitual porque costumam conter chaves de API, tokens de acesso e outras credenciais sensíveis que, se caem em mãos erradas, permitem escalar até serviços na nuvem, bases de dados ou até mesmo a publicação em registros e repositórios com permissões elevadas. Os pacotes maliciosos foram projetados para ler esses arquivos quando o código foi executado em ambientes de desenvolvimento ou em pipelines de integração contínua, e transmitir seu conteúdo à infraestrutura do atacante.

Entre os pacotes detectados, chrono_anchor Destacava-se por sua tentativa explícita de camuflar a funcionalidade maliciosa: a lógica de extração encontrava-se em um arquivo chamado guard.rs e invocava-se de uma função auxiliar opcional, reduzindo a probabilidade de um desenvolvedor desconfiar. Além disso, em vez de tentar manter persistência por serviços ou tarefas agendadas no sistema, a estratégia aqui consistia em repetir a exfiltração sempre que o crate fosse executado em um fluxo de CI, multiplicando assim o impacto se o pacote se integrava em uma pipeline automatizada.

A recomendação imediata, que já colocou sobre a mesa tanto Socket como outras assinaturas, é assumir a pior hipótese para qualquer equipe que tenha podido baixar ou integrar esses pacotes: rotação de chaves e tokens, auditoria exaustiva dos trabalhos de CI/CD que tenham permissões de publicação ou implantação, e redução da capacidade de saída para rede desde os runners onde são executados os pipelines. Socket resume bem a lição: controles que bloqueiem dependências maliciosas antes de serem executados são muito mais eficazes do que tentar conter a fuga uma vez que começou.

Este incidente não chega isolado. Em paralelo, vimos campanhas automatizadas que atacam diretamente as pipelines do GitHub Actions com bots impulsionados por inteligência artificial. Um exemplo documentado por StepSecurity descreve como um agente automatizado, autodenominado hackerbot-claw, inspeccionou repositórios públicos para buscar fluxos de trabalho mal configurados, criou forks e solicitou pull requests aparentemente inocuas para forçar a execução de workflows e assim capturar segredos presentes nos runners. O relatório de StepSecurity explica detalhadamente este modus operandi e como o uso de fluxos como pull_request_target pode ser aproveitado por atacantes: stepsecurity.io.

Um dos casos mais mediáticos recentes envolveu a ferramenta Trivy de Aqua Security, onde um workflow explorado permitiu ao atacante publicar uma versão maliciosa da extensão do Visual Studio Code no registro Open VSX. Essa extensão incluía instruções para executar assistentes de código AI de forma muito permissiva e reunir informações do sistema, que depois era canalizada para um repositório usando as credenciais de quem tinha executado o fluxo. Aqua Security publicou detalhes e mitigações em seu fórum oficial, enquanto Socket investigou e publicou suas próprias conclusões sobre a execução não autorizada de agentes AI: declaração do Aqua e Análise de Socket.

Crates de Rust que aparentam utilitários de tempo e roubam segredos de suas pipelines
Imagem gerada com IA.

Estes incidentes representam uma lição clara para desenvolvedores e equipamentos de segurança: a cadeia de fornecimento de software é uma superfície crítica e cada dependência, por pequena que pareça, pode se tornar um vetor de ataque. Além das ações reativas —eliminação das dependências afetadas e rotação de credenciais — é imprescindível adotar medidas preventivas em duas frentes: controle de dependências e endurecimento de pipelines. Ferramentas como RustSec e cargo-audit ajudam a identificar pacotes vulneráveis ou comprometidos em projetos Rust, e os guias de segurança do GitHub sobre Actions oferecem práticas para reduzir o risco de execução de código não confiável em runners: Security hardening for GitHub Actions. É recomendável também rever as políticas de acesso a Tokens, evitar usar credenciais com permissões de escrita em workflows disparados por pull requests de contribuições externas, e estabelecer barreiras de saída à rede a partir de runners quando possível.

Se o seu projeto pudesse ter consumido algum desses crates, o prudente é supor que houve exposição: elimina as dependências afetadas, revoga e substitui chaves e tokens que puderam ter sido utilizados pelas pipelines, inspecionou os repositórios locais e remotos em busca de atividade inesperada e revisa as permissões nos fluxos de CI. A comunidade e as plataformas têm sido rápidas em apagar os pacotes maliciosos dos registros, mas isso não elimina o risco se já foram baixados e executados.

Em última análise, estes incidentes mostram que mesmo código de baixa complexidade pode causar danos significativos se for executado no local e no momento adequado. Proteger a cadeia de suprimentos e privilegiar a detecção precoce de dependências maliciosas são ações que já não podem ser deixadas para depois. Manter práticas de segurança no desenvolvimento e na pipelines tornou-se uma necessidade operacional, não numa opção.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.