ChatGPT اور دیگر LLMs سے "پوشیدہ کوڈ" کو کیسے ہٹایا جائے۔

CometAPI
AnnaDec 2, 2025
ChatGPT اور دیگر LLMs سے "پوشیدہ کوڈ" کو کیسے ہٹایا جائے۔

چونکہ بڑے لینگویج ماڈلز (LLMs) تیزی سے ورکنگ کوڈ تیار کرتے ہیں اور ڈیولپمنٹ پائپ لائنز اور ایجنٹ اسٹیک میں ضم ہو جاتے ہیں، اس لیے خطرہ بڑھتا جا رہا ہے کہ چھپے ہوئے or بدقسمتی سے ہدایات — چاہے ماڈل آؤٹ پٹس میں سرایت کی گئی ہوں، ویب پیجز یا تھرڈ پارٹی پلگ ان کے ذریعے انجیکشن کی گئی ہوں، یا ماڈل ٹریننگ کے دوران متعارف کروائی گئی ہوں — جب اس کوڈ کو لاگو کیا جاتا ہے تو غیر محفوظ رویے کا سبب بن سکتا ہے۔

ڈویلپر کمیونٹیز میں گردش کرنے والی صارف کی رپورٹوں کے مطابق، ایک سافٹ ویئر ڈویلپر کو تباہ کن ڈیٹا کے نقصان کا سامنا کرنا پڑا — تقریباً 800GB فائلیں حذف کر دی گئیں۔، سمیت پوری کرسر اے آئی ایپلی کیشن خود - کی مدد سے تیار کردہ کوڈ پر عمل کرنے کے بعد Gemini 3 کے اندر کام کرتے ہوئے CursorAI IDE. چونکہ ڈویلپرز کوڈ جنریشن کے لیے LLMs پر تیزی سے انحصار کرتے ہیں، غیر جائزہ یا غیر محفوظ اسکرپٹس کے نتائج مزید سنگین ہوتے جاتے ہیں۔

لہذا، یہ جاننا کافی ضروری ہے کہ ایل ایل ایم کے ذریعہ تیار کردہ خطرناک کوڈز کا پتہ لگانے اور ان کو کیسے ہٹایا جائے۔

ChatGPT اور LLMs کے تناظر میں "پوشیدہ کوڈ" کیا ہے؟

"پوشیدہ کوڈ" سے لوگوں کا کیا مطلب ہے؟

"پوشیدہ کوڈ" ایک چھتری کی اصطلاح ہے جو ڈویلپر کسی بھی ایمبیڈڈ ہدایات یا قابل عمل مواد کو متن (یا فائلوں) کے اندر بیان کرنے کے لیے استعمال کرتے ہیں جسے LLM داخل کرتا ہے یا خارج کرتا ہے، بشمول:

  • فوری طرز کی ہدایات صارف کے مواد کے اندر سرایت شدہ (مثال کے طور پر، "پہلے کی ہدایات کو نظر انداز کریں…" پی ڈی ایف میں چھپی ہوئی)۔
  • غیر مرئی کردار یا صفر چوڑائی والی جگہیں ٹوکنز کو چھپانے یا ٹوکنائزیشن کے مفروضوں کو توڑنے کے لیے استعمال ہوتی ہیں۔
  • انکوڈ شدہ پے لوڈز (بیس 64، یو آر ایل انکوڈ شدہ، تصاویر یا دستاویزات کے اندر سٹیگنوگرافک ایمبیڈنگز)۔
  • پوشیدہ HTML/JS یا فارمیٹ شدہ مواد میں شامل اسکرپٹ بلاکس جن کی ترجمانی ڈاؤن اسٹریم رینڈررز کے ذریعے کی جا سکتی ہے۔
  • میٹا ڈیٹا یا تشریحات (فائل تبصرے، پی ڈی ایف میں چھپی ہوئی پرتیں) جو بازیافت کے نظام یا ماڈل کو ہدایت کرتی ہیں۔
  • مضمر طرز عمل تیار کردہ کوڈ سے پیدا ہوتا ہے جو خطرناک APIs کا استعمال کرتا ہے (مثال کے طور پر، eval, exec, subprocess، یا نیٹ ورک/سسٹم کالز) — یہاں تک کہ جب ارادہ واضح طور پر بدنیتی پر مبنی نہ ہو۔
  • فوری انجیکشن ہدایات جو ماڈل کو کوڈ بنانے کا سبب بنتا ہے جس میں پوشیدہ کمانڈز یا بیک ڈور جیسی منطق شامل ہوتی ہے کیونکہ حملہ آور نے پرامپٹ یا سیاق و سباق کو انجینئر کیا تھا۔

