Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Package-Inferno — समुदाय के लिए एक सार्वजनिक पैकेज स्कैनर | Kitploit
उपकरण/GitHubGitHub/mhaggis/package-inferno
स्थैतिक विश्लेषणभेद्यता स्कैनरकंटेनर सुरक्षामालवेयर विश्लेषणक्लाउड सुरक्षाDevSecOpsसीक्रेट डिटेक्शनखतरा खुफियाआपूर्ति श्रृंखला सुरक्षा
GitHubmhaggis/package-inferno

Package-Inferno

समुदाय के लिए एक सार्वजनिक पैकेज स्कैनर

133158 महीने पहलेअभी तक समीक्षित नहीं
रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

PackageInferno

PackageInferno Logo

बेहद सरल, Docker‑प्रथम npm आपूर्ति‑श्रृंखला स्कैनर। एक compose फ़ाइल चलाती है:

  • Enumerator → पैकेजों की कतार बनाता है
  • Fetcher → tarballs डाउनलोड करता है (और वैकल्पिक रूप से S3 पर अपलोड करता है)
  • Analyzer → स्थैतिक विश्लेषण + वैकल्पिक YARA
  • Postgres → findings के लिए स्थानीय DB
  • Streamlit Dashboard → findings को http://localhost:8501 पर विज़ुअलाइज़ करें

यह केवल कंटेनर संस्करण है। प्रोजेक्ट को EC2, SQS और RDS का उपयोग करके स्केल करने के लिए बनाया जा सकता है। अधिकांश सेटअप टूलसेट में इसके लिए तैयार है।


आपको क्या मिलता है

  • Docker में एंड‑टू‑एंड पाइपलाइन (Docker के अलावा कोई होस्ट इंस्टॉल नहीं)
  • scan.yml के माध्यम से कॉन्फ़िगरेबल नियम (अनुमति सूची, सीमाएँ, YARA)
  • स्थानीय Postgres स्कीमा + स्कैन इतिहास (scan_runs) उपयोग के लिए तैयार
  • tarballs और findings के लिए वैकल्पिक S3 अपलोड (~/.aws के माध्यम से क्रेडेंशियल)
  • Streamlit डैशबोर्ड: खोज, ड्रिल‑डाउन और विश्लेषिकी

सामग्री

  • docker-compose.yml – सेवाएँ: db, enumerator, fetcher, analyzer, dashboard, init-db
  • enumerator/ – Node वर्कर जो NDJSON कतार बनाता है
  • fetcher/ – Node वर्कर जो tarballs डाउनलोड करता है (+ S3 पर अपलोड करता है यदि सक्षम हो)
  • analyzer/ – Python स्थैतिक विश्लेषक (+ वैकल्पिक इनलाइन YARA)
  • dashboard/ – Streamlit ऐप (पोर्ट 8501)
  • infra/migrations.sql – मुख्य DB स्कीमा (पैकेज, संस्करण, findings, स्कोर, इंडेक्स)
  • infra/20251106_scan_runs.sql – स्कैन इतिहास तालिका
  • scan.yml – विश्लेषण कॉन्फ़िगरेशन (नियम, स्कोरिंग, अनुमति सूची, YARA)
  • scripts/run_pipeline.sh – enumerate → fetch → analyze चलाएँ
  • scripts/init_db.sh – DB स्कीमा बूटस्ट्रैप करें
  • scripts/test_setup.sh – स्वचालित सेटअप सत्यापन
  • SCANNING_GUIDE.md – विस्तृत स्कैनिंग रणनीतियाँ और उदाहरण

त्वरित आरंभ (स्थानीय)

पूर्वापेक्षाएँ: Compose v2 के साथ Docker Desktop (या इंजन)।

एक-पंक्ति स्थापना

curl -fsSL https://raw.githubusercontent.com/MHaggis/Package-Inferno/main/install.sh | bash

यह रिपो को ~/package-inferno में क्लोन करता है और आरंभ करने के लिए निर्देश देता है।

