Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
retire.js — ماسح ضوئي يكتشف استخدام مكتبات جافا سكريبت ذات ثغرات أمنية معروفة. يمكنه أيضًا إنشاء قائمة مكونات برمجية (SBOM) للمكتبات التي يعثر عليها. | Kitploit
أدوات/GitHubGitHub/retirejs/retire.js
التحليل الثابتماسحات الثغرات الأمنيةأمن الويب
GitHubretirejs/retire.js

retire.js

ماسح ضوئي يكتشف استخدام مكتبات جافا سكريبت ذات ثغرات أمنية معروفة. يمكنه أيضًا إنشاء قائمة مكونات برمجية (SBOM) للمكتبات التي يعثر عليها.

عرض المستودعالموقع الإلكتروني
4.2k437منذ 14س 18دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Retire.js

ما تحتاجه، يجب عليك أيضًا أن تحيله إلى التقاعد

هناك نظام بيئي واسع من مكتبات JavaScript متاح لتطبيقات الويب وتطبيقات Node.js. بينما تعمل هذه المكتبات على تسريع التطوير بشكل كبير، فإنها تتطلب أيضًا صيانة مستمرة لضمان معالجة الثغرات الأمنية على الفور. في عام 2013، أُضيف "استخدام مكونات بثغرات معروفة" إلى قائمة OWASP Top 10 للمخاطر الأمنية الحرجة، مما سلط الضوء على التهديد الخطير الذي يمكن أن تشكله التبعيات القديمة أو غير الآمنة لتطبيقات الويب. أُنشئت Retire.js لمساعدة المطورين على تحديد إصدارات مكتبات JavaScript التي تحتوي على ثغرات معروفة، خاصة تلك غير المدرجة في بيان الحزم، بل يتم تنزيلها ببساطة ووضعها في نظام التحكم بالمصادر.

يمكن استخدام Retire.js بعدة طرق:

  1. كماسح لسطر الأوامر
  2. كإضافة لمتصفح Chrome - ليس متاحًا رسميًا في متجر Chrome الإلكتروني
  3. كإضافة Burp أو إضافة OWASP ZAP
  4. كإضافة لمتصفح Firefox - مهمل أخبرنا إذا كنت ترغب في صيانته وإلغاء إهماله.
  5. كماسح مواقع ويب بدون واجهة
  6. كإضافة grunt (مهملة)
  7. كمهمة gulp (مهملة)

ماسح سطر الأوامر

افحص تطبيق ويب أو تطبيق Node بحثًا عن استخدام مكتبات JavaScript أو وحدات Node.JS التي بها ثغرات أمنية. إذا لم تكن قد فعلت ذلك بعد، فستحتاج إلى تثبيت node/npm أولاً. في مجلد الكود المصدري لمجلد التطبيق، شغّل:

root@kitploit:~
$ npm install -g retire
$ retire

توليد SBOM

يمكن لـ retire.js توليد قوائم SBOM بصيغة CycloneDX:

root@kitploit:~
$ retire --outputformat cyclonedx

ينتج cyclonedx ملف XML بصيغة CycloneDX 1.4. للحصول على JSON، وللإصدارات الأحدث من المواصفة، استخدم cyclonedxJSON (1.4) أو cyclonedxJSON1_6 أو cyclonedxJSON1_7. وتتضمن نسختا cyclonedxJSON1_6_VEX وcyclonedxJSON1_7_VEX أيضًا قسم vulnerabilities.

افتراضيًا، يخرج 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 (الاختيارية) كما يحلو لك.

root@kitploit:~
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();
  });
});

تبرع

ستُستخدم التبرعات لتمويل صيانة الأداة ومستودع الثغرات الأمنية.

تنزيل الأداة