A biblioteca Python Ultralytics, amplamente usada no desenvolvimento de inteligência artificial (IA), foi alvo de um sofisticado ataque à cadeia de suprimentos de software. Duas versões específicas, 8.3.41 e 8.3.42, foram alteradas para incluir um minerador de criptomoedas, afetando os usuários que fizeram sua instalação. Essas versões já foram removidas do Python Package Index (PyPI), e uma atualização subsequente trouxe correções de segurança para evitar novas brechas.
O mantenedor do projeto, Glenn Jocher, confirmou que o ataque foi realizado por meio da injeção de código malicioso no fluxo de trabalho de implantação. Relatos de aumento repentino no uso da CPU em sistemas que utilizavam a biblioteca chamaram a atenção para o problema. Investigadores descobriram uma discrepância entre o código publicado no PyPI e o disponível no repositório oficial do GitHub, indicando uma manipulação não autorizada no ambiente de compilação.
Como ataques à cadeia de suprimentos comprometem bibliotecas populares
Esse ataque envolveu a exploração de vulnerabilidades no script de ações do GitHub, conforme destacado por Karlo Zanki, da ReversingLabs. Ele explicou que o problema foi inicialmente reportado pelo pesquisador de segurança Adnan Khan em agosto de 2024. A falha permitiu que agentes mal-intencionados criassem solicitações de pull maliciosas e executassem cargas úteis em sistemas operacionais macOS e Linux.
O código malicioso implantado era um minerador XMRig, usado para mineração de criptomoedas. Embora o impacto imediato tenha sido limitado a essa funcionalidade, especialistas alertam que a mesma técnica poderia ser utilizada para introduzir malware mais grave, como backdoors ou trojans de acesso remoto (RATs).
Projetos dependentes da Ultralytics, como o ComfyUI, já adotaram medidas para proteger seus usuários, alertando-os caso estejam utilizando versões comprometidas. Para evitar riscos adicionais, é fortemente recomendada a atualização para a versão mais recente da biblioteca.
Esse incidente reforça a necessidade de vigilância constante e de práticas robustas de segurança na cadeia de suprimentos de software. Desenvolvedores e usuários devem estar atentos a sinais de comprometimento e adotar medidas preventivas para proteger seus ambientes.