इस प्रोजेक्ट के बारे में
SUNGLASSES एक ओपन-सोर्स, स्थानीय रूप से चलने वाला इनपुट निरीक्षण परत है जो AI agents के लिए बनाया गया है, जिसे अपने README में एक इनपुट फ़ायरवॉल के रूप में वर्णित किया गया है। इसे Python में लिखा गया है और MIT License के तहत जारी किया गया है। यह प्रोजेक्ट किसी एजेंट द्वारा कार्य करने से पहले सामग्री का स्कैनिंग करता है और खामोशी से सामग्री को फिर से लिखने या हटाने के बजाय निष्कर्ष रिपोर्ट करता है। यह छह मीडिया प्रकारों को कवर करता है: टेक्स्ट, छवियां, ऑडियो, वीडियो, PDFs और QR/barcode।
छवि स्कैन में OCR, EXIF मेटाडेटा और छिपी हुई टेक्स्ट की पहचान शामिल है; PDF स्कैन पृष्ठ टेक्स्ट, मेटाडेटा और टिप्पणीयां पढ़ता है; ऑडियो और वीडियो गहरे स्कैन में स्पीच-टू-टेक्स्ट और सबटाइटल निकालना शामिल है। स्कैनर प्रॉम्प्ट इंजेक्शन, क्रेडेंशियल एग्जिट्रेशन, कमांड इंजेक्शन, मेमोरी पॉइजनिंग, सोशल इंजीनियरिंग और Unicode तकनीकें, RTL ऑबफस्केशन, लेटस्पियर, Base64 एन्कोडिंग और होमोग्लिफ प्रतिस्थापन जैसे भ्रमण तकनीकों को लक्षित करता है।
SUNGLASSES अंग्रेजी-प्रथम है। README के अनुसार पूर्ण नियमसेट अंग्रेजी में है; 13 भाषाओं में ठीक दो समर्पित पैटर्न हैं; 7 भाषाएं केवल कीवर्ड-स्तरीय हैं; और फ़ारसी और बांग्ला नाममात्र सूचीबद्ध हैं जिनके बिना कोई समर्पित पैटर्न या कीवर्ड नहीं है। नॉर्मलाइजेशन भाषा-स्वाधीन है। प्रोजेक्ट अंग्रेजी के साथ गैर-अंग्रेजी समानता की उम्मीद करने से रोकता है और गहराई से भाषा कवरेज को v0.6+ मार्ग के रूप में चिह्नित करता है।
इंस्टॉलेशन pip के माध्यम से होता है: शून्य-निर्भरता टेक्स्ट स्कैनिंग के लिए pip install sunglasses, मीडिया या सभी एक्सट्रा के साथ छवियों, PDFs, QR कोड, ऑडियो और वीडियो के लिए। CLI में scan, check, demo, info और report कमांड हैं। Python API टेक्स्ट के लिए SunglassesEngine और मीडिया के लिए SunglassesScanner प्रकट करती है। अन्य इंटीग्रेशन सतहों में MCP सर्वर, LangChain और CrewAI इंटीग्रेशन, CI के लिए SARIF 2.1.0 आउटपुट, और टेक्स्ट, GitHub repositories और छवियों के लिए ब्राउज़र डेमो शामिल हैं।
CLI एक स्पष्ट एग्जिट-कोड अनुबंध का उपयोग करता है। 0 का मतलब है कि पूरी इनपुट पढ़ी गई और कोई खतरा नहीं मिला। 1 का मतलब है कि खतरा मिला। 2 उपयोग या संचालन त्रुटि है जहां मांगी गई सीमा में कुछ भी स्कैन नहीं किया गया। 3 का मतलब अधूरा निरीक्षण है: जिस भाग को पढ़ा जा सका उसमें कुछ नहीं मिला, लेकिन कुछ भाग पढ़ा नहीं जा सका, जैसे कि एक आर्काइव, गहरे स्कैन के बिना ऑडियो फ़ाइल, या साइज़ कैप से परे इनपुट। प्राथमिकता 1 > 3 > 2 > 0 है। JSON आउटपुट threat_found, inspection_complete और is_clean को अलग करता है, और truncated तथा extraction_complete रिपोर्ट करता है। इंजन डिफ़ॉल्ट रूप से अधिकतम 1 MB पढ़ता है, और कैप पर पहुंचने वाला स्कैन silent clean पास के बजाय truncated और bytes_scanned रिपोर्ट करता है।
v0.4 फ़ायरवॉल Claude Code PreToolUse हुक के रूप में इंस्टॉल होता है और इसे बेस्ट-एफर्ट के रूप में वर्णित किया गया है: इसका 10-सेकंड टाइमआउट होता है और टाइमआउट हुआ हुक कॉल को ब्लॉक नहीं करता। यह MCP टूल डिस्क्रिप्टर को पिन् कर सकता है और जांच सकता है कि क्या वे बदले हैं, वायर पर बाइट्स रख सकने वाले टूल कॉल्स पर सटीक-फ़ॉर्मेट रहस्यों को ब्लॉक कर सकता है, एक उपयोगकर्ता पॉलिसी फ़ाइल लागू कर सकता है, और रसीद लिख सकता है जो इनपुट के बजाय टूल इनपुट का SHA-256 रिकॉर्ड करती है। प्रोजेक्ट निर्धारक तथ्यों को दृढ़ ब्लॉक किए जा सकने वाले संज्ञानों से अलग करता है, जो स्वचालित रूप से ब्लॉक करने के बजाय उपयोगकर्ता को बढ़ाते हैं। यह खुलकर विफल हो जाता है और रिकॉर्ड करता है जब कॉल जांची नहीं गई। README ईमानदार सीमाएँ सूचीबद्ध करता है: डिस्क्रिप्टर पिनिंग लाइव नहीं है; हुक टूल कॉल टेक्स्ट देखता है, उसके पीछे की फ़ाइलों को नहीं; इंटरप्रेटर या सोकेट ओनलिनर एग्ज्रेस को छुपा सकते हैं; WARN लेंड डिफ़ॉल्ट रूप से बंद है।
प्रकाशित प्रदर्शन और बेंचमार्क आंकड़ों में 1,540 पैटर्न, 6,931 अनोखे कीवर्ड, 118 हमले श्रेणियां, 17 नॉर्मलाइजेशन तकनीकें, और शिप्ड हमला fixture सेट पर 64/64 आंतरिक रिकॉल शामिल हैं। README बेंचमार्क 38 वास्तविक एजेंट-इनपुट हमलों और 76 अच्छी तरह से जाने गए ओपन-सोर्स READMEs को नकारात्मक रूप से उपयोग करता है, जिसमें precision 86.1%, recall 97.4%, F1 0.914, 30/30 ज्ञात-आकार के हमले पकड़े गए और 7/8 नवीन-संदर्भात्मक परिप्रेक्ष्य पकड़े गए। यह बताता है कि ज्ञात एक मिस एक पाइप-टू-शेल इंस्टॉल लाइन है जो साफ़ READMEs में भी दिखाई देती है, और एक टेस्ट एसेर्ट करता है कि स्कैनर उसे फ़्लैग नहीं करता। अंतराल आंकड़े दिए गए हैं: लगभग 0.7 ms छोटी इनपुट के लिए, लगभग 4.2 mstypical हमले स्ट्रिंग के लिए, लगभग 311 ms वास्तविक README के लिए, और 26 KB प्रति सेकंड सिंगल-थ्रेडेड सहਿष्णु थ्रूपुट। README नोट करता है कि ये आंकड़े in-repo corpus से पुनः उत्पन्न किए गए हैं और हार्डवेयर भिन्न होगा।
गहरा ऑडियो और वीडियो स्कैन Whisper और FFmpeg की आवश्यकता करता है, और प्रोजेक्ट उन मीडिया स्कैन को प्रायोगिक के रूप में चिह्नित करता है। स्कैनिंग स्थानीय रूप से चलती है: README बताता है कि कोई क्लाउड, कोई API कुंजी और स्कैनिंग के लिए कोई टेलीमेट्री नहीं है। यह भी नोट करता है कि स्थिर स्कैनर स्कैन की गई सामग्री को निष्पादित नहीं करता, जबकि pin कमांड अनुमति मांगने के बाद ही configured MCP सर्वर चलाता है और बिना अनुमति के असहाय संदर्भों में मना करता है। प्रोजेक्ट इसे स्थानीय नींव परत के रूप में स्थिति देता है जिसे अकेले या क्लाउड गार्डरेल टूल्स के साथ साथ उपयोग किया जा सकता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.