یہ حملہ ویکٹر اکثر کہا جاتا ہے فوری انجکشن or بالواسطہ فوری انجیکشن جب مقصد ماڈل کے رویے کو تبدیل کرنا ہے۔ سیکیورٹی کمیونٹی اب فوری انجیکشن کو بنیادی LLM خطرے کے طور پر دیکھتی ہے اور OWASP نے اسے LLM خطرے کے زمرے کے طور پر باقاعدہ بنا دیا ہے۔

یہ ریگولر میلویئر یا XSS سے کیسے مختلف ہے؟

فرق یہ ہے۔ معنوی پرت: پرامپٹ انجیکشن میزبان OS یا براؤزر رینڈرنگ انجن کے بجائے ماڈل کے ہدایات کے مطابق رویے کو نشانہ بناتا ہے۔ اس نے کہا، پوشیدہ ایچ ٹی ایم ایل یا اسکرپٹ جو ویب رینڈرر میں چلتا ہے اب بھی ایک قابل عمل حملہ ہے (XSS کی طرح)؛ سیمنٹک اور ایگزیکیوشن دونوں پرتوں کا دفاع کیا جانا چاہیے۔ صنعت کے رہنماؤں اور محققین نے فوری انجیکشن کو "فرنٹیئر سیکیورٹی چیلنج" قرار دیا ہے اور تخفیف کی حکمت عملی شائع کرنا جاری رکھا ہے۔

ایل ایل ایم خفیہ یا خطرناک کوڈ کیوں تیار کر سکتا ہے؟

ماڈل سلوک، تربیتی ڈیٹا، اور ہدایات کا سیاق و سباق

LLMs کو سیاق و سباق اور ہدایات کے مطابق قابل عمل تسلسل پیدا کرنے کی تربیت دی جاتی ہے۔ اگر سیاق و سباق میں مخالف اشارے ہوں، یا اگر کوئی صارف ماڈل سے کوڈ مانگتا ہے جو طاقتور کارروائیاں کرتا ہے، تو ماڈل کوڈ آؤٹ پٹ کر سکتا ہے جس میں لطیف یا فعال رویہ شامل ہے۔

LLMs قابل فہم لیکن غیر محفوظ کوڈ تیار کرتے ہیں۔

LLM کو روانی اور افادیت کے لیے بہتر بنایا گیا ہے، تباہ کن ضمنی اثرات کی موجودگی میں حفاظت کے لیے نہیں۔ وہ خوشی سے ایک مختصر تخلیق کریں گے۔ rm -rf /path/to/dir or shutil.rmtree() "صاف" کرنے کے لیے کہے جانے پر کال کریں — اور چونکہ ان کے جوابات اکثر اعتماد کے ساتھ بیان کیے جاتے ہیں، اس لیے صارفین ناکافی جانچ کے ساتھ کاپی اور چلا سکتے ہیں۔ یہ "پراعتماد فریب" مسئلہ یہی ہے کہ بظاہر بے ضرر درخواستیں خطرناک کیوں ہو جاتی ہیں۔

مبہم ورک فلو کا آٹومیشن

دھمکی دینے والے اداکار اب LLM کالوں کی زنجیر بنا کر کوڈ کی مبہمیت کو خودکار کر رہے ہیں: ایک ماڈل پے لوڈ تیار کرتا ہے، دوسرا دستخط کی نشاندہی سے بچنے کے لیے اسے دوبارہ کام کرتا ہے، وغیرہ۔ 2025 میں صنعت کے خطرے کی رپورٹس اور وینڈر کے تجزیے اس "AI کی مدد سے ابھرتی ہوئی تکنیک" کی دستاویز کرتے ہیں۔

آپ ماڈل آؤٹ پٹ کے اندر چھپے ہوئے کوڈ کا کیسے پتہ لگا سکتے ہیں؟

