
O pacote mouse5212-super-formatter executava coleta no pós-instalação, buscava tokens do GitHub no ambiente e enviava arquivos de /mnt/user-data para uma conta controlada pelo operador.
| Componente | Pacote npm mouse5212-super-formatter, com rotina maliciosa associada ao diretório /mnt/user-data usado pelo Claude para uploads e saídas em segundo plano. |
| Vetor | Execução durante o estágio postinstall, com autenticação no GitHub por token presente no ambiente da vítima ou por token embutido como alternativa. |
| Impacto | Upload recursivo de arquivos locais para uma árvore remota em uma conta do GitHub controlada pelo operador, com sessões separadas por pastas de nomes aleatórios. |
| Prioridade | Remover o pacote, auditar instalações npm recentes, revisar tokens do GitHub expostos em variáveis de ambiente e investigar acessos a /mnt/user-data. |
| Artefatos | O pacote foi associado ao codinome Malware-Slop, permanecia disponível para download no npm e tinha estimativa de 676 downloads no momento descrito. |
| Limite conhecido | A quantidade de downloads não confirma a quantidade de instalações reais, e a conta do GitHub vinculada à operação já não estava disponível. |
Um pacote malicioso publicado no registro npm foi identificado com comportamento de roubo de arquivos voltado a ambientes que usam o Claude. O pacote, chamado mouse5212-super-formatter, não se limita a uma função de formatação: ele executa lógica durante a instalação e tenta coletar arquivos de /mnt/user-data, diretório usado pela ferramenta de inteligência artificial da Anthropic para manipular uploads e resultados em segundo plano. Esse detalhe torna o caso sensível para estáções de desenvolvimento, ambientes de experimentação com IA e fluxos nos quais documentos, artefatos de análise ou saídas de trabalho ficam temporariamente armazenados nesse caminho.
A operação foi codinomeada Malware-Slop e apresenta um padrão típico de abuso de cadeia de suprimentos em ecossistemas de pacotes: um componente aparentemente utilitário é instalado por npm, ganha execução automática em um ponto de ciclo de vida do pacote e usa a própria infraestrutura legítima do GitHub como destino de sincronização. O comportamento declarado pelo script tenta simular uma ferramenta interna de sincronização ou implantação de arquivo, mas a rotina efetiva envolve autenticação, criação ou validação de repositório remoto e envio recursivo de dados locais para uma conta controlada pelo operador.
O pacote ainda estava disponível para download no npm e tinha estimativa de 676 downloads. Esse número deve ser tratado com cautela operacional, porque downloads não equivalem necessariamente a instalações concluídas ou execuções bem-sucedidas do script malicioso. Ainda assim, a presença pública do pacote e o uso de postinstall justificam investigação imediata em ambientes que fizeram testes com dependências npm recentes, especialmente quando o host também processa arquivos do Claude ou mantém tokens do GitHub em variáveis de ambiente.
A cadeia começa no momento em que o pacote é instalado e seu estágio postinstall é acionado. Essa fase é particularmente relevante em ataques contra npm porque permite execução automática de lógica definida pelo mantenedor do pacote durante a instalação. No caso descrito, o script se apresenta como utilitário de sincronização de arquivo, valida ou inicializa um repositório GitHub e coleta um suposto estado leve de rede. Esse revestimento operacional cria uma narrativa de diagnóstico ou implantação, mas a função real é preparar a transferência remota de dados do espaço local.
A autenticação no GitHub é feita por duas rotas. Primeiro, o código tenta usar um token de acesso encontrado no ambiente da vítima, o que coloca em risco estáções de desenvolvimento, runners, contêineres e shells onde credenciais foram exportadas para automação legítima. Caso esse token não esteja disponível, o pacote usa um token embutido como alternativa. Depois de autenticado, o script verifica a existência de um repositório alvo; se ele não existir, a rotina tenta criá-lo. Em seguida, realiza upload recursivo dos arquivos para uma estrutura de rastreamento remoto.
Os arquivos desviados são armazenados em pastas com nomes aleatórios, uma escolha que permite separar sessões de coleta sem depender de identificação explícita do host no texto do caminho. O pacote também grava um log falso de conexões de rede para sustentar a aparência de coleta diagnóstica. Para defesa, esse ponto é importante: artefatos locais que parecem telemetria de conectividade podem ser apenas ruído fabricado para encobrir cópia de arquivos. A investigação precisa correlacionar criação de arquivos, chamadas do npm, acesso ao diretório /mnt/user-data e atividade de API do GitHub em uma mesma janela temporal.
A superfície principal combina três elementos: o ecossistema npm, credenciais do GitHub disponíveis no ambiente e arquivos manipulados pelo Claude em /mnt/user-data. O risco é maior em hosts onde desenvolvedores instalam pacotes sem bloqueio por lockfile, executam testes em diretórios com dados sensíveis ou mantêm tokens de repositório em variáveis persistentes. Como o pacote busca arquivos de um caminho específico associado a uploads e saídas da ferramenta de IA, documentos de trabalho, artefatos gerados, anexos temporários e arquivos usados em prompts podem ser expostos se estiverem presentes no momento da execução.
O caso também afeta pipelines e ambientes efêmeros quando a instalação npm ocorre com permissões de rede e credenciais disponíveis. Mesmo que a conta do GitHub vinculada à operação não esteja mais disponível, a presença do pacote no registro e a lógica de fallback por token embutido mostram que a defesa não deve depender apenas da remoção da infraestrutura remota observada. O controle efetivo passa por impedir execução automática não revisada, restringir escopo de tokens, auditar dependências instaladas e confirmar se houve leitura ou sincronização de arquivos locais.
- Instalações que incluíram
mouse5212-super-formattera partir do registro npm. - Hosts com Claude usando
/mnt/user-datapara uploads ou saídas em segundo plano. - Ambientes com token do GitHub disponível em variáveis de ambiente durante a instalação.
- Pipelines, contêineres ou estáções de desenvolvimento com permissão de saída para APIs do GitHub.
A busca deve começar por inventário de pacotes instalados e registros de instalação npm. Equipes devem verificar lockfiles, caches locais, histórico de jobs e artefatos de build em busca de mouse5212-super-formatter. A presença do pacote é o sinal mais direto; a ausência no projeto principal não exclui exposição se a instalação ocorreu em ambiente temporário, diretório de teste ou automação fora do repositório versionado. Como o comportamento é executado em postinstall, logs de instalação e processos filhos criados durante npm são mais úteis do que apenas análise estática do código da aplicação.
No endpoint, a telemetria deve procurar leitura recursiva de /mnt/user-data, criação de arquivos com aparência de log de rede e conexões para serviços do GitHub logo após a instalação de pacote. Em identidade e segredo, o foco é identificar tokens do GitHub carregados no ambiente no momento da execução, uso anormal desses tokens e criação de repositórios ou árvores remotas fora do padrão esperado. O operador usava pastas aleatórias para separar sessões, portanto nomes de diretório sem significado de projeto em repositórios recém-criados podem ser sinal de coleta, desde que correlacionados com o restante da cadeia.
A conta do GitHub associada já não estava disponível, e isso limita a análise retrospectiva de destino. Mesmo assim, a detecção não depende exclusivamente dessa conta: a sequência npm postinstall, autenticação GitHub, criação ou validação de repositório, upload recursivo e acesso ao diretório do Claude forma um encadeamento comportamental suficientemente específico para hunting em EDR, proxy, logs de shell e trilhas de auditoria de GitHub.
- Referências a
mouse5212-super-formatterem lockfiles, cache npm, histórico de instalação ou artefatos de pipeline. - Execução de
postinstallseguida por acesso recursivo a/mnt/user-data. - Chamadas ao GitHub durante ou logo após instalação npm sem relação com o fluxo normal do projeto.
- Uso inesperado de token do GitHub exportado no ambiente da estáção, contêiner ou runner.
- Criação de repositório ou envio de muitos arquivos para pastas com nomes aleatórios.
A resposta deve priorizar contenção do pacote e proteção de credenciais. Ambientes que instalaram mouse5212-super-formatter devem remover a dependência, preservar logs relevantes para análise e considerar comprometidos os tokens do GitHub presentes no ambiente durante a janela de instalação. A rotação deve incluir tokens pessoais, tokens usados por automação e credenciais com permissão de criação ou escrita em repositórios. A revisão também precisa verificar se houve repositórios criados sem autorização ou commits, árvores e uploads incompatíveis com o fluxo normal da organização.
Em engenharia, o controle preventivo mais importante é reduzir a execução automática e o alcance de segredos durante instalação de dependências. Pacotes novos ou pouco conhecidos devem passar por revisão antes de entrar em projetos, e pipelines devem evitar disponibilizar tokens amplos em etapas de instalação. Lockfiles, mirrors internos, allowlists e varredura de scripts de ciclo de vida ajudam a reduzir a exposição. Para ambientes que usam ferramentas de IA com diretórios de trabalho temporários, é recomendável separar dados sensíveis, limitar permissões de leitura e limpar artefatos após o uso quando a retenção não for necessária.
Depois da remoção, a validação deve confirmar ausência do pacote em projetos, caches e imagens de build. Também é necessário revisar logs de acesso a /mnt/user-data, saídas para GitHub e qualquer artefato que simule diagnóstico de rede. Se houver evidência de upload, o escopo do incidente deve ser definido pelos tipos de arquivo presentes no diretório no momento da instalação, pelas permissões do token usado e pelos repositórios remotos que receberam conteúdo. A investigação deve manter foco documental e defensivo, sem reproduzir a rotina maliciosa.
- Remover
mouse5212-super-formatterde dependências, caches, imagens e ambientes temporários. - Rotacionar tokens do GitHub que estavam disponíveis no ambiente durante a instalação.
- Revisar repositórios, árvores remotas e uploads criados na janela do evento.
- Bloquear ou revisar scripts
postinstallde pacotes não aprovados em pipelines. - Isolar dados sensíveis usados por ferramentas de IA de diretórios acessíveis por dependências de projeto.
0 Comentários