Descoberta e escopo do ataque
Uma campanha sofisticada de comprometimento de cadeia de suprimentos de software foi identificada por pesquisadores da Socket.dev, focada em desenvolvedores que utilizam ferramentas e ecossistemas relacionados à Alibaba. A operação envolve a publicação de múltiplos pacotes maliciosos no registro npm, projetados para entregar um Remote Access Trojan (RAT) cross-platform. A investigação revelou que os atacantes utilizaram uma cadeia de dependências em camadas, onde pacotes isca copiavam nomes de pacotes privados sob o escopo ali da Alibaba. Quando um desenvolvedor instalava um desses pacotes falsificados, dependências adicionais forneciam o componente de download e processamento de regras, permitindo a execução de código malicioso no ambiente local.
Vetor de exploração e mecanismo de ataque
O ataque explora a confiança inerente nas dependências de software. Os pacotes maliciosos, como lib-mtop, aone-kit e local-config-parser, foram publicados através de diferentes contas de mantenedores para ocultar seu propósito compartilhado. A cadeia de dependências busca um arquivo de configuração em um repositório GitHub controlado pelo atacante, salvando-o localmente como .cloud-preferences.json. Um pacote chamado local-config-parser então avalia as regras dentro desse arquivo, permitindo que código oculto seja executado na máquina da vítima.
A técnica utiliza uma fuga conhecida da isolamento da máquina virtual do Node.js. O código malicioso acessa o processo host, recupera as funções de carregamento de módulos do Node e baixa outro payload de infraestrutura hospedada na Alibaba Cloud, provavelmente para fazer o tráfego malicioso parecer menos incomum. O próximo estágio perfila o host e seleciona um payload para macOS, Windows ou Linux.
Capacidades do malware e persistência
O payload final, aone-cli, é um RAT construído para sistemas conectados ao ecossistema de desenvolvimento interno da Alibaba. Ele pode executar comandos shell, fazer upload e download de arquivos, coletar detalhes do host, estagiar payloads adicionais e criar um proxy TCP reverso criptografado. O foco em ferramentas empresariais como DingTalk, Wukong e Qoder é particularmente preocupante. O malware pode alterar scripts Python em diretórios .skills de aplicativos para que um script oculto seja executado posteriormente, oferecendo uma rota para persistência e movimento lateral em ambientes de desenvolvedores.
Para persistência, o malware utiliza métodos específicos por sistema operacional: no macOS, adiciona persistência através de .zshrc e um Launch Agent; no Windows, substitui o arquivo app.asar do aplicativo de segurança Alilang; no Linux, executa um binário temporário em segundo plano.
Indicadores de comprometimento (IoCs)
Os pesquisadores identificaram diversos indicadores de comprometimento que devem ser monitorados:
- Pacotes maliciosos:
lib-mtop,aone-kit,aone-kit-cli,aone-sandbox,local-config-parser,smart-config-manager,cloud-config-fetcher,fast-transform-pipeline,aone-cloud-cli,colder-cli,def-open-client,feedback-ai-sdk,flight-compare-analyzer,lwp-web-client,lzd-unified-station-sdk,open-worker-cli,test-skill-zip,uniapi-bridge. - Contas GitHub:
smi1e2u. - Repositórios GitHub:
fast-transform-pipeline,smart-config-manager. - Domínios C2:
xemzqli2vu.ai-app.pub,diamond-cli-znsxphqell.cn-shanghai.fcapp.run. - URLs de Payload: Múltiplos endpoints em
oss-cn-beijing.aliyuncs.com. - Indicadores de Configuração:
INJECTMARKER, variável de ambienteROBOTUID=3201d407b7899a12d6d439950511c6a5.
Medidas de mitigação recomendadas
Equipes que instalaram qualquer um dos pacotes listados devem tratar o ambiente afetado como comprometido e iniciar a remediação a partir de um dispositivo limpo. Devem preservar evidências forenses sempre que possível, remover os pacotes, girar segredos de desenvolvimento e nuvem expostos e inspecionar arquivos Python para o valor INJECTMARKER. As equipes de segurança também devem identificar todas as estações de trabalho de desenvolvedores que instalaram as dependências afetadas, revisar atividades suspeitas no DingTalk e monitorar conexões para a infraestrutura de comando e controle listada.
Revisar solicitações que usam cabeçalhos Origin e Referer do DingTalk forjados pode ajudar a descobrir comunicações vinculadas a essa ameaça. Organizações podem reduzir a exposição semelhante revisando alterações de dependência antes da implantação e limitando permissões de instalação de pacotes em ambientes de build sensíveis.
O que os CISOs devem fazer imediatamente
1. Revise o lockfile: Verifique imediatamente os arquivos package-lock.json ou package.json em todos os repositórios de código para identificar a presença dos pacotes maliciosos listados.
2. Isolamento de rede: Implemente regras de firewall para bloquear os domínios C2 identificados e monitore tráfego de saída para os IPs associados.
3. Rotação de credenciais: Gire todas as credenciais de desenvolvimento, chaves de API e segredos de nuvem em ambientes onde os pacotes foram instalados.
4. Monitoramento de comportamento: Ative alertas para execução de comandos shell não autorizados, modificações em arquivos de configuração do sistema e conexões de rede incomuns em estações de trabalho de desenvolvedores.
Perguntas frequentes
Esta campanha afeta apenas desenvolvedores da Alibaba? Embora o foco pareça ser estreito, qualquer desenvolvedor que utilize ferramentas ou dependências relacionadas ao ecossistema da Alibaba pode estar em risco. A natureza da cadeia de suprimentos significa que a contaminação pode se espalhar para projetos downstream.
Como posso verificar se meu ambiente foi comprometido? Além da verificação dos pacotes listados, procure por arquivos .cloud-preferences.json não autorizados, processos desconhecidos iniciados pelo Node.js e alterações em arquivos de configuração do sistema operacional.
Devo desinstalar todos os pacotes npm? Não necessariamente todos, mas remova imediatamente os pacotes específicos listados nos IoCs e considere revisar todas as dependências recentes em seus projetos.