
O pacote @openclaw-ai/openclawai abusava de gancho de instalação, interface falsa e prompt fraudulento do Keychain para coletar credenciais, carteiras, chaves SSH, dados de navegadores e informações protegidas por Full Disk Access.
| Componente | Pacote npm @openclaw-ai/openclawai, publicado pelo usuário openclaw-ai, disfarçado como instalador do OpenClaw. |
| Vetor | Execução de lógica maliciosa por gancho postinstall, seguida de exposição de binário via campo bin do package.json e carregamento de um segundo estágio JavaScript criptografado. |
| Impacto | Coleta de senha do sistema, Keychain do macOS, dados de navegadores, carteiras de criptomoedas, chaves SSH, histórico do iMessage, Apple Notes, configurações de Mail e credenciais de nuvem e desenvolvimento. |
| Prioridade | Remover o pacote de ambientes afetados, auditar instalações recentes, procurar execução de scripts/setup.js, revisar credenciais locais e rotacionar segredos que possam ter sido acessados. |
| Artefatos | A atividade é rastreada como GhostClaw, enquanto o malware se identifica internamente como GhostLoader. |
| IoCs | Infraestrutura C2 observada: trackpipe[.]dev; canais de exfiltração incluíam C2 direto, Telegram Bot API e GoFile[.]io. |
| Status | O pacote foi removido do registro npm em 10 de março de 2026; antes disso, havia sido carregado em 3 de março de 2026 e registrado 178 downloads. |
Um pacote malicioso publicado no npm sob o nome @openclaw-ai/openclawai foi usado como vetor de cadeia de suprimentos contra usuários de macOS, com aparência de instalador legítimo do OpenClaw. O pacote havia sido carregado no registro em 3 de março de 2026 pelo usuário openclaw-ai e acumulou 178 downloads antes da remoção em 10 de março de 2026. A operação combina engenharia social, execução automática durante instalação, entrega criptografada de segundo estágio, roubo amplo de dados e implantação de um trojan de acesso remoto persistente.
A cadeia é relevante para defesa porque explora expectativas normais de desenvolvedores ao instalar ferramentas por npm. O abuso ocorre antes mesmo de o usuário avaliar o comportamento completo do pacote: o gancho postinstall inicia a lógica maliciosa, enquanto o campo bin no package.json transforma o conteúdo em um comando disponível no ambiente. A partir desse ponto, o arquivo scripts/setup.js atua como dropper inicial, exibe uma interface de instalação falsa e induz a vítima a fornecer a senha do sistema por meio de um prompt fraudulento associado ao iCloud Keychain.
A primeira etapa usa o gancho postinstall para reinstalar o pacote globalmente, sem que seja necessário publicar um executável separado fora do ecossistema npm. Em seguida, o campo bin aponta para scripts/setup.js, permitindo que o suposto instalador seja chamado como uma ferramenta de linha de comando. O script mostra uma interface convincente, com barras de progresso animadas e mensagens de instalação, para reduzir suspeitas enquanto prepara a execução do malware.
Após a etapa visual, o instalador falso apresenta um pedido fraudulento de autorização do iCloud Keychain e solicita a senha do sistema. Essa senha é crítica no macOS porque pode permitir a descriptografia de bases do Keychain e de credenciais de navegadores que ficariam protegidas por controles do sistema operacional. Em paralelo, o script busca um segundo estágio JavaScript criptografado no domínio C2 defangado trackpipe[.]dev, decodifica o conteúdo, grava temporariamente o arquivo e o inicia como processo filho destacado para manter a execução em segundo plano. O arquivo temporário é removido após cerca de 60 segundos para reduzir vestígios óbvios no disco.
Quando o diretório do Safari não está acessível por falta de Full Disk Access, o fluxo passa a orientar a vítima, por meio de um diálogo AppleScript, a conceder FDA ao Terminal. Esse detalhe amplia o alcance da coleta porque dados como Apple Notes, histórico do iMessage, histórico do Safari, configurações de contas de Mail e informações de conta Apple podem depender desse nível de permissão. O segundo estágio tem cerca de 11.700 linhas de JavaScript e reúne funções de infostealer, persistência, comunicação C2, proxy SOCKS5, clonagem de sessão de navegador e execução remota de ações comandadas pelo operador.
Na etapa final de coleta, os dados obtidos são compactados em arquivo tar.gz e enviados por múltiplos caminhos: comunicação direta com o C2, Telegram Bot API e GoFile[.]io. A redundância de canais dificulta bloqueios baseados em um único destino. Além do roubo inicial, o malware entra em modo daemon persistente e monitora a área de transferência a cada três segundos, procurando padrões associados a chaves privadas, chaves WIF, chave privada SOL, chave RSA, endereços BTC, endereços Ethereum, chave AWS, chave OpenAI e chave Strike.
A superfície exposta abrange estáções macOS em que o pacote foi instalado, principalmente ambientes de desenvolvimento com acesso a repositórios, provedores de nuvem, carteiras, navegadores autenticados e dados pessoais locais. O impacto não se limita à conta npm usada para instalação: a coleta mira credenciais do sistema, bancos login.keychain-db, bases do iCloud Keychain, chaves SSH, carteiras de criptomoedas, perfis de navegadores e credenciais de AWS, Microsoft Azure, Google Cloud, Kubernetes, Docker e GitHub.
O risco aumenta quando o usuário concede Full Disk Access ao Terminal durante a interação fraudulenta. Nessa condição, o malware passa a alcançar áreas normalmente protegidas por controles do macOS, incluindo Apple Notes, iMessage, Safari, Mail e informações de conta Apple. Como o segundo estágio também oferece execução de comandos, abertura de URLs no navegador padrão, download de cargas adicionais, upload de arquivos, gerenciamento de proxy SOCKS5, clonagem de perfil de navegador em modo headless, atualização e autodestruição, a estáção comprometida pode permanecer sob controle remoto mesmo depois da coleta inicial.
- Estáções macOS que instalaram
@openclaw-ai/openclawaia partir do npm. - Ambientes onde o pacote foi executado com senha do sistema fornecida ao prompt falso.
- Hosts em que o Terminal recebeu Full Disk Access durante a suposta instalação.
- Contas e segredos locais relacionados a AWS, Azure, Google Cloud, Kubernetes, Docker, GitHub, SSH, navegadores e carteiras.
A investigação deve começar por inventário de pacotes npm instalados local e globalmente, histórico de instalação e presença de artefatos ligados ao nome @openclaw-ai/openclawai. A existência de scripts/setup.js, entradas de package.json usando bin para expor o instalador e execução recente de processos Node destacados são sinais importantes. Em endpoints macOS, a defesa deve correlacionar instalações npm com prompts anormais de Keychain, solicitações de senha fora de fluxos esperados e alterações de Full Disk Access concedidas ao Terminal.
Na camada de rede, a comunicação com o domínio C2 defangado trackpipe[.]dev, uso incomum de Telegram Bot API e tráfego para GoFile[.]io após instalação de pacote npm devem ser tratados como sinais de prioridade. Como o malware comprime dados em tar.gz antes de exfiltrar, transferências de arquivos compactados logo após execução de Node em diretórios temporários também merecem correlação. A telemetria de processos deve procurar criação de processo filho destacado por Node, remoção de arquivo temporário pouco depois da execução, atividade periódica compatível com monitoramento de clipboard e lançamento de navegador em modo headless associado a perfis clonados.
- Registro de instalação ou presença de
@openclaw-ai/openclawaiem cache npm, lockfiles, histórico de shell ou diretórios globais. - Execução de
scripts/setup.jse processos Node iniciados como filhos destacados. - Solicitações inesperadas de Keychain ou Full Disk Access durante instalação de ferramenta de desenvolvimento.
- Conexões para
trackpipe[.]dev, Telegram Bot API ou GoFile.io próximas ao evento de instalação. - Acesso anormal a
login.keychain-db, bases do iCloud Keychain, diretórios do Safari, Apple Notes, iMessage e Mail.
A resposta deve remover o pacote de qualquer ambiente onde ele tenha sido instalado, preservar artefatos para análise e isolar hosts com sinais de execução do segundo estágio. Como o pacote já foi removido do registro npm, a prioridade operacional é encontrar instalações anteriores, caches e pipelines que possam ter baixado a dependência antes da remoção. Em máquinas afetadas, a rotação de segredos deve considerar a amplitude da coleta: senha do usuário local, chaves SSH, tokens de nuvem, credenciais GitHub, segredos de Kubernetes, Docker, AWS, Azure, Google Cloud, chaves de carteiras e chaves de API potencialmente vistas no clipboard.
A contenção também deve revisar permissões de Full Disk Access concedidas recentemente, especialmente ao Terminal, e invalidar sessões de navegadores quando houver indício de clonagem de perfil ou extração de credenciais. Em ambientes de engenharia, políticas de instalação devem bloquear pacotes recém-criados ou com baixa reputação quando eles usam postinstall e expõem comandos via bin sem justificativa clara. Revisões de lockfiles e caches de CI/CD ajudam a identificar se a dependência entrou em builds, imagens ou ambientes efêmeros, mesmo quando não permanece instalada em estáções de trabalho.
Depois da remoção, valide a ausência de processos persistentes relacionados ao segundo estágio, monitore tráfego para os canais de exfiltração observados e acompanhe tentativas de uso de credenciais rotacionadas ou antigas. Como o malware oferece atualização e autodestruição, a falta de arquivo temporário não deve ser usada como evidência de limpeza. A confirmação precisa combinar inventário de pacote, histórico de execução, permissões macOS, telemetria de rede, acesso a dados protegidos e revisão de segredos que poderiam ter sido coletados.
- Remover
@openclaw-ai/openclawaide estáções, caches, imagens, pipelines e ambientes globais npm. - Isolar hosts com execução confirmada do instalador falso ou comunicação com C2.
- Rotacionar credenciais locais, chaves SSH, tokens de nuvem, segredos de repositórios e chaves de API expostas.
- Revisar Full Disk Access, permissões do Terminal e acessos recentes a Keychain, Safari, iMessage, Mail e Apple Notes.
- Bloquear ou exigir revisão para pacotes npm com
postinstalle baixa reputação antes de uso em ambientes de desenvolvimento.
0 Comentários