
A popular biblioteca Axios, que regista mais de 80 milhões de transferências semanais, foi alvo de um ataque informático que comprometeu versões específicas do pacote NPM. A descoberta foi revelada por investigadores da StepSecurity, que alertaram para a injeção de código malicioso capaz de assumir o controlo dos sistemas de programadores que instalam as atualizações afetadas.
Falha de segurança e injeção de dependências
Os atacantes conseguiram acesso através do roubo de credenciais NPM pertencentes a um dos principais responsáveis pela manutenção do projeto. Após alterarem o endereço de correio eletrónico associado à conta para ifstap@proton.me, publicaram manualmente as versões comprometidas correspondentes ao axios@1.14.1 e axios@0.30.4. Este método permitiu contornar os processos normais de assinatura criptográfica e as verificações de segurança rotineiras do repositório.
Em vez de alterar o código base da biblioteca original, os piratas informáticos injetaram uma dependência falsa chamada plain-crypto-js@4.2.1. Esta adição executa um script no momento da instalação, atuando como um troiano de acesso remoto (RAT) que afeta máquinas com Windows, macOS e Linux. Para complicar a análise dos especialistas em cibersegurança, o código inclui técnicas de ofuscação que escondem comandos de sistema e caminhos de diretórios através de cifras descodificadas em tempo real. Após contactar o servidor de comando e controlo, o malware elimina os seus próprios rastos para evitar a deteção.
Passos de verificação e mitigação da ameaça
Para confirmar se um ambiente de desenvolvimento foi comprometido, os programadores devem executar no terminal os seguintes comandos de diagnóstico:
Procurar pelas versões afetadas no projeto:
npm list axios 2>/dev/null | grep -E "1\.14\.1|0\.30\.4"Verificar a existência da pasta da dependência oculta:
ls node_modules/plain-crypto-js 2>/dev/null && echo "POTENTIALLY AFFECTED"Pesquisar por artefactos do troiano nos sistemas:
ls -la /tmp/ld.py 2>/dev/null && echo "COMPROMISED"
Caso exista suspeita de infeção, é urgente reverter a biblioteca para a última versão segura conhecida: a versão 1.14.0 para os utilizadores da ramificação mais recente, ou a versão 0.30.3 para quem utiliza pacotes mais antigos. Para garantir que outras dependências não forçam a instalação das versões com falhas, deve ser adicionado um bloco de substituição (overrides) no ficheiro de configuração do projeto.
Adicionalmente, é vital remover a dependência falsa instalada, efetuar uma instalação limpa ignorando scripts automáticos e rodar imediatamente todas as credenciais de acesso, incluindo tokens NPM, chaves SSH, credenciais de acesso à nuvem e dados contidos em ficheiros de ambiente locais. Nas rotinas de integração contínua, recomenda-se a utilização de comandos que ignorem a execução de scripts pós-instalação para evitar arranques automáticos não desejados.












Nenhum comentário
Seja o primeiro!