فوری ٹرائیج چیک لسٹ

  1. غیر مرئی/غیر معمولی یونیکوڈ کے لیے اسکین کریں۔ (صفر چوڑائی جوائنرز، صفر چوڑائی کی جگہیں، بائٹ آرڈر مارکس، نان ASCII ہوموگلیفس)۔
  2. جامد تجزیہ / اے ایس ٹی پارسنگ چلائیں۔ طاقتور APIs کے استعمال کی شناخت کے لیے (eval, exec, subprocess, os.system، عکاس کالز)۔
  3. انکوڈ شدہ پے لوڈز تلاش کریں۔ (base64، hex blobs، بار بار لمبی تاریں یا کمپریسڈ مواد)۔
  4. مبہم پیٹرن کی جانچ کریں۔ (سٹرنگ کنکٹنیشن جو API کے ناموں، کریکٹر ریاضی، chr() زنجیریں)۔
  5. معنوی تجزیہ استعمال کریں۔ اس بات کی تصدیق کرنے کے لیے کہ آیا کوڈ اصل میں I/O، نیٹ ورکنگ، یا فائل سسٹم میوٹیشن انجام دیتا ہے۔

جامد پیٹرن کا پتہ لگانا (تیز، پہلی لائن)

  • زبان سے واقف پارسنگ اور لنٹنگ۔ کوڈ بلاکس بمقابلہ نثر میں پیدا شدہ آؤٹ پٹ کو فوری طور پر پارس کریں۔ فارمیٹرز اور لنٹرز چلائیں (سیاہ/خوبصورت، پائلنٹ، ایسلنٹ)۔ لنٹ کے قواعد کے استعمال کو پرچم لگانا چاہئے۔ eval, exec, rm -rf, خام سب پروسیس کالز، یا شیل پائپ جو متحرک طور پر کمانڈز بناتے ہیں۔
  • ٹوکن- اور سٹرنگ پیٹرن سکینر۔ ہائی رسک ٹوکن اور پیٹرن تلاش کریں: sudoجیسے مطلق راستے /home/, C:\, rm -rf, shutil.rmtree, subprocess.Popen, inline base64 blobs، لمبی ناقابل تشریح تاریں، اور شیبینگز جو مترجم سیاق و سباق کو تبدیل کرتی ہیں۔
  • خفیہ اسکیننگ اور پرووینس چیکس۔ ہارڈ کوڈ شدہ اسناد، غیر بھروسہ مند رجسٹریوں کی طرف اشارہ کرنے والے یو آر ایل، یا کوڈ کا پتہ لگائیں جو صوابدیدی ذرائع سے پیکجوں کو متحرک طور پر کھینچتا ہے۔

جامد تجزیہ بہت سے واضح مسائل کو تیزی سے پکڑتا ہے اور CI گیٹ کے حصے کے طور پر چلنا سستا ہے۔

معنوی اور سیاق و سباق کا پتہ لگانا (گہرا)

  • ارادے کا تجزیہ۔ تیار کردہ کوڈ کے ارادے کی درجہ بندی کرنے کے لیے ثانوی ماڈل یا اصول کے انجن کا استعمال کریں: کیا یہ "پڑھیں،" "لکھیں،" "حذف کریں،" "نیٹ ورک،" "انسٹال کریں"؟ حذف/لکھنے کے طور پر درجہ بندی کردہ کسی بھی چیز کو بڑھنے کو متحرک کرنا چاہیے۔
  • ڈیٹا کے بہاؤ کا تجزیہ۔ یہ معلوم کرنے کے لیے کوڈ کا تجزیہ کریں کہ آیا غیر تصدیق شدہ یا صارف کے فراہم کردہ راستے تباہ کن APIs تک پہنچ سکتے ہیں۔ مثال کے طور پر، اگر LLM آؤٹ پٹ یا ریموٹ فائل سے اخذ کردہ متغیر کو بعد میں شیل کمانڈ میں جوڑ دیا جاتا ہے، تو اسے جھنڈا لگائیں۔
  • پرووننس ارتباط۔ گفتگو، سسٹم پرامپٹ، اور سیاق و سباق کے صفحات کا مکمل ریکارڈ رکھیں۔ اگر مشتبہ نتائج کسی خاص بیرونی دستاویز یا پلگ ان کال سے منسلک ہوتے ہیں، تو یہ فوری انجیکشن یا داغدار سیاق و سباق کی نشاندہی کر سکتا ہے۔

