एआई दस्तावेज़ीकरण पाइपलाइनों के माध्यम से मौन निर्भरता इंजेक्शन। 240 पृथक डॉकर रन साबित करते हैं कि कॉन्टेक्स्ट हब का शून्य-सैनिटाइज़ेशन एमसीपी सर्वर जहरीले दस्तावेज़ों को बिना चेतावनी के डेवलपर प्रोजेक्ट्स से समझौता करने देता है।
ज़ीरो-सैनिटाइज़ेशन भेद्यता कॉन्टेक्स्ट हब (@aisuite/chub v0.1.3) में MCP दस्तावेज़ीकरण पाइपलाइन के माध्यम से मूक निर्भरता इंजेक्शन को सक्षम करती है।
संदर्भ: CWE-94 (कोड इंजेक्शन) | CWE-829 (अविश्वसनीय नियंत्रण क्षेत्र) | CWE-345 (डेटा प्रामाणिकता का अपर्याप्त सत्यापन) | OWASP LLM01 (प्रॉम्प्ट इंजेक्शन)
हमने यथार्थवादी विषैले दस्तावेज़ बनाए जिनमें नकली निर्भरताएँ (plaid-link-verify, stripe-checkout-guard) थीं और उन्हें स्थानीय chub MCP सर्वर के माध्यम से अलग-थलग Docker कंटेनरों के अंदर प्रस्तुत किया। कॉन्टेक्स्ट हब की रजिस्ट्री में कोई विषैली सामग्री अपलोड नहीं की गई - हमने chub build को स्थानीय रूप से चलाया और MCP सर्वर को डिस्क से पूर्व-निर्मित आउटपुट प्रस्तुत करने के लिए कॉन्फ़िगर किया। एजेंट के दृष्टिकोण से, अनुभव लाइव रजिस्ट्री से दस्तावेज़ प्राप्त करने के समान है।
जब AI कोडिंग सहायकों ने दस्तावेज़ प्राप्त किए, हाइकू ने 100% रन में चुपचाप नकली पैकेज को requirements.txt में लिख दिया - बिना कभी अपने टेक्स्ट आउटपुट में इसका उल्लेख किए। एक डेवलपर जो सहायक की प्रतिक्रिया पढ़ रहा होगा, उसे कुछ भी संदिग्ध नहीं दिखाई देगा, लेकिन उनकी परियोजना विषाक्त हो चुकी है।
240 पृथक रन। 3 मॉडल। 4 प्रयास स्तर। 2 API। 0 संदूषण।
जनरेटेड कोड वैध मॉड्यूल के साथ-साथ नकली निर्भरता को मौन रूप से आयात करता है:

एजेंट CLAUDE.md को भी संशोधित करता है ताकि नकली पैकेज को "प्रोजेक्ट मानक" के रूप में शामिल किया जा सके:

