AI نے 72 گھنٹوں میں 300 WordPress پلگ ان بگ (bugs) تلاش کر لیے
AI تیزی سے بگ تلاش کرتا ہے۔ یہ تیزی سے کوڈ بھی لکھتا ہے۔ یہ پلگ ان ڈویلپرز کے لیے ایک خطرناک خلا پیدا کرتا ہے۔
سیکیورٹی محققین نے WordPress ایکو سسٹم میں 300 سے زیادہ اہم zero-day vulnerabilities تلاش کرنے کے لیے AI کا استعمال کیا۔ انہوں نے یہ کام صرف 72 گھنٹوں میں کیا۔
مسئلہ vibe coding ہے۔ یہ تب ہوتا ہے جب ڈویلپرز LLMs کے ذریعے تیار کردہ ایسا کوڈ جاری کرتے ہیں جس کا وہ آڈٹ (audit) نہیں کر سکتے۔ اس کی وجہ سے ایک پلگ ان میں 100 الگ الگ سیکیورٹی مسائل پائے گئے۔
AI آپ کے دو پرانے تحفظات کو ختم کر دیتا ہے: وقت اور گمنامی (obscurity)۔
حملہ آور اب سوراخ تلاش کرنے کے لیے AI کا استعمال کرتے ہیں۔ ڈویلپرز کوڈ لکھنے کے لیے AI کا استعمال کرتے ہیں۔ کوڈ اکثر ان سیکیورٹی مراحل کو چھوڑ دیتا ہے جیسے:
- ڈیٹا کو escape کرنا
- Capability checks
- Nonce validation
ایک عوامی بگ رپورٹ سے لے کر بڑے پیمانے پر اس کے استحصال (exploitation) تک کا وقت اب صرف پانچ گھنٹے ہے۔ یہ ردعمل دینے کے لیے کافی وقت نہیں ہے۔ یہ ایک ایسی دوڑ ہے جس میں آپ ہار جائیں گے۔
میں نے یہ سبق بہت مشکل طریقے سے سیکھا۔ میں نے ایک AI chatbot پلگ ان بنایا تھا۔ سیکیورٹی ریویو کے دوران میرے کوڈ میں 35 بگ پائے گئے۔ ایک HTML injection تھا۔
میں نے غلطی کی۔ میں نے AI کے آؤٹ پٹ پر بھروسہ کیا۔ میں نے سوچا کہ چونکہ ایک ماڈل نے متن تیار کیا ہے، اس لیے یہ محفوظ ہے۔ ایسا نہیں تھا۔ ماڈل کے آؤٹ پٹ میں صارفین اور بیرونی سائٹس کا ڈیٹا شامل ہوتا ہے۔ آپ کو اسے غیر قابل اعتماد (untrusted) سمجھنا چاہیے۔
میں نے اپنے کام کرنے کا طریقہ (workflow) بدل دیا۔ اب میں صرف اس لیے کوڈ کو محفوظ نہیں سمجھتا کیونکہ وہ چل رہا ہے۔ میں AI کے لکھے ہوئے ہر حصے کا تین شعبوں میں دستی طور پر جائزہ لیتا ہوں:
- Input: ڈیٹا سسٹم میں کیسے داخل ہوتا ہے۔
- Output: ڈیٹا سسٹم سے کیسے باہر نکلتا ہے۔
- Permissions: کون عمل انجام دے سکتا ہے۔
آؤٹ پٹ کی جانب، اب میں esc_html اور wp_kses جیسے فنکشنز استعمال کرتا ہوں۔ میں ہر ڈیٹا بیس رائٹ کے لیے $wpdb->prepare استعمال کرتا ہوں۔ میں ہر انٹری پوائنٹ پر current_user_can کے ذریعے اجازتوں کی جانچ کرتا ہوں۔
اصل بحران صرف بگ نہیں ہے۔ بلکہ یہ ردعمل کا وقت (response time) ہے۔
- 52% ڈویلپرز بگ کے عوامی ہونے سے پہلے پیچ (patch) جاری نہیں کرتے۔
- 46% ظاہر شدہ بگ کے لیے کوئی حل دستیاب نہیں ہے۔
زیادہ تر ڈویلپرز اکیلے کام کرنے والے (solo authors) ہیں۔ انہیں بگ کو تیزی سے ٹھیک کرنے کے پیسے نہیں ملتے۔ AI اس خلا کو واضح کر دیتا ہے۔
اگر آپ پلگ انز جاری کرتے ہیں، تو صرف احتیاط سے لکھنے اور امید کرنے پر اکتفا نہ کریں۔ فرض کریں کہ حملہ آور سیکنڈوں میں آپ کے سوراخ تلاش کر لیں گے۔
یہ دفاعی اقدامات اپنائیں:
- تمام ان پٹ، آؤٹ پٹ اور اجازتوں کا دستی جائزہ لیں۔
- ماڈل کے تمام جوابات کو سانٹائز (sanitize) کریں۔
- لوگوں کے لیے آپ کو نجی طور پر بگ رپورٹ کرنے کا طریقہ بنائیں۔
آپ کی readme فائل میں ایک سادہ سیکیورٹی رابطہ ایک آغاز ہے۔ بگ کے عوامی خطرہ بننے سے پہلے آپ کو رپورٹنگ کے لیے ایک چینل کی ضرورت ہے۔
