منصوبے کے بارے میں

SUNGLASSES AI ایجنٹس کے لیے ایک اوپن سورس، صرف مقامی (local-only) ان پٹ انسپکشن لیئر ہے، جسے اس کے README میں ان پٹ فائر وال کے طور پر بیان کیا گیا ہے۔ یہ Python میں لکھا گیا ہے اور MIT لائسنس کے تحت جاری کیا گیا ہے۔ یہ پروجیکٹ کسی ایجنٹ کے عمل کرنے سے پہلے مواد کو اسکین کرتا ہے اور مواد کو خاموشی سے دوبارہ لکھنے یا حذف کرنے کے بجائے نتائج کی رپورٹ کرتا ہے۔ یہ چھ میڈیا اقسام کا احاطہ کرتا ہے: ٹیکسٹ، تصاویر، آڈیو، ویڈیو، PDFs اور QR/بار کوڈز۔ امیج اسکیننگ میں OCR، EXIF میٹا ڈیٹا اور چھپے ہوئے متن کی شناخت استعمال کی جا سکتی ہے؛ PDF اسکیننگ صفحات کے متن، میٹا ڈیٹا اور نوٹیشنز کو پڑھتی ہے؛ آڈیو اور ویڈیو ڈیپ اسکینز میں اسپیچ-ٹو-ٹیکسٹ اور سب ٹائٹل ایکسٹریکشن استعمال ہوتا ہے۔ اسکینر کا ہدف پرامپٹ انجکشن، کریڈنشل ایکسفلٹریشن، کمانڈ انجکشن، میموری پوائزننگ، سوشل انجینئرنگ اور ایویشن تکنیکیں ہیں جیسے کہ Unicode ٹرکس، RTL ابفوسکیشن، leetspeak، Base64 انکوڈنگ اور homoglyph substitution۔ SUNGLASSES بنیادی طور پر انگریزی زبان کے لیے ہے۔ README کے مطابق مکمل رولزٹ انگریزی میں ہے؛ 13 زبانوں کے لیے صرف دو مخصوص پیٹرنز ہیں؛ 7 زبانیں صرف کی ورڈ لیول تک محدود ہیں؛ اور فارسی اور بنگالی کو صرف نام کے طور پر درج کیا گیا ہے جن کے لیے کوئی مخصوص پیٹرن یا کی ورڈ موجود نہیں ہے۔ نارملائزیشن زبان سے آزاد ہے۔ پروجیکٹ خبردار کرتا ہے کہ غیر انگریزی زبانوں سے انگریزی جیسی یکسانیت کی توقع نہ کی جائے اور گہری لسانی کوریج کو v0.6+ کے لیے رکھا گیا ہے۔ انسٹالیشن pip کے ذریعے ہوتی ہے: زیرو-ڈیپینڈینسی ٹیکسٹ اسکیننگ کے لیے pip install sunglasses، اور تصاویر، PDFs، QR کوڈز، آڈیو اور ویڈیو کے لیے media یا all extras کا استعمال کیا جاتا ہے۔ CLI میں scan، check، demo، info اور report کے آپشنز موجود ہیں۔ Python API ٹیکسٹ کے لیے SunglassesEngine اور میڈیا کے لیے SunglassesScanner فراہم کرتی ہے۔ دیگر انٹیگریشنز میں MCP سرور، LangChain اور CrewAI انٹیگریشنز، CI کے لیے SARIF 2.1.0 آؤٹ پٹ، اور ٹیکسٹ، GitHub ریپوزٹریز اور تصاویر کے لیے ایک براؤزر ڈیمو شامل ہیں۔ CLI ایک واضح ایگزٹ-کوڈ کنٹریکٹ استعمال کرتا ہے۔ 0 کا مطلب ہے کہ پورا ان پٹ پڑھ لیا گیا اور کوئی خطرہ نہیں ملا۔ 1 کا مطلب ہے کہ خطرہ پایا گیا۔ 2 کا مطلب ہے کہ استعمال یا آپریشنل غلطی ہے جہاں مطلوبہ دائرہ کار میں کچھ بھی اسکین نہیں ہوا۔ 3 کا مطلب ہے نامکمل معائنہ: جس حصے کو پڑھا جا سکا وہاں کچھ نہیں ملا، لیکن کچھ حصے نہیں پڑھے جا سکے، جیسے کہ کوئی آرکائیو، ڈیپ اسکین کے بغیر آڈیو فائل، یا سائز کی حد سے زیادہ ان پٹ۔ ترجیح 1 > 3 > 2 > 0 ہے۔ JSON آؤٹ پٹ threat_found، inspection_complete اور is_clean کو الگ کرتا ہے، اور truncated اور extraction_complete کی رپورٹ کرتا ہے۔ انجن ڈیفالٹ طور پر زیادہ سے زیادہ 1 MB پڑھتا ہے، اور وہ اسکین جو اس حد تک پہنچ جاتا ہے وہ خاموش کلیئر پاس کے بجائے truncated اور bytes_scanned کی رپورٹ کرتا ہے۔ v0.4 فائر وال Claude Code PreToolUse ہک کے طور پر انسٹال ہوتا ہے اور اسے 'بہترین کوشش' (best-effort) کے طور پر بیان کیا گیا ہے: اس کا ٹائم آؤٹ 10 سیکنڈ ہے اور ٹائم آؤٹ ہونے والا ہک کال کو بلاک نہیں کرتا۔ یہ MCP ٹول ڈیسکرپٹرز کو پن کر سکتا ہے اور چیک کر سکتا ہے کہ آیا وہ تبدیل ہوئے ہیں، ٹول کالز پر مخصوص فارمیٹ کے سیکرٹس کو بلاک کر سکتا ہے جو بائٹس کو وائر پر بھیج سکتے ہیں، صارف کی پالیسی فائل کو نافذ کر سکتا ہے، اور رسیدیں لکھ سکتا ہے جو ٹول ان پٹ کے بجائے اس کے SHA-256 کو ریکارڈ کرتی ہیں۔ پروجیکٹ DETERMINISTIC حقائق کو، جنہیں سخت بلاک کیا جا سکتا ہے، ڈیٹیکشنز سے الگ کرتا ہے جو آٹو بلاک کرنے کے بجائے صارف تک پہنچاتے ہیں۔ یہ 'fail open' ہوتا ہے اور ریکارڈ کرتا ہے جب کسی کال کی جانچ نہیں کی گئی ہوتی۔ README ایماندارانہ حدود بتاتا ہے: ڈیسکرپٹر پننگ لائیو نہیں ہے؛ ہک ٹول کال ٹیکسٹ کو دیکھتا ہے، اس کے پیچھے موجود فائلوں کو نہیں؛ انٹرپریٹر یا ساکٹ ون-لائنرز ایگریس (egress) کو چھپا سکتے ہیں؛ WARN لین ڈیفالٹ طور پر بند ہے۔ شائع کردہ کارکردگی اور بینچ مارک اعداد و شمار میں 1,540 پیٹرنز، 6,931 منفرد کی ورڈز، 118 حملہ کی کیٹیگریز، 17 نارملائزیشن تکنیکیں، اور فراہم کردہ اٹیک فکسچر سیٹ پر 64/64 کا اندرونی ریکال شامل ہے۔ README بینچ مارک 38 حقیقی ایجنٹ-ان پٹ حملوں اور 76 معروف اوپن سورس READMEs کو منفی نمونوں کے طور پر استعمال کرتا ہے، جس میں 86.1% پریسیژن، 97.4% ریکال، F1 0.914، 30/30 معلوم شکل کے حملوں کی شناخت اور 7/8 نئے سیمیٹک پیرافریزز کی شناخت رپورٹ کی گئی ہے۔ یہ بتاتا ہے کہ ایک معلوم مس (miss) ایک پائپ-ٹو-شیل انسٹال لائن ہے جو صاف READMEs میں بھی ظاہر ہوتی ہے، اور ایک ٹیسٹ تصدیق کرتا ہے کہ اسکینر اسے فلیگ نہیں کرتا۔ لیٹنسی کے اعداد و شمار مختصر ان پٹ کے لیے تقریباً 0.7 ms، ایک عام اٹیک سٹرنگ کے لیے تقریباً 4.2 ms، ایک حقیقی README کے لیے تقریباً 311 ms، اور سنگل تھریڈڈ تقریباً 26 KB فی سیکنڈ تھرو پٹ ہیں۔ README نوٹ کرتا ہے کہ یہ ریپو کے اندر موجود کورپس سے دوبارہ تیار کیے گئے ہیں اور ہارڈ ویئر کے لحاظ سے مختلف ہو سکتے ہیں۔ ڈیپ آڈیو اور ویڈیو اسکیننگ کے لیے Whisper اور FFmpeg کی ضرورت ہوتی ہے، اور پروجیکٹ ان میڈیا اسکینز کو تجرباتی قرار دیتا ہے۔ اسکیننگ مقامی طور پر چلتی ہے: README بیان کرتا ہے کہ اسکیننگ کے لیے کوئی کلاؤڈ، کوئی API کیز اور کوئی ٹیلی میٹری نہیں ہے۔ یہ یہ بھی نوٹ کرتا ہے کہ اسٹیٹک اسکینر اسکین شدہ مواد کو ایگزیکیوٹ نہیں کرتا، جبکہ pin کمانڈ صرف رضامندی کے بعد کنفیگرڈ MCP سرورز کو لانچ کرتی ہے اور غیر حاضر سیاق و سباق میں رضامندی کے بغیر انکار کر دیتی ہے۔ پروجیکٹ خود کو ایک مقامی بنیاد کے طور پر پیش کرتا ہے جسے اکیلے یا کلاؤڈ گارڈ ریل ٹولز کے ساتھ استعمال کیا جا سکتا ہے۔