العودة إلى التحديثات
New releaseJul 14, 2026

js-x-ray v@nodesecure/[email protected]

ماسح SAST مفتوح المصدر لجافاسكريبت و Node.js. محلل ثابت لكشف أكثر الأنماط الخبيثة شيوعاً 🔬.

مشاركة

@nodesecure/js-x-ray

إصدار npm الرخصة بطاقة أداء الأمان مفتوح المصدر مستوى slsa 3 سير عمل CI لجيثب

JS-X-Ray هي أداة SAST (اختبار أمان التطبيقات الثابت) للغة JavaScript وTypeScript لتحديد الأنماط الخبيثة ونقاط الضعف الأمنية والشذوذ في الكود. فكر فيها كـ ESLint، لكنها مخصصة لتحليل الأمان. تم إنشاؤها في الأصل لـ NodeSecure CLI، وأصبحت JS-X-Ray خيارًا مستقلاً وجادًا لحماية سلسلة التوريد.

🔎 كيف تعمل

تقوم JS-X-Ray بتحليل كود JS أو TS إلى شجرة بناء تجريدية (AST) دون استخدام مكثف لـ RegEx أو قواعد Semgrep. وهذا يتيح تتبع المتغيرات، وحل الاستيرادات الديناميكية، واكتشاف التعتيم المتطور الذي تفوته أدوات مطابقة الأنماط. المقابل هو أن JS-X-Ray مخصصة بالكامل لنظام JavaScript/TypeScript.

💡 الميزات

  • تتبع require() وimport والاستيرادات الديناميكية مع تتبع كامل للمتغيرات
  • اكتشاف الكود المعتم وتحديد الأداة المستخدمة (jsfuck, jjencode, obfuscator.io والمزيد)
  • وضع علامات على الأنماط الخبيثة: تسريب البيانات، تسلسل process.env، أوامر شل غير آمنة
  • اكتشاف الكود الضعيف: eval()، منشئ Function()، التعابير العادية المعرضة لـ ReDoS، حقن SQL
  • وضع علامات على الخوارزميات التشفيرية الضعيفة (MD5, SHA1, إلخ)
  • استخراج مؤشرات البنية التحتية: عناوين URL، عناوين IP، أسماء المضيفات، البريد الإلكتروني
  • أوضاع حساسية قابلة للتكوين (محافظ/عدواني) ونظام استقصاء قابل للتوسيع
  • دعم كل من JavaScript وTypeScript

💃 البدء

هذه الحزم متاحة في مستودع Node Package ويمكن تثبيتها بسهولة باستخدام npm أو yarn.

$ npm i @nodesecure/js-x-ray
# or
$ yarn add @nodesecure/js-x-ray

👀 الاستخدام

import { AstAnalyser } from "@nodesecure/js-x-ray";

const scanner = new AstAnalyser();

const { warnings, dependencies } = await scanner.analyseFile("./file.js");

console.log(dependencies);
console.dir(warnings, { depth: null });

لتوثيق واجهة برمجة التطبيقات الكامل، كتالوج التحذيرات، والاستخدام المتقدم، راجع README حزمة @nodesecure/js-x-ray.

مساحات العمل

🐥 دليل المساهمين

إذا كنت مطورًا تتطلع إلى المساهمة في المشروع، فيجب عليك أولاً قراءة دليل المساهمة.

بمجرد الانتهاء من تطويرك، تحقق من أن الاختبارات (و linter) لا تزال جيدة عن طريق تشغيل النص التالي:

$ npm run check

[!CAUTION] في حالة تقديم ميزة جديدة أو إصلاح خطأ، تأكد من تضمين اختبارات لها أيضًا.

واجهات برمجة التطبيقات الداخلية

للمساهمين الذين يعملون على دواخل JS-X-Ray، توثق الموارد التالية الأدوات المساعدة منخفضة المستوى وأنماط معالجة AST:

المعايير

يتم قياس وتتبع أداء js-x-ray باستخدام mitata.

لتشغيل المعايير:

  1. انتقل إلى workspaces/js-x-ray.
  2. قم بتشغيل npm run bench.

يتم تخزين نتائج المعايير في workspaces/js-x-ray/benchmark/report.json. لا تقم بتحرير هذا الملف يدويًا؛ يتم تحديثه تلقائيًا عند كل طلب سحب.

المساهمون ✨

All Contributors

شكرًا لهؤلاء الأشخاص الرائعين (مفتاح الرموز التعبيرية):

الترخيص

MIT

الفئات