GitHub AI Scan عام دستیاب—مگر خطرہ merge کو نہیں روکے گا

|مصنف: QUASA ادارتی ٹیم|6 منٹ مطالعہ
GitHub AI Scan عام دستیاب—مگر خطرہ merge کو نہیں روکے گا

GitHub نے 15 اکتوبر 2026 کو پُل ریکویسٹ کے لیے AI Scan کی عمومی دستیابی کا اعلان کیا۔ یہ CodeQL کی موجودہ کوریج سے باہر منتخب زبانوں اور فریم ورک میں بدلے ہوئے کوڈ کی ممکنہ سیکیورٹی خامیاں تلاش کرتا ہے۔ اس کے نتائج مشاورتی ہیں: وہ کوڈ اسکیننگ کی جانچ ناکام نہیں کرتے، اس لیے قواعد کے ذریعے پُل ریکویسٹ کا ضم ہونا نہیں روک سکتے۔

اس دائرے کی ایک اور حد فورک اور Dependabot کی پُل ریکویسٹ کا استثنا ہے؛ ان پر AI Scan نہیں چلتا۔ اہل پُل ریکویسٹ کے لیے بھی ذخیرے میں کوڈ اسکیننگ اور AI Scan کی مؤثر ترتیب فعال ہونا ضروری ہے۔ سیکیورٹی ٹیم کو اس خبر سے اضافی نشاندہی ملتی ہے، خودکار منظوری یا لازمی سیکیورٹی رکاوٹ نہیں۔

AI Scan کون سی تبدیلیاں دیکھتا ہے؟

GitHub کی پُل ریکویسٹ میں PHP، HCL اور Dockerfile کی تبدیلیاں AI Scan کی اضافی کوریج دکھاتی ہیں۔

AI Scan صرف پُل ریکویسٹ کی تبدیلیوں کا تجزیہ کرتا ہے، پورے ذخیرے کا مکمل اسکین نہیں۔ معاونت یافتہ مثالوں میں PHP، Shell اور Bash، Terraform کی HCL ترتیب، Dockerfiles، جاوا کے JSP حصے اور سی شارپ کا Blazor فریم ورک شامل ہیں۔ یہ CodeQL کا متبادل نہیں؛ اس کی توجہ انہی منتخب زبانوں اور فریم ورک پر ہے جنہیں CodeQL فی الحال کور نہیں کرتا۔ کسی زبان کا فہرست میں ہونا اس کی ہر قسم کی خامی پکڑے جانے کی ضمانت بھی نہیں۔

اہل پُل ریکویسٹ بننے پر اور ہر نئے کمٹ کے بعد اسکین چلتا ہے۔ نتیجہ ملتے ہی پُل ریکویسٹ میں ظاہر ہوسکتا ہے، چاہے CodeQL کا تجزیہ ابھی جاری ہو۔ نتائج گفتگو اور تبدیل شدہ فائلوں کے حصوں میں CodeQL کی نشاندہیوں کے ساتھ آتے ہیں؛ «AI» کا نشان انہیں الگ پہچان دیتا ہے۔ ہر نتیجہ مسئلے اور اس کے خطرے کی وضاحت کرتا ہے، جبکہ اکثر میں اصلاح کی تجویز بھی ہوتی ہے۔ جہاں دستیاب ہو، Copilot Autofix کوڈ میں ممکنہ تبدیلی تجویز کرسکتا ہے۔

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

نشاندہی ضم کرنے کی شرط کیوں نہیں بن سکتی؟

AI Scan کی نشاندہی پُل ریکویسٹ میں دکھائی دینے کے باوجود لازمی کامیاب کوڈ اسکیننگ جانچ کا درجہ نہیں رکھتی۔ ضم کرنے کے قواعد اسے ناکام جانچ بنا کر راستہ بند نہیں کرسکتے۔ اگر کسی ٹیم کی پالیسی خطرناک تبدیلی کو منظوری سے پہلے روکنے کی ہے تو اس کے لیے پہلے سے مقرر لازمی جانچ یا انسانی منظوری برقرار رکھنا ہوگی۔ AI Scan جائزہ لینے والے کو ایک اضافی اشارہ دیتا ہے؛ فیصلہ نافذ کرنے والا مرحلہ ٹیم کے موجودہ عمل میں رہتا ہے۔

AI پر مبنی نتیجے میں غلط مثبت نشاندہی بھی آسکتی ہے۔ جائزہ لینے والے کو بدلے ہوئے کوڈ کا سیاق دیکھ کر طے کرنا ہوگا کہ اطلاع واقعی قابلِ اصلاح خطرہ ہے یا غلط الارم؛ نتیجے پر رائے دینے کا اختیار بھی موجود ہے۔ یہ احتیاط خاص طور پر اس وقت اہم ہے جب اطلاع کے ساتھ اصلاح کی تجویز ہو: تجویز نظر آنے کا مطلب یہ نہیں کہ تبدیلی انسانی جائزے کے بغیر درست قرار پا گئی ہے۔

فورک سے آئی یا Dependabot کی بنائی ہوئی پُل ریکویسٹ میں AI Scan کی خاموشی کو محفوظ کوڈ کی علامت نہیں سمجھا جاسکتا، کیونکہ وہاں یہ اسکین چلتا ہی نہیں۔ اسی طرح کسی ذخیرے کی پرانی خامیوں کا مکمل حساب پُل ریکویسٹ کی اس جانچ سے نہیں ملتا۔ اس فرق سے ٹیم یہ طے کرسکتی ہے کہ AI Scan کہاں جائزے کو معلومات دے رہا ہے اور کہاں اس کی موجودہ جانچ اور منظوری کی شرائط ہی فیصلہ کن رہیں گی۔

