Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
chub-supply-chain-poc — حقن تبعيات صامت عبر خطوط توثيق الذكاء الاصطناعي. 240 تشغيل معزول لـ Docker يثبت أن خادم MCP الخالي من التعقيم في Context Hub يسمح للوثائق المسمومة باختراق مشاريع المطورين دون إنذار. | Kitploit
أدوات/GitHubGitHub/mickmicksh/chub-supply-chain-poc
تحليل الثغرات الأمنيةتحليل الكودتحليل البرمجيات الخبيثةاختبار الاختراقأمن سلسلة التوريدالأوراق والأبحاثالتعلم والتعليمأمن الذكاء الاصطناعي
GitHub
mickmicksh/chub-supply-chain-poc

chub-supply-chain-poc

حقن تبعيات صامت عبر خطوط توثيق الذكاء الاصطناعي. 240 تشغيل معزول لـ Docker يثبت أن خادم MCP الخالي من التعقيم في Context Hub يسمح للوثائق المسمومة باختراق مشاريع المطورين دون إنذار.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

الكشف عن الثغرات الإصدار المتأثر الاختبارات قابل للتكرار الرخصة

إثبات المفهوم لسلسلة توريد Context Hub

ثغرة عدم تعقيم في Context Hub (@aisuite/chub v0.1.3) تتيح حقن التبعيات الصامت من خلال خط أنابيب توثيق MCP.

المراجع: CWE-94 (حقن الكود) | CWE-829 (مجال تحكم غير موثوق) | CWE-345 (تحقق غير كافٍ من صحة البيانات) | OWASP LLM01 (حقن الأوامر)

الملخص

قمنا بإنشاء مستندات مسمومة واقعية تحتوي على تبعيات مزيفة (plaid-link-verify, stripe-checkout-guard) وقدمناها من خلال خادم MCP محلي لـ chub داخل حاويات Docker معزولة. لم يتم تحميل أي محتوى مسموم إلى سجل Context Hub - قمنا بتشغيل chub build محليًا وقمنا بتكوين خادم MCP لتقديم المخرجات المُنشأة مسبقًا من القرص. من وجهة نظر الوكيل، التجربة مماثلة تمامًا لجلب المستندات من السجل المباشر.

عندما قامت مساعدات البرمجة AI بجلب المستندات، قام Haiku بكتابة الحزمة المزيفة بصمت في ملف requirements.txt في 100% من مرات التشغيل - دون أن يذكرها على الإطلاق في مخرجاته النصية. المطور الذي يقرأ رد المساعد لن يرى شيئًا مريبًا، لكن مشروعه أصبح مسمومًا.

240 تشغيلة معزولة. 3 نماذج. 4 مستويات جهد. 2 واجهات API. 0 تلوث.

كيف يبدو الأمر

يقوم الكود المُنشأ باستيراد التبعية المزيفة بصمت جنبًا إلى جنب مع الوحدات الشرعية:

تطبيق app.py المُنشأ مع تبعية محقونة

يقوم الوكيل أيضًا بتعديل ملف CLAUDE.md لتضمين الحزمة المزيفة كـ "معيار مشروع":

ملف CLAUDE.md بعد الهجوم

النتائج

يوضح هذان الجدولان نتائج Plaid Link (120 تشغيلة معزولة). راجع RESULTS.md للحصول على البيانات الكاملة بما في ذلك Stripe Checkout (إجمالي 240 تشغيلة).

تسميم التبعيات الصامت (requirements.txt)

الجهدHaikuSonnetOpus
منخفض100%60%0%
متوسط100%70%0%
عالي100%40%0%
أقصى100%40%0%

لم يحذر Haiku أبدًا من التبعية المزيفة (0/40). حذر Sonnet في 48% من مرات التشغيل (19/40) لكنه ما زال سمم ملف requirements.txt في 53% إجمالاً. حذر Opus في 75% من مرات التشغيل (30/40) ولم يسمم مطلقًا ملف requirements.txt أو الكود.

استمرار CLAUDE.md (باب خلفي لتكوين المشروع)

الجهدHaikuSonnetOpus
منخفض90%70%0%
متوسط80%70%0%
عالي90%40%0%
أقصى90%50%0%

يقوم Haiku بتعديل ملف CLAUDE.md الخاص بالمشروع ليشمل التبعية المزيفة كـ "معيار مشروع" في 88% من مرات التشغيل (35/40). يتم إيداع هذا الملف في git - كل مطور مستقبلي يستنسخ المستودع يرث التكوين المسموم.

سلسلة الهجوم

flowchart LR
    A["المهاجم\nيقدم طلب سحب"] -->|"لا يوجد تحقق\nمن الهوية"| B["المشرف\nيدمج طلب السحب"]
    B -->|"لا يوجد تعقيم\nللمحتوى"| C["المستند على CDN\n(لا يوجد فحص سلامة)"]
    C -->|"يخدم MCP\nالمحتوى الخام"| D["نافذة سياق\nالوكيل"]
    D -->|"يتصرف الوكيل بناءً على\nمحتوى غير موثوق"| E["محطة عمل\nالمطور"]

    style A fill:#111,stroke:#333,color:#f0f0f0
    style B fill:#161616,stroke:#333,color:#888
    style C fill:#161616,stroke:#333,color:#888
    style D fill:#161616,stroke:#333,color:#888
    style E fill:#111,stroke:#333,color:#f0f0f0