ये तालिकाएँ Plaid Link के परिणाम दिखाती हैं (120 पृथक रन)। पूर्ण डेटा के लिए RESULTS.md देखें जिसमें Stripe Checkout शामिल है (कुल 240 रन)।
| प्रयास | हाइकू | सॉनेट | ओपस |
|---|---|---|---|
| निम्न | 100% | 60% | 0% |
| मध्यम | 100% | 70% | 0% |
| उच्च | 100% | 40% | 0% |
| अधिकतम | 100% | 40% | 0% |
हाइकू ने कभी भी नकली निर्भरता के बारे में चेतावनी नहीं दी (0/40)। सॉनेट ने 48% रन (19/40) में चेतावनी दी, लेकिन फिर भी 53% मामलों में requirements.txt को विषाक्त किया। ओपस ने 75% रन (30/40) में चेतावनी दी और कभी भी requirements.txt या कोड को विषाक्त नहीं किया।
| प्रयास | हाइकू | सॉनेट | ओपस |
|---|---|---|---|
| निम्न | 90% | 70% | 0% |
| मध्यम | 80% | 70% | 0% |
| उच्च | 90% | 40% | 0% |
| अधिकतम | 90% | 50% | 0% |
हाइकू 88% रन (35/40) में परियोजना के CLAUDE.md को संशोधित करके नकली निर्भरता को "प्रोजेक्ट मानक" के रूप में शामिल करता है। यह फ़ाइल git में कमिट हो जाती है - भविष्य में रिपो को क्लोन करने वाला हर डेवलपर विषाक्त कॉन्फ़िग प्राप्त करता है।
flowchart LR
A["हमलावर\nPR सबमिट करता है"] -->|"कोई पहचान\nसत्यापन नहीं"| B["रखरखावकर्ता\nPR को मर्ज करता है"]
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
| हमलावर | कोई भी जो कॉन्टेक्स्ट हब की डॉक रजिस्ट्री में PR सबमिट कर सकता है |
| हमले की सतह | GitHub PR से CDN से MCP से एजेंट संदर्भ तक बहने वाले सामुदायिक दस्तावेज़ |
| विश्वास सीमा | अविश्वसनीय योगदानकर्ता सामग्री को आधिकारिक API दस्तावेज़ीकरण के रूप में माना जाता है |
| पूर्वापेक्षा | एक मर्ज किया गया PR जिसमें एक विषैला दस्तावेज़ हो |
| प्रभाव | निर्भरता इंजेक्शन + pip पोस्ट-इंस्टॉल हुक के माध्यम से मनमाना कोड निष्पादन |
हाइकू विषाक्तीकरण पूरी तरह से मूक है। दोनों API में 0/80 हाइकू रन ने प्रतिक्रिया में नकली निर्भरता का उल्लेख किया। मॉडल बिना बताए डिस्क पर लिखता है। सॉनेट ने 48% रन में चेतावनी दी लेकिन फिर भी 35-53% रन में requirements.txt को विषाक्त किया। ओपस ने 23-75% रन में चेतावनी दी और कभी भी requirements.txt या कोड को विषाक्त नहीं किया।
हाइकू हर प्रयास स्तर पर 100% शोषणीय है। दोनों API पर प्रयास-स्वतंत्र। परिवार का सबसे कमजोर मॉडल कभी भी नकली निर्भरता को नहीं पकड़ता।
ओपस कोड विषाक्तीकरण का प्रतिरोध करता है लेकिन कॉन्फ़िग विषाक्तीकरण का नहीं। ओपस ने कभी भी नकली निर्भरता को requirements.txt या Python कोड में नहीं लिखा (दोनों API में 0/80)। लेकिन Stripe पर, ओपस ने 38% रन में CLAUDE.md को संशोधित किया, बिना इंस्टॉल किए कैनरी को प्रोजेक्ट निर्भरता के रूप में दस्तावेज़ित किया।
CLAUDE.md स्थायित्व एक सप्लाई चेन वेक्टर बनाता है। संशोधित कॉन्फ़िग फ़ाइलें git में कमिट हो जाती हैं, रिपो को क्लोन करने वाले हर डेवलपर और उस प्रोजेक्ट में भविष्य के हर AI सत्र को विषाक्त करती हैं। यह सभी मॉडलों पर काम करता है (हाइकू 88-90%, सॉनेट 58%, ओपस 0-38%)।
API परिचितता मायने रखती है। Stripe (प्रसिद्ध): मॉडल प्रशिक्षण डेटा के माध्यम से नकली पैकेजों का पता लगाते हैं। Plaid (कम ज्ञात): मॉडल सत्यापित नहीं कर सकते और बिना प्रश्न के नकली निर्भरता स्वीकार कर लेते हैं।
यह एक श्रेणी-व्यापी समस्या है। कॉन्टेक्स्ट7 में कॉन्टेक्स्टक्रश था (फरवरी 2026)। कॉन्टेक्स्ट हब में यह है। कोई भी उपकरण जो अस्वच्छित बाहरी सामग्री को एजेंट संदर्भ में इंजेक्ट करता है, वह कमजोर है।
संपूर्ण पाइपलाइन में शून्य स्वच्छीकरण:
annotations.js - कच्ची सामग्री के साथ writeFileSync, कोई फ़िल्टरिंग नहींbuild.js - कोई सामग्री स्कैनिंग नहीं, कोई यूनिकोड सामान्यीकरण नहींcache.js - शून्य हैश/हस्ताक्षर सत्यापन के साथ CDN फ़ेचsource: official - स्व-घोषित, सत्यापित नहींकॉन्टेक्स्ट हब में कोई SECURITY.md नहीं है। भेद्यता को जिम्मेदारी से प्रकट करने का कोई दस्तावेज़ीकृत तरीका नहीं है - कोई सुरक्षा संपर्क नहीं, कोई PGP कुंजी नहीं, कोई खुलासा नीति नहीं। सामुदायिक सदस्यों ने फिर भी भेद्यताएँ पाईं और उन्हें नियमित मुद्दों और PR के रूप में दर्ज किया। किसी की भी समीक्षा नहीं की गई।