متحرک اور طرز عمل کا پتہ لگانا (سب سے زیادہ قابل اعتماد)

  • نگرانی کے ساتھ سینڈ باکس پر عملدرآمد۔ بغیر کسی نیٹ ورک، کوئی میزبان ماونٹس، اور سیسکال فلٹرنگ (seccomp) کے بغیر سختی سے محدود عارضی ماحول میں تیار کردہ کوڈ پر عمل کریں۔ فائل سسٹم کی سرگرمی، نیٹ ورک کالز کی کوشش، پروسیس اسپننگ، اور غیر معمولی I/O کی نگرانی کریں۔
  • کینری ٹیسٹنگ۔ اصلی ڈیٹا پر چلنے سے پہلے، کوڈ کو مصنوعی ڈائریکٹریز کے خلاف چلائیں جن میں سینٹینیل فائلیں ہوتی ہیں۔ حذف یا اوور رائٹ کے لیے مانیٹر کریں۔
  • طرز عمل کی تحقیق۔ ایسے لوپس کو تلاش کریں جو پیرنٹ ڈائرکٹریز کو عبور کرتے ہیں، گہرائی کی جانچ کے بغیر دوبارہ چلنے والے آپریشنز، یا ایسے نمونوں کا نام تبدیل کریں جو بہت سی فائلوں کو نقصان پہنچا سکتے ہیں (جیسے، بار بار ایک ہی فائل کا نام لکھنا)۔
    متحرک تجزیہ ان پے لوڈز کا پتہ لگانے کا واحد طریقہ ہے جو مبہم، تاخیر یا صرف رن ٹائم پر متحرک ہوتے ہیں۔

LLM آؤٹ پٹس کو انجام دینے سے پہلے آپ کو پوشیدہ کوڈ کو کیسے ہٹانا یا غیر جانبدار کرنا چاہئے؟

دفاعی ہٹانا بمقابلہ الفاظ کو تبدیل کرنا

"پوشیدہ کوڈ کو ہٹانے" کے دو مقاصد ہیں:

  1. صفائی — ایسے مواد کو ہٹا دیں جو واضح طور پر غیر کوڈ یا مشکوک ہو (غیر مرئی یونیکوڈ، صفر چوڑائی کے حروف، منسلک بیس 64 پے لوڈز)۔ اس سے مطلوبہ، سومی منطق کو تبدیل نہیں ہونا چاہیے۔
  2. غیر جانبداری - کسی بھی ایسی چیز کے لیے جو خارجی خدمات کو انجام دیتی ہے یا کال کرتی ہے، ان کالوں کو غیر فعال کر دیتی ہے یا تصدیق ہونے تک انہیں غیر فعال کر دیتی ہے۔

ہمیشہ ترجیح دیں۔ غیر جانبداری + جائزہ اوور بلائنڈ ڈیلیٹیشن: کوڈ کے کچھ حصوں کو من مانی طور پر ہٹانا ٹوٹا ہوا یا غیر متوقع رویہ پیدا کر سکتا ہے۔ اس کے بجائے، مشکوک تعمیرات کو واضح، لاگ ان اسٹبس سے تبدیل کریں جو محفوظ طریقے سے ناکام ہو جائیں (استثنیات کو بڑھا دیں یا محفوظ ڈیفالٹس واپس کریں)۔

مرحلہ 1 — تیار کردہ کوڈ کو ناقابل اعتماد ڈیٹا سمجھیں۔

کوڈ کو ہٹانے اور سخت کرنے والی پائپ لائن سے گزرے بغیر کبھی بھی ChatGPT (یا کسی LLM) سے براہ راست عمل نہ کریں۔ اس پائپ لائن کو پالیسی کے ذریعہ نافذ کیا جانا چاہئے اور CI/CD میں خودکار ہونا چاہئے۔