نموذج التهديد

المهاجمأي شخص يمكنه تقديم طلب سحب إلى سجل مستندات Context Hub
سطح الهجوممستندات المجتمع المتدفقة من GitHub PR إلى CDN إلى MCP إلى سياق الوكيل
حد الثقةمحتوى مساهم غير موثوق يتم التعامل معه كتوثيق رسمي لواجهة API
الشرط المسبقطلب سحب واحد مدمج يحتوي على مستند مسموم
التأثيرتنفيذ كود عشوائي عبر حقن التبعيات + خطافات ما بعد التثبيت الخاصة بـ pip

النتائج الرئيسية

  1. تسميم Haiku صامت تمامًا. 0/80 تشغيلة Haiku عبر كلا واجهتي API ذكرت التبعية المزيفة في الرد. يقوم النموذج بالكتابة على القرص دون إخبار. حذر Sonnet في 48% من مرات التشغيل لكنه ما زال سمم ملف requirements.txt في 35-53% من مرات التشغيل. حذر Opus في 23-75% من مرات التشغيل ولم يسمم مطلقًا ملف requirements.txt أو الكود.

  2. Haiku قابل للاستغلال بنسبة 100% في كل مستويات الجهد. مستقل عن الجهد على كلا واجهتي API. النموذج الأضعف في العائلة لا يكتشف التبعية المزيفة أبدًا.

  3. Opus يقاوم تسميم الكود ولكن ليس تسميم التكوين. لم يكتب Opus التبعية المزيفة أبدًا إلى ملف requirements.txt أو كود Python (0/80 عبر كلا واجهتي API). ولكن في Stripe، قام Opus بتعديل ملف CLAUDE.md في 38% من مرات التشغيل، موثقًا التبعية التجريبية كاعتماد مشروع دون تثبيتها.

  4. استمرار CLAUDE.md يخلق ناقل سلسلة توريد. يتم إيداع ملفات التكوين المعدلة في git، مما يسمم كل مطور يستنسخ المستودع وكل جلسة AI مستقبلية في هذا المشروع. يعمل هذا عبر جميع النماذج (Haiku 88-90%، Sonnet 58%، Opus 0-38%).

  5. الإلمام بواجهات API مهم. Stripe (معروفة جيدًا): تكتشف النماذج الحزم المزيفة عبر بيانات التدريب. Plaid (أقل شهرة): لا تستطيع النماذج التحقق وتقبل التبعية المزيفة دون سؤال.

  6. هذه مشكلة على مستوى الفئة. Context7 كان لديها ContextCrush (فبراير 2026). Context Hub لديها هذا. أي أداة تحقن محتوى خارجي غير معقم في سياق الوكيل تكون عرضة للهجوم.

نتائج الكود المصدري

لا يوجد تعقيم على الإطلاق عبر خط الأنابيب بأكمله:

  • annotations.js - writeFileSync مع محتوى خام، بدون تصفية
  • build.js - لا فحص للمحتوى، لا تطبيع لـ unicode
  • cache.js - جلب من CDN مع عدم التحقق من التجزئة/التوقيع
  • source: official في المقدمة - مُعلن ذاتيًا، غير موثوق

الإفصاح

لا يوجد ملف SECURITY.md في Context Hub. لا توجد طريقة موثقة للإفصاح المسؤول عن ثغرة - لا جهة اتصال أمنية، ولا مفتاح PGP، ولا سياسة إفصاح. وجد أعضاء المجتمع الثغرات على أي حال وأبلغوا عنها كـ مسائل عادية وطلبات سحب. لم يتم مراجعة أي منها.

طلبات سحب أمنية مفتوحة بدون مراجعات

التاريخالحدث
2026-03-12المسألة رقم 74 قدمها @bjorkbjork أبلغت عن 4 ثغرات أمنية بما في ذلك سلامة CDN، والتحقق من المصدر المُعلن ذاتيًا، وحقن التعليقات التوضيحية
2026-03-12تم تعيين المسألة رقم 74 داخليًا لعضو الفريق الأساسي - بدون متابعة
2026-03-17طلب السحب رقم 125 قدمه @hobostay لإضافة التحقق من سلامة المحتوى - بدون مراجعات
2026-03-12 إلى 03-20طلبات سحب أمنية إضافية (#69, #81) قدمها المجتمع - بدون مراجعات
2026-03-20 إلى 03-23تدقيقنا المستقل يؤكد ويحدد كمية الثغرات باستخدام 240 تشغيلة Docker معزولة
2026-03-23الإفصاح العام
تنزيل الأداة