# Axios NPM Supply Chain Attack 2026
> [!danger] Campanha de cadeia de suprimentos crítica detectada em 28 de março de 2026. O pacote **axios** — um dos mais populares do ecossistema npm com mais de 60 milhões de downloads semanais — foi comprometido por meio de uma conta de mantenedor roubada, afetando as versões 1.14.1 e 0.30.4.
## Visão Geral
Em 28 de março de 2026, atacantes não identificados comprometeram uma conta de mantenedor legítimo do [[axios|axios]] no npm para públicar versões maliciosas da biblioteca — **axios 1.14.1** e **axios 0.30.4**. O ataque durou apenas **39 minutos** entre a públicação e a detecção, mas nesse intervalo qualquer projeto com dependências `^1.14.0` ou `^0.30.0` que executasse `npm install` poderia ter sido comprometido.
O vetor de entrega foi uma dependência maliciosa introduzida silenciosamente: `
[email protected]`, que não aparecia nos imports do código-fonte do axios e era ativada exclusivamente via script `postinstall`. Esse dropper instalava um RAT (Remote Access Trojan) com identificador de campanha `6202033` e depois se auto-destruía para dificultar análise forense.
**Relevância LATAM/Brasil:** O [[axios|axios]] é amplamente utilizado em projetos web e APIs no Brasil, especialmente em stacks Node.js e React usadas por fintechs, startups de [[technology|tecnologia]] e equipes de [[devops|DevOps]]. Qualquer organização brasileira com pipelines CI/CD que atualizaram dependências npm na janela de 39 minutos em questão deve assumir comprometimento e auditar os ambientes.
## Attack Flow
```mermaid
graph TB
A["Conta de mantenedor<br/>comprometida"] --> B["Publicacao axios 1.14.1<br/>e 0.30.4 maliciosos"]
B --> C["Dep. silenciosa:<br/>plain-crypto-js 4.2.1"]
C --> D["postinstall script<br/>executa dropper"]
D --> E["RAT instalado<br/>ID 6202033"]
E --> F["C2 sfrclak.com:8000<br/>142.11.206.73"]
F --> G["Auto-destruicao<br/>limpeza forense"]
classDef vermelho fill:#e74c3c,stroke:#c0392b,color:#fff
classDef laranja fill:#f39c12,stroke:#e67e22,color:#fff
classDef azul fill:#3498db,stroke:#2980b9,color:#fff
class A,B vermelho
class C,D,E laranja
class F,G azul
```
**Legenda:** Comprometimento de conta de mantenedor → públicação de versões maliciosas com dependência oculta → execução via postinstall hook → instalação de RAT que contata C2 → remoção de rastros para dificultar detecção forense.
## Linha do Tempo
| Data | Evento |
|------|--------|
| 2026-03-28 | Conta de mantenedor do axios comprometida — credenciais roubadas |
| 2026-03-28 | Publicação de `
[email protected]` e `
[email protected]` maliciosos no registry npm |
| 2026-03-28 | Detecção por pesquisadores de segurança após 39 minutos |
| 2026-03-28 | Versões maliciosas removidas do registry npm |
| 2026-03-28 | Axios pública versões limpas `1.14.2` e `0.30.5` |
| 2026-03-28 | Confirmação de auto-destruição do dropper após execução |
| 2026-03-29 | SANS ISC e Reddit públicam análise técnica com IOCs |
| 2026-03-31 | Múltiplas fontes confirmam o Campaign ID `6202033` e C2 |
## TTPs Utilizadas (Mapa ATT&CK)
| Tática | Técnica | ID | Observação na Campanha |
|--------|---------|-----|------------------------|
| Initial Access | Supply Chain Compromise: Software Dependencies | [[t1195-001-compromise-software-dependencies-and-development-tools\|T1195.001]] | Dependência maliciosa `
[email protected]` inserida no axios |
| Initial Access | Supply Chain Compromise: Software Supply Chain | [[t1195-002-supply-chain-compromise\|T1195.002]] | Conta de mantenedor comprometida usada para públicar versões maliciosas |
| Persistence | Valid Accounts | [[t1078-valid-accounts\|T1078]] | Credenciais de mantenedor legítimo usadas para autenticar no npm |
| Execution | PowerShell | [[t1059-001-powershell\|T1059.001]] | Arquivo `%TEMP%\6202033.ps1` executado via postinstall |
| Execution | Visual Basic | [[t1059-005-visual-basic\|T1059.005]] | Arquivo `%TEMP%\6202033.vbs` como dropper inicial |
| Persistence | Registry Run Keys / Startup Folder | [[t1547-001-registry-run-keys\|T1547.001]] | Persistência via `%PROGRAMDATA%\wt.exe` |
| Defense Evasion | File Deletion | [[t1070-file-deletion\|T1070.004]] | Self-destruct após execução — remoção do dropper para dificultar forense |
## Malware e Ferramentas
- **
[email protected]** — dependência maliciosa introduzida silenciosamente no axios; não aparece nos imports normais do código; acionada exclusivamente via hook `postinstall`
- **RAT dropper (Campaign ID 6202033)** — Remote Access Trojan instalado via script postinstall; contata C2 `hxxp://sfrclak[.]com:8000/` para receber comandos; se auto-destrói após execução
**Arquivos maliciosos observados:**
| Artefato | Tipo | Função |
|----------|------|--------|
| `%PROGRAMDATA%\wt.exe` | Executável | Payload RAT persistente |
| `%TEMP%\6202033.vbs` | VBScript | Dropper inicial — executa payload |
| `%TEMP%\6202033.ps1` | PowerShell | Script de instalação do RAT |
## Infraestrutura (IoCs)
> [!ioc]- IOCs — Axios Supply Chain 2026 (TLP:GREEN)
> **Domínio C2:**
> `sfrclak[.]com` — C2 principal, porta 8000
>
> **IP C2:**
> `142.11.206.73` — servidor C2 associado a `sfrclak[.]com`
>
> **URL C2:**
> `hxxp://sfrclak[.]com:8000/`
>
> **Artefatos no host:**
> `%PROGRAMDATA%\wt.exe` — RAT persistente
> `%TEMP%\6202033.vbs` — VBScript dropper
> `%TEMP%\6202033.ps1` — PowerShell dropper
>
> **Campaign ID:** `6202033`
>
> **Pacotes npm maliciosos:**
> `
[email protected]` — versão comprometida (removida do registry)
> `
[email protected]` — versão comprometida (removida do registry)
> `
[email protected]` — dependência maliciosa introduzida
>
> **Fontes:** SANS ISC, Reddit r/netsec, threads de pesquisadores de segurança
## Contexto: Falta de SLSA Attestations
Um fator crítico que facilitou este ataque foi a **ausência de SLSA (Supply-chain Levels for Software Artifacts) attestations** nas versões comprometidas. Enquanto versões legítimas recentes do axios passaram a incluir provenance attestations verificáveis, as versões 1.14.1 e 0.30.4 maliciosas foram públicadas sem nenhuma evidência de build verificável ligada ao repositório GitHub oficial.
Adicionalmente, **não foram criadas tags GitHub** correspondentes às versões maliciosas — outro sinal de alerta que, em teoria, poderia ser detectado por ferramentas de auditoria de supply chain que correlacionam tags de repositório com públicações no registry npm.
Projetos com versioning semântico `^1.14.0` ou `^0.30.0` no `package.json` foram automaticamente expostos ao receber a versão maliciosa durante instalações na janela de 39 minutos.
## Alvos e Impacto
**Setores potencialmente afetados:**
- **[[technology|Tecnologia]]** — startups, SaaS, APIs web usando axios em Node.js e frontend
- **[[financial|Financeiro]]** — fintechs com pipelines de CI/CD ativos durante a janela de compromisso
- **[[devops|DevOps]]** — qualquer equipe executando `npm install` com dependências automáticas
**Alcance estimado:** o axios tem mais de 60 milhões de downloads semanais, tornando qualquer janela de comprometimento de potencial impacto massivo — mesmo que a janela de 39 minutos seja relativamente curta, automações de CI/CD podem ter executado instalações durante esse período.
**Auto-destruição como complicador forense:** a remoção dos artefatos temporários após execução dificulta a detecção post-hoc, tornando difícil para equipes de segurança determinar se foram comprometidas sem monitoramento ativo de rede ou EDR.
## Resposta e Mitigação
**Ações já tomadas:**
- 2026-03-28: npm removeu as versões maliciosas `1.14.1` e `0.30.4` do registry
- 2026-03-28: Axios públicou versões limpas `1.14.2` e `0.30.5`
- 2026-03-28: npm revogou tokens do mantenedor comprometido
- 2026-03-29: SANS ISC públicou análise com IOCs
**Recomendações para organizações:**
1. **Auditar lock files:** verificar se `package-lock.json` ou `yarn.lock` congelou `
[email protected]` ou `
[email protected]`
2. **Buscar artefatos:** varrer hosts por `%PROGRAMDATA%\wt.exe`, `%TEMP%\6202033.vbs`, `%TEMP%\6202033.ps1`
3. **Monitorar tráfego:** verificar logs de rede para conexões a `sfrclak[.]com` ou `142.11.206.73`
4. **Atualizar imediatamente:** pinnar axios `>=1.14.2` ou `>=0.30.5` em todos os projetos
5. **Revisar postura SLSA:** adotar verificação de provenance attestations como controle preventivo
6. **Adotar `npm audit`:** executar regularmente e monitorar alertas de segurança do registry
## Referências
- [SANS ISC — Axios NPM Supply Chain](https://isc.sans.edu/) - 2026-03-29
- [Reddit r/netsec — Axios compromise threads](https://www.reddit.com/r/netsec/) - 2026-03-29
- [npm Security Advisories](https://www.npmjs.com/advisories) - 2026-03-28
## Notas Relacionadas
**TTPs chave:** [[t1195-001-compromise-software-dependencies-and-development-tools|T1195.001]] · [[t1195-002-supply-chain-compromise|T1195.002]] · [[t1078-valid-accounts|T1078]]
**Setores impactados:** [[technology|Tecnologia]] · [[financial|Financeiro]]
**Campanhas relacionadas:** [[trivy-supply-chain-attack|Trivy Supply Chain Attack]] · [[canisterworm-npm-campaign|CanisterWorm npm Campaign]]
**Atores relacionados:** [[teampcp|TeamPCP]] (contexto de supply chain npm similar)
**Temas:** [[supply-chain-security|Segurança de Cadeia de Suprimentos]] · [[npm-security|npm Security]]