# Axios Supply Chain Attack 2026 > [!danger] Campanha de Supply Chain Ativa — npm Comprometido > Em 30-31 mar 2026, o pacote npm Axios (100M+ downloads/semana) foi comprometido via conta de mantenedor roubada. Versões 1.14.1 e 0.30.4 instalavam um RAT dropper multiplataforma com C2 ativo. npm removeu os pacotes maliciosos. ## Visão Geral Na madrugada de 31 de março de 2026, dois versões do pacote npm [[axios|Axios]] foram públicadas com código malicioso: `1.14.1` e `0.30.4`. A campanha explorou o comprometimento de uma conta de mantenedor com longa história no projeto, contornando completamente os controles de segurança do GitHub Actions (sem provenance SLSA, sem attestation OIDC). O Axios é um dos pacotes npm mais utilizados no ecossistema JavaScript, com estimativa de 100 milhões de downloads por semana e dependência direta ou transitiva em milhões de projetos. A janela de exposição foi de aproximadamente 6 a 12 horas antes de a npm remover os pacotes maliciosos. O ataque introduziu uma **dependência fantasma** chamada `[email protected]` — um pacote que não tem relação funcional com o Axios mas que age como um **dropper de RAT multiplataforma** via script `postinstall`. O RAT contata um servidor C2 para baixar payloads de segundo estágio específicos por plataforma (Windows, macOS, Linux), e então **apaga seus rastros** sobrescrevendo o `package.json` com uma versão limpa. O incidente expõe uma lacuna crítica na cadeia de confiança do ecossistema npm: atacantes com acesso a tokens de longa duração podem públicar versões maliciosas sem disparar alertas nos pipelines de CI/CD modernos. ## Linha do Tempo ```mermaid graph LR A["~18h antes<br/>Decoy limpo<br/>[email protected]"] --> B["30 mar 2026 ~23:00 UTC<br/>Conta npm comprometida<br/>Token de longa duração"] B --> C["30 mar ~23:30 UTC<br/>axios 1.14.1 publicado<br/>Dependência maliciosa injetada"] C --> D["30 mar ~23:39 UTC<br/>axios 0.30.4 publicado<br/>Branch 0.x também comprometida"] D --> E["31 mar ~04:00 UTC<br/>Pesquisadores detectam<br/>Reddit / GitHub alertas"] E --> F["31 mar ~08:00 UTC<br/>npm remove pacotes<br/>Janela: ~8 horas"] F --> G["31 mar<br/>Comunidade confirma IOCs<br/>C2 sfrclak.com desativado"] ``` ## Técnica de Ataque — Detalhes ### Vetor de Acesso Inicial O atacante comprometeu uma **conta npm com token de longa duração** de um mantenedor ativo do projeto Axios. Sinais de comprometimento: - Ausência de tag GitHub para as versões públicadas (1.14.1, 0.30.4) - SLSA provenance attestations presentes na 1.14.0, completamente ausentes nas versões maliciosas - Email do publisher alterado do endereço CI-vinculado para conta Proton Mail ### Payload: plain-crypto-js RAT Dropper O pacote `[email protected]` foi adicionado como dependência do Axios e executado automaticamente via script `postinstall` no momento do `npm install`. O dropper: 1. Detecta a plataforma (Windows/macOS/Linux) 2. Contata C2 em `sfrclak[.]com:8000` (IP: 142.11.206.73) 3. Baixa payload de segundo estágio específico por plataforma 4. **Apaga rastros:** sobrescreve `package.json` com versão limpa, eliminando evidências forenses 5. Executa o payload baixado com persistência no sistema ### IOCs Confirmados | Tipo | Indicador | Contexto | |------|-----------|---------| | Domínio C2 | `sfrclak[.]com` | Servidor de comando e controle | | IP C2 | `142.11.206.73` | Endereço do servidor C2 | | Porta C2 | `8000` | Porta não padrão | | Campaign ID | `6202033` | Identificador de campanha no C2 | | Arquivo Windows | `%PROGRAMDATA%\wt.exe` | Cópia maliciosa do PowerShell | | VBScript loader | `%TEMP%\6202033.vbs` | Loader transiente | | PS payload | `%TEMP%\6202033.ps1` | Payload PowerShell transiente | | Pacote npm | `[email protected]` | RAT dropper (removido) | | Pacote npm | `[email protected]` | Versão comprometida (removida) | | Pacote npm | `[email protected]` | Versão comprometida (removida) | ### Técnica de Staging — "Decoy Limpo" Aproximadamente 18 horas antes do ataque principal, o atacante públicou a versão `[email protected]` — uma versão limpa e sem funcionalidade maliciosa. Isso estabeleceu um histórico de atividade no registry npm, tornando a versão `4.2.1` menos suspeita para sistemas de detecção baseados em reputação de pacotes. ## Impacto A campanha afetou qualquer desenvolvedor ou pipeline de CI/CD que executou `npm install` com versões floating de Axios (`^1.14.0` ou `^0.30.0`) durante a janela de exposição (~8h). **Ambientes com maior risco:** - Aplicações Node.js com dependência direta em Axios - Pipelines de CI/CD (GitHub Actions, GitLab CI, Jenkins) sem lock files rigorosos - Ambientes de desenvolvimento onde `npm install` é executado automaticamente - Contêineres reconstruídos durante a janela (versão maliciosa pode ter sido cacheada) **Dados potencialmente exfiltrados:** - Credenciais de ambiente (variáveis de ambiente, `.env` files) - Tokens de CI/CD e cloud providers - Chaves de API presentes no ambiente de execução - Dados de aplicação processados pelo servidor comprometido ## Mitigação e Remediação **Ações imediatas:** 1. Rolar de volta para `[email protected]` (última versão limpa) 2. Verificar `package-lock.json` — confirmar ausência de `plain-crypto-js` 3. **Rotacionar TODAS as credenciais** presentes em ambientes que executaram `npm install` na janela 4. Auditoria de tokens: GitHub, AWS, GCP, Azure, Stripe, e qualquer provider com credenciais no ambiente 5. Escanear por presença dos artefatos maliciosos: `%PROGRAMDATA%\wt.exe`, `%TEMP%\6202033.*` 6. Bloquear C2: `sfrclak[.]com` e `142.11.206.73` no firewall **Recomendações estruturais:** - Adotar `npm ci` (respeita lock file estritamente) em vez de `npm install` em produção - Configurar `--exact` ou `--save-exact` para evitar versões flutuantes (`^`, `~`) - Implementar verificação de provenance SLSA para dependências críticas - Considerar `minimum-release-age` (ex: 7 dias) para novas versões de pacotes em produção - Monitorar alerts do Socket.dev, Snyk e similares para detecção de pacotes suspeitos ## LATAM / Brasil O Axios é universalmente adotado no ecossistema JavaScript brasileiro. O impacto desta campanha atinge: - **[[technology|Startups e fintechs]]** com pipelines de CI/CD intensivos — alta probabilidade de exposição durante a janela - **[[financial|Setor financeiro digital]]** — aplicações Node.js que processam transações e dados de clientes - **Desenvolvedores individuais** — aqueles que rodaram `npm install` localmente com versões afetadas A rotação de credenciais é crítica especialmente para ambientes com acesso a sistemas de pagamento, APIs bancárias (Open Finance Brasil) e dados sob [[lgpd|LGPD]]. ## Referências - [The Hacker News — Axios Supply Chain Attack](https://thehackernews.com/2026/03/axios-supply-chain-attack-pushes-cross.html) - [Reddit r/netsec — IOCs e análise detalhada](https://www.reddit.com/r/cybersecurity/comments/1s8f2ye/axios_supply_chain_attack_iocs_and_what_actually/) - [Reddit r/cybersecurity — Discussão](https://www.reddit.com/r/netsec/comments/1s8e9yk/axios_npm_package_compromised_in_supply_chain/) ## Notas Relacionadas **Malware:** [[plain-crypto-js-rat|plain-crypto-js RAT]] **TTPs:** [[t1195-supply-chain-compromise|T1195 - Supply Chain Compromise]] · [[t1059-command-and-scripting-interpreter|T1059 - Command and Scripting Interpreter]] **Setores:** [[technology|Tecnologia]] · [[financial|Financeiro]] **Contexto:** [[teamPCP|TeamPCP Supply Chain]] · [[t1078-valid-accounts|T1078 - Valid Accounts]]