विकल्प A: पूर्व-निर्मित इमेज का उपयोग करें (सबसे तेज़)

GitHub Container Registry से पूर्व-निर्मित कंटेनर खींचें और चलाएँ:

# कॉन्फ़िग फ़ाइलों और स्क्रिप्ट के लिए रिपो क्लोन करें
git clone https://github.com/MHaggis/Package-Inferno.git
cd Package-Inferno

# पूर्व-निर्मित इमेज के साथ चलाएँ
docker compose -f docker-compose.ghcr.yml up -d db
./scripts/init_db.sh
SEEDS="lodash,express" docker compose -f docker-compose.ghcr.yml run --rm enumerator
docker compose -f docker-compose.ghcr.yml run --rm fetcher
docker compose -f docker-compose.ghcr.yml run --rm analyzer

उपलब्ध इमेज:

  • ghcr.io/mhaggis/package-inferno/enumerator:main
  • ghcr.io/mhaggis/package-inferno/fetcher:main
  • ghcr.io/mhaggis/package-inferno/analyzer:main

विकल्प B: स्रोत से बनाएँ

स्वचालित सेटअप सत्यापन

अपनी स्थापना को मान्य करने के लिए परीक्षण स्क्रिप्ट चलाएँ:

./scripts/test_setup.sh

यह:

  • ✓ Docker और Docker Compose की जाँच करेगा
  • ✓ डेटाबेस शुरू और प्रारंभ करेगा
  • ✓ एक परीक्षण स्कैन (2 पैकेज) चलाएगा
  • ✓ findings सही ढंग से संगृहीत हैं, इसकी पुष्टि करेगा

मैन्युअल सेटअप

  1. Postgres शुरू करें और स्कीमा प्रारंभ करें:
docker compose up -d db
./scripts/init_db.sh
  1. पाइपलाइन चलाएँ:
./scripts/run_pipeline.sh
  1. डैशबोर्ड लॉन्च करें:
docker compose up -d dashboard
# http://localhost:8501 खोलें