مرحلہ 2 - کوڈ کو نکالیں اور کینونیکلائز کریں۔

  • متن کو معمول بنائیں اور صفر چوڑائی والے حروف کو ہٹا دیں۔: پٹی والے حروف جیسے U+200B، U+200C، U+200D، U+FEFF، اور دیگر صفر چوڑائی / فارمیٹنگ کوڈ پوائنٹس۔ لاگ ان کریں جو آڈٹ کے لیے ہٹایا گیا تھا۔ یہ قدم بصری اسٹیلتھ کے لیے استعمال ہونے والی بہت سی "چھپی ہوئی" انکوڈنگز کو ختم کرتا ہے۔
  • تمام غیر کوڈ سیاق و سباق کو ہٹا دیں۔: بیانیہ، پوشیدہ تبصرے، اور کسی بھی HTML/مارک ڈاؤن ریپرز کو ہٹا دیں۔ زبان کے فارمیٹرز (سیاہ، خوبصورت) کا استعمال کرتے ہوئے کوڈ کو کینونیکل شکل میں تبدیل کریں تاکہ مبہم وائٹ اسپیس یا کنٹرول حروف کو معمول بنایا جائے۔
  • ان تعمیرات کے ساتھ کوڈ کو مسترد کریں یا قرنطینہ کریں۔: متحرک eval, خام ذیلی عمل کالز (os.system, subprocess.Popen)، ان لائن بیس 64 بلاب کو ڈی کوڈ کیا گیا، یا ایمبیڈ کیا گیا۔ #! وہ ہدایات جو مترجم کے سیاق و سباق کو تبدیل کرنے کی کوشش کرتی ہیں۔ متن کو معمول بنائیں اور صفر چوڑائی والے حروف کو ہٹا دیں۔
    پٹی والے حروف جیسے U+200B، U+200C، U+200D، U+FEFF، اور دیگر صفر چوڑائی / فارمیٹنگ کوڈ پوائنٹس۔ لاگ ان کریں جو آڈٹ کے لیے ہٹایا گیا تھا۔ یہ قدم بصری اسٹیلتھ کے لیے استعمال ہونے والی بہت سی "چھپی ہوئی" انکوڈنگز کو ختم کرتا ہے۔

مرحلہ 3 - AST میں تجزیہ کریں اور خطرناک نوڈس کو تبدیل کریں۔

کوڈ کو AST میں پارس کرنے کے ساتھ، ایسے نوڈس تلاش کریں جو ڈائنامک ایگزیکیوشن کہتے ہیں (جیسے، exec)، یا یہ کہ پروگرام کے لحاظ سے فنکشن کے نام بنائیں۔ ان کو محفوظ اسٹبس سے تبدیل کریں جو ایک کنٹرول شدہ استثناء کو ظاہر کرتے ہیں جو "غیر محفوظ متحرک رویے کو مسدود کر دیا گیا ہے۔" جائزہ کے لیے AST کی حمایت یافتہ ماخذ کی سینیٹائزڈ کاپی تیار کریں۔ سیکیورٹی پیٹرن چیک چلائیں (اپنے ماحول کے لیے حسب ضرورت سیمیگریپ رولز)۔ جہاں مماثلتیں ملیں، ان کو نشان زد کریں اور بے اثر کریں۔

مرحلہ 4 - جامد سختی اور دوبارہ لکھنا

  • خودکار دوبارہ لکھنا: ایک خودکار سینیٹائزر کے ذریعے کوڈ پاس کریں جو خطرناک کالوں کو محفوظ ریپرز سے بدل دیتا ہے — مثال کے طور پر، تبدیل کریں os.system() / subprocess ایک منظور شدہ سینڈ باکسڈ ایگزیکیوٹر کے ساتھ جو ٹائم آؤٹ اور نیٹ ورک بلاکس کو نافذ کرتا ہے۔
  • صلاحیت گیٹنگ: API کیز، ٹوکنز، یا مراعات یافتہ اختتامی پوائنٹس پر کالز میں ترمیم یا ہٹانا؛ مقامی جانچ کے لیے انہیں فرضی اڈاپٹر سے تبدیل کریں۔ راز یا یو آر ایل کو حادثاتی طور پر شامل کرنے سے روکیں۔
  • انحصار دوبارہ لکھتا ہے۔: بلاک ڈائنامک pip / npm کوڈ کے ذریعہ بنائے گئے انسٹال۔ آپ کی رجسٹری کے ذریعے انحصار کا اعلان اور منظوری کی ضرورت ہے۔

مرحلہ 5 - ایک جارحانہ سینڈ باکس کے اندر چلائیں۔

  • عارضی کنٹینرز / مائکرو وی ایم: کوڈ کو ایسے کنٹینر/VM میں لگائیں جس میں کوئی نیٹ ورک نہ ہو، میزبان اسناد تک رسائی نہ ہو، اور فائل سسٹم تک محدود رسائی ہو۔ ٹیکنالوجیز جیسے gVisor، Firecracker، یا وقف شدہ عارضی عملدرآمد کی خدمات مناسب ہیں۔ اگر کوڈ کو I/O تک رسائی حاصل کرنا ضروری ہے، تو پالیسی کو نافذ کرنے والی پراکسی کا استعمال کریں۔
  • سسٹم کال فلٹرز اور سیکومپ: محدود کریں کہ کون سے سیسکال کی اجازت ہے۔ عارضی ڈائرکٹری کے باہر لکھنے والی فائل کو بلاک کیا جانا چاہئے۔
  • وسائل/وقت کی حدود: CPU/میموری/وقت کی حد مقرر کریں تاکہ منطقی بم بھی غیر معینہ مدت تک نہ چل سکیں۔