کن ذخیروں میں دستیاب ہے؟

تنظیم یا ذاتی اکاؤنٹ کے عوامی ذخیرے AI Scan کے اہل ہیں۔ تنظیم کے نجی یا اندرونی ذخیرے کے لیے GitHub Code Security یا GitHub Advanced Security درکار ہے؛ ذاتی اکاؤنٹ کا نجی ذخیرہ اہل نہیں۔ منظم صارف کے ذاتی نام کے تحت موجود ذخیرے بھی خارج ہیں، چاہے ان میں کوڈ اسکیننگ فعال ہو۔ الگ GitHub Copilot لائسنس AI Scan چلانے کی شرط نہیں ہے۔

اہلیت کے بعد ترتیب کی شرط آتی ہے: ذخیرے میں کوڈ اسکیننگ فعال ہو، AI Scan کی مؤثر ترتیب اجازت دے اور پُل ریکویسٹ میں معاونت یافتہ تبدیلی ہو۔ CodeQL کی ڈیفالٹ ترتیب ضروری نہیں؛ اس کا تجزیہ ناکام یا منتظر ہو تب بھی اہل پُل ریکویسٹ پر AI Scan چل سکتا ہے۔ اس لیے صرف CodeQL کی حالت دیکھ کر AI Scan کی عملی کوریج کا اندازہ نہیں لگایا جاسکتا۔

تنظیمی ترتیب فعال کرنے سے ان تمام اہل ذخیروں میں AI Scan فوراً فعال ہوجاتا ہے جہاں کوڈ اسکیننگ پہلے ہی چل رہی ہو۔ منتظم کسی انفرادی ذخیرے کو بعد میں اس سے خارج کرسکتا ہے، مگر اس سے پہلے اہل اسکین کریڈٹ خرچ کرسکتے ہیں۔ تنظیمی اور انٹرپرائز منتظمین سیکیورٹی کوریج کے منظر میں ہر ذخیرے کی مؤثر AI Scan حالت دیکھ سکتے ہیں۔ اس سے تنظیمی ترتیب کے بعد متاثر ہونے والے ذخیروں کی شناخت ممکن ہوتی ہے۔

کریڈٹ کا خرچ اور نفاذ کا فیصلہ

GitHub کے تنظیمی ذخیرے میں کریڈٹ کی سخت حد پوری ہونے کے بعد AI Scan کی نئی نشاندہی رک جاتی ہے۔

AI Scan کے اہل اسکین Code Security AI Credits استعمال کرتے ہیں، عوامی ذخیرے میں بھی۔ یہ خرچ فعال کوڈ لکھنے والوں کے لائسنس سے الگ شمار ہوتا ہے۔ GitHub کی بلنگ شرائط کے مطابق بلنگ اکاؤنٹ کو GitHub Copilot کے تحت شامل AI کریڈٹ ملتے ہوں تو اہل استعمال پہلے ان سے لیا جاتا ہے؛ ان کے ختم ہونے پر، یا ایسے کریڈٹ نہ ہونے پر، استعمال کی پیمائش کے مطابق بلنگ ہوتی ہے۔ اس لیے عوامی ذخیرے میں لائسنس کی شرط نہ ہونا اسکین کو لازماً بلا خرچ نہیں بناتا۔

تنظیمی ذخیرے کا استعمال اس اکاؤنٹ سے منسوب ہوتا ہے جو تنظیم کی بلنگ ادا کرتا ہے۔ ذاتی اکاؤنٹ کے عوامی ذخیرے کا خرچ عموماً مالک کے اکاؤنٹ میں آتا ہے؛ اگر اسے تنظیم یا انٹرپرائز نے Copilot لائسنس دیا ہو تو استعمال فراہم کنندہ اکاؤنٹ سے منسوب ہوسکتا ہے۔ پُل ریکویسٹ بنتے ہی خرچ فرض نہیں کیا جاتا: استعمال اس وقت شروع ہوتا ہے جب اہل پُل ریکویسٹ واقعی اسکین ہو۔

سخت بجٹ کے باعث Code Security AI Credits دستیاب نہ رہیں تو AI Scan نئی نشاندہیاں نہیں دے سکتا۔ محدود بجٹ بڑھنے یا اگلا بلنگ دور شروع ہونے پر اسکین دوبارہ چل سکتا ہے۔ نتیجہ یہ ہے کہ بڑے پیمانے پر فعال کرنے کا اثر ذخیرے کی اہلیت، پہلے سے فعال کوڈ اسکیننگ اور بلنگ اکاؤنٹ کے کریڈٹ پر منحصر ہے؛ ضم کرنے سے پہلے لازمی سیکیورٹی فیصلہ پھر بھی مقررہ جانچ یا انسانی جائزے ہی کو کرنا ہوگا۔

یہ بھی پڑھیں:

شیئر کریں:

ہمارا نیوز لیٹر سبسکرائب کریں

ویب 3، AI اور کرپٹو کی تازہ خبریں براہ راست اپنے اِن باکس میں پائیں۔

0