findings ./out/findings/*.findings.json में और findings तालिका में (जब DB सक्षम हो) संग्रहीत होती हैं।


स्कैनिंग मोड

PackageInferno आपके लक्ष्यों के आधार पर कई स्कैनिंग रणनीतियों का समर्थन करता है:

मोडउपयोग मामलागतिकवरेजकमांड
विशिष्ट सीड्स (बीज)ज्ञात पैकेजों का परीक्षण/जांचसबसे तेज़लक्षितSEEDS="pkg1,pkg2"
छोटा बैचसेटअप मान्य करें, नमूना स्कैनतेज़10-100 पैकेजMAX_CHUNKS=2 CHUNK_LIMIT=10
पूर्ण रजिस्ट्रीव्यापक आपूर्ति श्रृंखला ऑडिटघंटे-दिन2M+ पैकेजMAX_CHUNKS=0 CHUNK_LIMIT=100
परिवर्तन फ़ीडनए रिलीज़ की निगरानी (स्वचालित रूप से शामिल)रीयल-टाइमहालिया अपडेटअंतर्निहित

1. विशिष्ट पैकेज स्कैन करें (परीक्षण के लिए अनुशंसित)

उन पैकेजों को लक्षित करें जिनका आप विश्लेषण करना चाहते हैं:

# सीड्स के साथ एकल कमांड
export SEEDS="lodash,express,axios"
./scripts/run_pipeline.sh

# या फ़ाइल से
echo -e "react\nvue\nangular" > packages.txt
export SEEDS_FILE=packages.txt
./scripts/run_pipeline.sh

मैंने प्रारंभिक परीक्षण कैसे किया: त्वरित सत्यापन के लिए SEEDS="is-odd,is-even" का उपयोग किया।

2. npm रजिस्ट्री से स्कैन करें (_all_docs)

npm की रजिस्ट्री से पेजिनेटेड पैकेज स्कैन करें:

# पिछली रन साफ़ करें
rm -rf downloads/* out/*

# 2 पेज प्रत्येक में 10 पैकेज स्कैन करें (20 पैकेज)
export MAX_CHUNKS=2        # पेजों की संख्या
export CHUNK_LIMIT=10      # प्रति पेज पैकेज
unset SEEDS                # महत्वपूर्ण: सीड्स मोड अक्षम करें

# बेहतर दृश्यता के लिए व्यक्तिगत चरण चलाएँ
docker compose run --rm enumerator  # खोजें और कतारबद्ध करें
docker compose run --rm fetcher     # tarballs डाउनलोड करें
docker compose run --rm analyzer    # खतरों के लिए स्कैन करें

उदाहरण आउटपुट:

config: chunkLimit=10, maxChunks=2
checking recent changes feed...
changes feed: enqueued 2 new versions
enumerating via _all_docs (fresh scan)
page 1/2 count: 10
page 2/2 count: 10
done, enqueued 22 (22 new versions)

3. सतत निगरानी (असीमित स्कैन)

संपूर्ण npm रजिस्ट्री स्कैन करें:

export MAX_CHUNKS=0        # 0 = असीमित
export CHUNK_LIMIT=100     # दक्षता के लिए बड़े बैच
./scripts/run_pipeline.sh

चेतावनी: यह घंटों/दिनों तक चलेगा और सैकड़ों हजारों पैकेज स्कैन करेगा। डिस्क स्थान और डेटाबेस आकार की निगरानी करें।

4. बाधित स्कैन फिर से शुरू करें

Enumerator ./out/enumerator_state.json में कर्सर स्थिति के साथ स्थिति सहेजता है:

{
  "last_seq": "0",
  "last_startkey": "package-name",
  "last_run": "2025-11-23T19:24:49.123Z",
  "last_processed": 22,
  "last_new": 22
}

बस पाइपलाइन को फिर से चलाएँ और यह अंतिम कर्सर से फिर से शुरू होगी:

./scripts/run_pipeline.sh  # स्वचालित रूप से फिर से शुरू होता है

नए सिरे से स्कैन करने के लिए:

rm -f out/enumerator_state.json
./scripts/run_pipeline.sh

उदाहरण स्कैन परिणाम

22 पैकेजों के 2-पेज स्कैन से, PackageInferno ने यह पाया:

-- स्कोर के अनुसार शीर्ष संदिग्ध पैकेज
SELECT p.name, s.score, s.label, COUNT(f.id) as findings 
FROM packages p 
JOIN versions v ON p.id = v.package_id 
JOIN scores s ON v.id = s.version_id 
LEFT JOIN findings f ON v.id = f.version_id 
GROUP BY p.name, s.score, s.label 
ORDER BY s.score DESC;

-- परिणाम:
   name                | score | label      | findings
-----------------------+-------+------------+----------
 rendition             | 606   | malicious  | 153
 vs-deploy             | 454   | malicious  | 119
 --123hoodmane-pyodide | 213   | malicious  | 46

rendition इतना संदिग्ध क्यों था?

  • 57 × url_outside_allowlist - अनुमति सूची में नहीं डोमेन
  • 46 × suspicious_pattern - शेल/eval पैटर्न
  • 12 × advanced_obfuscation - हेक्स एन्कोडिंग, XOR, स्ट्रिंग ऐरे
  • 6 × big_base64_blob - बड़े एन्कोडेड पेलोड
  • 18 × url_in_code - एम्बेडेड URLs

स्कोरिंग सिस्टम (scan.yml में कॉन्फ़िगर किया गया) इन findings को एकत्रित करके एक जोखिम स्कोर और लेबल (clean, suspicious, या malicious) उत्पन्न करता है।


परिणामों की खोज

डैशबोर्ड के माध्यम से (अनुशंसित)

docker compose up -d dashboard चलाने के बाद http://localhost:8501 खोलें

टूल डाउनलोड करें