سینڈ باکس ایگزیکیوشن پلس مانیٹرنگ اکثر ایسے پے لوڈز کو بے نقاب کرتی ہے جو جامد چیک سے محروم رہتے ہیں۔ صنعتی رہنمائی اور حالیہ وائٹ پیپرز سینڈ باکسنگ کو بنیادی تخفیف کے طور پر تجویز کرتے ہیں۔

آپ کی پائپ لائن میں کون سے خودکار ٹولز اور قواعد ہونے چاہئیں؟

تجویز کردہ ٹول چین اجزاء

  • یونیکوڈ صفائی ماڈیول (اپنی مرضی کے مطابق یا موجودہ لائبریریاں)۔ معمول کے حروف کو لاگ کرنا ضروری ہے۔
  • تجزیہ کار + AST تجزیہ کار ہر ہدف کی زبان کے لیے (Python ast, typed-ast, JavaScript parsers, Java parsers)۔
  • جامد تجزیہ کار / SAST: ڈاکو (ازگر)، سیمگریپ (ملٹی لینگ، حسب ضرورت)، سیکیورٹی پلگ ان کے ساتھ ESLint۔
  • اینٹروپی اور ڈیکوڈر ہیورسٹکس: base64/hex/gzip اور معائنہ کے راستے کا پتہ لگائیں۔
  • سینڈ باکس رن ٹائم: سخت seccomp/AppArmor پروفائل کے ساتھ کم سے کم کنٹینر یا معذور سیسکال کے ساتھ زبان کی سطح کے ترجمان۔
  • پالیسی نافذ کرنے والا: ایک جزو جو اجازت شدہ ماڈیولز، اجازت شدہ اختتامی پوائنٹس، اور محفوظ API ریپرز کا فیصلہ کرتا ہے۔
  • حساب کتاب کا دور: غیر تبدیل شدہ لاگز جو اصل آؤٹ پٹ، سینیٹائزڈ آؤٹ پٹ، فرق اور فیصلوں کو ریکارڈ کرتے ہیں۔

مثال semgrep پیٹرن (تصوراتی)

مختصر، قدامت پسند اصول استعمال کریں جو خطرناک افعال کے استعمال کو جھنجھوڑتے ہیں۔ مثال کے طور پر:

  • پرچم eval, exec, Function کنسٹرکٹر (جے ایس)، ڈائنامک امپورٹس، یا سٹرنگ بلٹ API نام۔
  • اجازت یافتہ فہرست سے باہر نیٹ ورک کالوں پر جھنڈا لگائیں (مثلاً، requests.get نامعلوم میزبانوں کو)۔
  • جھنڈا حساس راستوں پر لکھتا ہے (/etc, سسٹم فولڈرز) یا عمل کی سپاننگ۔

(ان کو فی تنظیم کنفیگریشن آئٹمز کے طور پر رکھیں اور وقت کے ساتھ ساتھ ان کو سخت کریں۔)

پریکٹیکل سینیٹائزیشن کے ٹکڑوں (محفوظ مثالیں) کیا ہیں؟

ذیل میں غیر خطرناک، دفاعی مثالیں ہیں جنہیں آپ ڈھال سکتے ہیں۔ وہ ہیں۔ صفائی اور پتہ لگانے ٹکڑوں - ہدایات کا استحصال نہ کریں۔

مثال: پٹی صفر چوڑائی والے حروف (ازگر، دفاعی)

import re
ZERO_WIDTH_RE = re.compile(r'')
def strip_zero_width(s: str) -> str:
    cleaned = ZERO_WIDTH_RE.sub('', s)
    return cleaned

یہ ان کرداروں کو ہٹاتا ہے جو حملہ آور اکثر دوسری صورت میں نظر آنے والے متن میں کوڈ کو چھپانے کے لیے استعمال کرتے ہیں۔ جو ہٹایا گیا تھا اسے ہمیشہ لاگ کریں اور ہٹانے کو آڈٹ ٹریل کے حصے کے طور پر سمجھیں۔

