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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
confused — أداة للتحقق من ثغرات الخلط بين التبعيات (Dependency Confusion) في أنظمة إدارة الحزم المتعددة. | Kitploit
أدوات/GitHubGitHub/visma-prodsec/confused
تحليل الثغرات الأمنيةأمن سلسلة التوريد
GitHubvisma-prodsec/confused

confused

أداة للتحقق من ثغرات الخلط بين التبعيات (Dependency Confusion) في أنظمة إدارة الحزم المتعددة.

عرض المستودع
7871096منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Confused

أداة للتحقق من فضاءات الأسماء الحرة المتبقية لأسماء الحزم الخاصة المشار إليها في تكوين التبعيات لـ Python (pypi) requirements.txt, JavaScript (npm) package.json, PHP (composer) composer.json أو MVN (maven) pom.xml.

ما الهدف من هذا؟

في 9 فبراير 2021، نشر الباحث الأمني Alex Birsan مقالة تناولت عيوبًا مختلفة في ترتيب التحليل في أدوات إدارة التبعيات الموجودة في أنظمة برمجية متعددة.

نشرت Microsoft ورقة تقنية تصف طرقًا لتخفيف الأثر، بينما لا يزال السبب الجذري قائمًا.

تفسير مخرجات الأداة

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

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

النتائج الإيجابية الخاطئة المعروفة

بعض أنظمة التعبئة مثل npm لديها مفهوم يسمى "النطاقات" (scopes) التي يمكن أن تكون خاصة أو عامة. باختصار، يعني ذلك فضاء اسم له مستوى أعلى - النطاق. النطاقات غير مرئية بشكل عام بطبيعتها، مما يعني أن confused لا يمكنه الكشف بشكل موثوق عما إذا تمت المطالبة بها. إذا كان تطبيقك يستخدم أسماء حزم ذات نطاق، فيجب عليك التأكد من أن طرفًا موثوقًا قد طالب باسم النطاق في المستودعات العامة.

التثبيت

  • تحميل ملف ثنائي مُعد مسبقًا من صفحة الإصدارات، فك الضغط ثم تشغيل!

    أو

  • إذا كان لديك مترجم go حديث مثبت: go get -u github.com/visma-prodsec/confused (نفس الأمر يعمل للتحديث)

    أو

  • git clone https://github.com/visma-prodsec/confused ; cd confused ; go get ; go build

الاستخدام

root@kitploit:~
Usage:
 confused [-l LANGUAGENAME] depfilename.ext

Usage of confused:
  -l string
        Package repository system. Possible values: "pip", "npm", "composer", "mvn", "rubygems" (default "npm")
  -s string
        Comma-separated list of known-secure namespaces. Supports wildcards
  -v    Verbose output

مثال

Python (PyPI)

root@kitploit:~
./confused -l pip requirements.txt

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1

JavaScript (npm)

root@kitploit:~
./confused -l npm package.json

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1
 [!] @mycompany/internal_package1
 [!] @mycompany/internal_package2

# مثال عند تسجيل النطاق الخاص @mycompany في npm، باستخدام -s
./confused -l npm -s '@mycompany/*' package.json

Issues found, the following packages are not available in public package repositories:
 [!] internal_package1

Maven (mvn)

root@kitploit:~
./confused -l mvn pom.xml

Issues found, the following packages are not available in public package repositories:
 [!] internal
 [!] internal/package1
 [!] internal/_package2

Ruby (rubygems)

root@kitploit:~
./confused -l rubygems Gemfile.lock

Issues found, the following packages are not available in public package repositories:
 [!] internal
 [!] internal/package1
 [!] internal/_package2
 
تنزيل الأداة