अपडेट पर वापस जाएँ
New releaseAug 21, 2026

retire.js v5.5.0

स्कैनर जो ज्ञात कमजोरियों वाले JavaScript पुस्तकालयों के उपयोग का पता लगाता है। यह उन पुस्तकालयों का SBOM भी उत्पन्न कर सकता है जो यह ढूंढता है।

साझा करें

Retire.js

आपको जो चाहिए, उसे आपको सेवानिवृत्त भी करना होगा

वेब और Node.js अनुप्रयोगों दोनों के लिए JavaScript पुस्तकालयों का एक विशाल पारिस्थितिकी तंत्र उपलब्ध है। ये पुस्तकालय विकास को काफी तेज करते हैं, लेकिन सुरक्षा कमजोरियों को समय पर दूर करने के लिए इन्हें निरंतर रखरखाव की आवश्यकता होती है। 2013 में, "ज्ञात कमजोरियों वाले घटकों का उपयोग" को OWASP टॉप 10 महत्वपूर्ण सुरक्षा जोखिमों की सूची में जोड़ा गया, जो वेब अनुप्रयोगों के लिए पुरानी या असुरक्षित निर्भरताओं द्वारा उत्पन्न गंभीर खतरे को उजागर करता है। Retire.js को डेवलपर्स को ज्ञात कमजोरियों वाले JavaScript लाइब्रेरी संस्करणों की पहचान करने में मदद करने के लिए बनाया गया था, विशेष रूप से वे जो पैकेज मेनिफेस्ट में नहीं हैं, बल्कि केवल डाउनलोड करके स्रोत नियंत्रण में रखे गए हैं।

Retire.js का उपयोग कई तरीकों से किया जा सकता है:

  1. कमांड लाइन स्कैनर के रूप में
  2. Chrome एक्सटेंशन के रूप में - Chrome वेब स्टोर में आधिकारिक रूप से उपलब्ध नहीं
  3. Burp एक्सटेंशन या OWASP ZAP ऐड-ऑन के रूप में
  4. Firefox एक्सटेंशन के रूप में - अप्रचलित यदि आप इसे बनाए रखना और इसे पुनः सक्रिय करना चाहते हैं तो हमें बताएं।
  5. हेडलेस वेब साइट स्कैनर
  6. grunt प्लगइन के रूप में (अप्रचलित)
  7. gulp कार्य के रूप में (अप्रचलित)

कमांड लाइन स्कैनर

किसी वेब ऐप या नोड ऐप को असुरक्षित JavaScript लाइब्रेरीज़ और/या Node.JS मॉड्यूल के उपयोग के लिए स्कैन करें। यदि आपने पहले से नहीं किया है, तो पहले node/npm स्थापित करें। एप्लिकेशन फ़ोल्डर के स्रोत कोड फ़ोल्डर में चलाएँ:

$ npm install -g retire
$ retire

SBOM उत्पादन

retire.js CycloneDX-प्रारूप में SBOM उत्पन्न कर सकता है:

$ retire --outputformat cyclonedx

डिफ़ॉल्ट रूप से retire.js कमज़ोरियाँ मिलने पर कोड 13 के साथ बाहर निकलेगा। इसे --exitwith 0 से ओवरराइड किया जा सकता है।

Chrome और Firefox एक्सटेंशन

विज़िट की गई साइटों को असुरक्षित लाइब्रेरीज़ के संदर्भों के लिए स्कैन करता है, और डेवलपर कंसोल में चेतावनियाँ देता है। एड्रेस बार पर एक आइकन यह भी इंगित करेगा कि क्या असुरक्षित लाइब्रेरीज़ लोड की गई थीं।

Burp एक्सटेंशन और OWASP ZAP ऐड-ऑन

@h3xstream ने Retire.js को पेनिट्रेशन टेस्टिंग टूल Burp और OWASP ZAP के लिए एक प्लगइन के रूप में अनुकूलित किया है।

OWASP ZAP टीम आधिकारिक तौर पर एक Retire.js ऐड-ऑन का समर्थन करती है जो ZAP मार्केटप्लेस के माध्यम से उपलब्ध है और ZAP साप्ताहिक रिलीज़ में डिफ़ॉल्ट रूप से शामिल है: https://www.zaproxy.org/docs/desktop/addons/retire.js/

हेडलेस साइट स्कैनर

retire-site-scanner https://github.com/RetireJS/retire-site-scanner का उपयोग किसी वेब साइट को हेडलेस मोड में स्कैन करने के लिए किया जा सकता है (Chrome/Firefox एक्सटेंशन का उपयोग करने के विपरीत)।

Grunt प्लगइन (अप्रचलित)

एक Grunt कार्य Retire.js चलाने के लिए आपके एप्लिकेशन की बिल्ड रूटीन या किसी अन्य स्वचालित वर्कफ़्लो के भाग के रूप में।

Gulp कार्य (अप्रचलित)

एक Gulp कार्य का उदाहरण जिसे आप अपनी gulpfile में उपयोग कर सकते हैं ताकि आपकी प्रोजेक्ट फ़ाइलों को स्वचालित रूप से देखा और स्कैन किया जा सके। आप वॉच पैटर्न और (वैकल्पिक) Retire.js विकल्पों को अपनी इच्छानुसार संशोधित कर सकते हैं।

const c = require("ansi-colors");

var gulp = require("gulp");
var beeper = require("beeper");
var log = require("fancy-log");
var spawn = require("child_process").spawn;

gulp.task("retire:watch", ["retire"], function (done) {
  // Watch all javascript files and package.json
  gulp.watch(["js/**/*.js", "package.json"], ["retire"]);
});

gulp.task("retire", function () {
  // Spawn Retire.js as a child process
  // You can optionally add option parameters to the second argument (array)
  var child = spawn("retire", [], { cwd: process.cwd() });

  child.stdout.setEncoding("utf8");
  child.stdout.on("data", function (data) {
    log(data);
  });

  child.stderr.setEncoding("utf8");
  child.stderr.on("data", function (data) {
    log(c.red(data));
    beeper();
  });
});

दान करें

दान का उपयोग उपकरण और कमज़ोरी रिपॉजिटरी के रखरखाव के लिए किया जाएगा।

श्रेणियाँ