مثال: تجزیہ کریں اور AST کا معائنہ کریں (ازگر، تصوراتی)

import ast

def has_dynamic_exec(source: str) -> bool:
    tree = ast.parse(source)
    for node in ast.walk(tree):
        if isinstance(node, ast.Call):
            if getattr(node.func, 'id', '') in ('eval', 'exec',):
                return True
        if isinstance(node, ast.Attribute):
            if getattr(node, 'attr', '') in ('popen', 'system'):
                return True
    return False

If has_dynamic_exec واپسی درست، کوڈ نہ چلائیں۔ اس کے بجائے متحرک نوڈ کو محفوظ سٹب سے تبدیل کریں اور جائزہ لینے کی ضرورت ہے۔

نوٹ: یہ مثالیں دفاعی نوعیت کی ہیں۔ اپنی پائپ لائن سے لاگنگ، آڈیٹنگ، یا انسانی جائزے کو نہ ہٹائیں۔

اختتامی خیالات: ہمیشہ LLM آؤٹ پٹ کو ناقابل اعتماد کوڈ کی طرح برتاؤ کریں۔

LMs طاقتور پیداواری ٹولز ہیں - وہ خوبصورت کوڈ تیار کر سکتے ہیں، ڈرافٹ کو تیز کر سکتے ہیں، اور معمول کے کام کو خودکار کر سکتے ہیں۔ لیکن جہاں وہ پھانسی پر پورا اترتے ہیں، وہاں سیکورٹی کے قوانین بدل جاتے ہیں: ماڈل آؤٹ پٹس کو ناقابل اعتماد نمونے کے طور پر سمجھا جانا چاہئے۔. پچھلے 18-30 مہینوں میں فوری انجیکشنز، بیک ڈور ریسرچ، اور حقیقی دنیا کے خطرے سے متعلق انکشافات کا مجموعہ ایک واضح نکتہ پیش کرتا ہے: خطرے کی سطح بڑھی ہے اور اس کا ارتقا جاری رہے گا۔

عملی دفاع جو تصریف، جامد تجزیہ، سینڈ باکسڈ ڈائنامک ٹیسٹنگ، گورننس، اور مسلسل ریڈ ٹیمنگ کو یکجا کرتے ہیں زیادہ تر حملوں کو روک دیں گے۔ لیکن ٹیموں کو تنظیمی کنٹرول میں بھی سرمایہ کاری کرنی چاہیے: کم از کم استحقاق، اصل، اور ایک ایسا کلچر جو یہ فرض کرتا ہے کہ LLM آؤٹ پٹس کو تصدیق کی ضرورت ہے۔ صنعت ان نمونوں کو آسان بنانے کے لیے ٹولز اور فریم ورک بنا رہی ہے۔ دریں اثنا، اوپر دی گئی چیک لسٹ کو اپنانے سے پوشیدہ پے لوڈ سلپ ہونے کا امکان کم ہو جاتا ہے۔

ڈویلپرز تازہ ترین LLM API تک رسائی حاصل کر سکتے ہیں جیسے کلاڈ سونیٹ 4.5 API اور جیمنی 3 پرو پیش نظارہ CometAPI کے ذریعے وغیرہ، جدید ترین ماڈل ورژن ہمیشہ سرکاری ویب سائٹ کے ساتھ اپ ڈیٹ کیا جاتا ہے۔ شروع کرنے کے لیے، میں ماڈل کی صلاحیتوں کو دریافت کریں۔ کھیل کے میدان اور مشورہ کریں API گائیڈ تفصیلی ہدایات کے لیے۔ رسائی کرنے سے پہلے، براہ کرم یقینی بنائیں کہ آپ نے CometAPI میں لاگ ان کیا ہے اور API کلید حاصل کر لی ہے۔ CometAPI آپ کو انضمام میں مدد کے لیے سرکاری قیمت سے کہیں کم قیمت پیش کریں۔

جانے کے لیے تیار ہیں؟→ CometAPI کے لیے آج ہی سائن اپ کریں۔ !

اگر آپ AI پر مزید ٹپس، گائیڈز اور خبریں جاننا چاہتے ہیں تو ہمیں فالو کریں۔ VKX اور Discord!

SHARE THIS BLOG

مزید پڑھیں

500+ ماڈلز ایک API میں

20% تک چھوٹ