Five Malicious Rust Crates and AI Bot Exploit CI/CD Pipelines to Steal Developer Secrets
Investigadores de segurança cibernética descobriram cinco crates maliciosos de Rust que se disfarçam de utilitários relacionados ao tempo para transmitir dados de arquivos .env para os agentes de ameaças. Os pacotes Rust, publicados no crates.io, foram listados abaixo e foram publicados entre o final de fevereiro e o início de março.
Descoberta e escopo
Os crates identificados são:
- chrono_anchor
- dnp3times
- time_calibrator
- time_calibrators
- time-sync
De acordo com a Socket, os crates, por meio de um bot de IA, se passam por timeapi.io. A descoberta representa uma ameaça significativa para o ecossistema de desenvolvimento Rust, onde a confiança nas bibliotecas de terceiros é fundamental para a integridade do código.
Vetor e exploração
A técnica explorada envolve a injeção de código malicioso em bibliotecas que parecem legítimas e necessárias para o funcionamento de aplicações. Ao se passarem por utilitários de tempo, os crates maliciosos conseguem contornar revisões de código e auditorias de segurança iniciais.
Uma vez instalados em um ambiente de desenvolvimento ou pipeline de CI/CD, os crates maliciosos têm a capacidade de acessar e transmitir arquivos de configuração sensíveis, como os arquivos .env, que frequentemente contêm chaves de API, credenciais de banco de dados e outros segredos de desenvolvedores.
Impacto e alcance
O comprometimento de pipelines de CI/CD é particularmente preocupante, pois pode levar à contaminação de builds de produção. Se um crate malicioso for incorporado em um projeto, ele pode exfiltrar dados sensíveis de múltiplos repositórios e ambientes de desenvolvimento.
A natureza distribuída do ecossistema Rust e a dependência de bibliotecas de terceiros aumentam o risco de propagação. Desenvolvedores que utilizam crates não verificados ou que não monitoram suas dependências podem estar involuntariamente comprometendo seus sistemas.
Recomendações de mitigação
Para mitigar o risco, os desenvolvedores e equipes de segurança devem:
- Verificar Dependências: Auditar regularmente as dependências do projeto em crates.io, verificando a reputação e a atividade recente dos mantenedores.
- Monitorar Tráfego de Rede: Implementar monitoramento de rede para detectar comunicações suspeitas de processos de build ou desenvolvimento.
- Isolar Ambientes: Garantir que os ambientes de CI/CD sejam isolados e que as credenciais não sejam armazenadas em locais acessíveis a bibliotecas de terceiros.
A descoberta destaca a importância da vigilância contínua no ecossistema de software de código aberto e a necessidade de práticas de segurança robustas para proteger segredos de desenvolvimento.