فائدہ:
- یہ سمجھنے کی صلاحیت کہ مصنوعی ذہانت آڈیٹر کے دائرہ کار کو بڑھاتی ہے، لیکن اس کی جگہ نہیں لیتی، اور زمرہ سکیننگ اور ڈرافٹنگ کی تلاش میں مفید ہے۔
- یہ تسلیم کرنے کے قابل ہونا کہ مصنوعی ذہانت نے اصل کمزوری اور کاروباری منطق کی غلطی کو کھو دیا ہے، اور یہ کہ ایک روانی سے 'محفوظ' بیان یقین دہانی نہیں ہے۔
- نتائج کو ان کی سنجیدگی کی سطح کے مطابق درجہ بندی کرنے اور یہ سمجھنے کی اہلیت کہ حتمی منظوری اور پیشہ ورانہ ذمہ داری قابل آڈیٹر پر منحصر ہے۔
سیکیورٹی آڈٹ (خطرناکیوں کے لیے ایک سمارٹ کنٹریکٹ کا منظم امتحان) Web3 کا سب سے ذمہ دار کام ہے۔ آڈیٹر کی طرف سے چھوٹ جانے والی ایک لائن کے نتیجے میں لاکھوں ڈالر کا نقصان ہو سکتا ہے۔ اس یونٹ میں آپ AI کو بطور آڈٹ اسسٹنٹ استعمال کرنے کا طریقہ سیکھیں گے۔ ہم سراگ پیدا کرنے سے لے کر نتائج کا خاکہ لکھنے تک سیکھیں گے۔ لیکن سب سے اہم جملہ یہ ہے: AI کنٹرول نہیں کرتا؛ یہ ایک معاون ہے جو آڈیٹر کی آنکھ کو تیز کرتا ہے۔ حتمی منظوری قابل آڈیٹر کے پاس ہے جو پیشہ ورانہ ذمہ داری قبول کرتا ہے۔
کیوں آڈیٹنگ سیکورٹی کے لیے اہم ہے۔
ایک آڈٹ رپورٹ پروجیکٹ اور سرمایہ کاروں کو یقین دلاتی ہے کہ "اس کوڈ کا جائزہ لیا گیا ہے۔" اگر یہ یقین دہانی غلط ہے، تو اس کے نتائج تباہ کن ہیں: استحصال شدہ پروٹوکول، کھوئی ہوئی فنڈنگ، منہدم پروجیکٹ۔ لہذا، معائنہ میں AI کا استعمال اس ماڈیول کا سب سے زیادہ محتاط حصہ ہے۔ AI آڈیٹر کے دائرہ کار کو بڑھاتا ہے (مزید نمونوں کو یاد کرتا ہے، تیزی سے پڑھتا ہے) لیکن آڈیٹر کی جگہ نہیں لیتا ہے۔
یہ کیوں نہیں گزرتا؟ کیونکہ:
- AI وہ منفرد/نئی کمزوری نہیں دیکھ سکتا جو تربیتی ڈیٹا میں نہیں ہے۔
- AI اکثر پروٹوکول کی کاروباری منطق میں خامی کو یاد کرتا ہے — کہ کوڈ تکنیکی طور پر درست ہے لیکن معاشی طور پر فائدہ مند ہے۔
- AI روانی کی زبان میں "محفوظ" کہہ کر جھوٹی یقین دہانی کر سکتا ہے۔ یہ سب سے خطرناک نتیجہ ہے۔
AI کو کنٹرول میں استعمال کرنے کی پرتیں۔
1. ابتدائی اسکین اور پیٹرن کی یاد دہانی۔ AI خطرے سے متعلق معلوم نمونوں سے گزرتا ہے جیسے ایک چیک لسٹ: دوبارہ داخلہ، رسائی کنٹرول، اوریکل ہیرا پھیری، فرنٹ رننگ۔ یہ اس بات کو یقینی بناتا ہے کہ آڈیٹر کسی قسم کی کمی محسوس نہیں کرتا ہے۔
2. کوڈ کی وضاحت۔ AI کو سادہ زبان میں ایک پیچیدہ فنکشن کی وضاحت کرنے سے آڈیٹر کو منطق کو تیزی سے سمجھنے میں مدد ملتی ہے۔ لیکن تفصیل کا ہمیشہ کوڈ سے موازنہ کیا جاتا ہے۔
3. نتائج کا مسودہ لکھنا۔ جب آڈیٹر کو کوئی کمزوری نظر آتی ہے، تو AI رپورٹ کا مسودہ لکھنے میں وقت بچاتا ہے (تفصیل، اثر، مجوزہ حل)۔
4. جوابی مفروضہ پیدا کرنا۔ AI سے پوچھیں "اس فنکشن کا غلط استعمال کیسے کیا جا سکتا ہے؟" پوچھنا " ہمیں جارحانہ نقطہ نظر کی یاد دلاتا ہے۔
توجہ: صرف اس وجہ سے کہ AI کہتا ہے "مجھے اس کوڈ میں کوئی کمزوری نہیں ملی" کا مطلب یہ نہیں ہے کہ "یہ کوڈ محفوظ ہے"۔ غیر حاضری کا ثبوت ثبوت کی عدم موجودگی نہیں ہے۔ حقیقت یہ ہے کہ AI کسی چیز کو نہیں ڈھونڈ سکتا آڈیٹر کے لئے اس علاقے کی جانچ کرنا غیر ضروری نہیں بناتا ہے۔
شدت کی سطح تلاش کرنا
آڈٹ کے نتائج کو ان کی شدت کی سطح کے مطابق درجہ بندی کیا جاتا ہے۔ ڈرافٹ تیار کرتے وقت AI کو یہ فریم ورک استعمال کرنا چاہیے:
سطح
مطلب
مثال
تنقیدی
فنڈ کا نقصان/لاک آؤٹ براہ راست ممکن ہے۔
ری اینٹرینسی کے ساتھ فنڈز نکالنا
اعلی
بعض حالات میں سنگین اثرات
غیر مجاز پرنٹنگ (ٹکسال)
درمیانہ
محدود اثر یا مشکل حالت
اوریکل انحراف کے ساتھ چھوٹا نقصان
کم
معمولی خطرہ، اچھے عمل کی خلاف ورزی
ایونٹ کا براڈکاسٹ غائب ہے۔
معلومات
عدم تحفظ، پڑھنے کی اہلیت
NatSpec کی کمی
کمزور فوری / مضبوط اشارہ
کمزور اشارہ:
کیا یہ معاہدہ محفوظ ہے؟
یہ سوال AI کو "ہاں/نہیں" جیسا مطلق، غیر ضروری فیصلہ کرنے پر مجبور کرتا ہے — بالکل وہی جو ہم نہیں چاہتے۔
طاقتور اشارہ:
آپ کا کردار: سینئر سمارٹ کنٹریکٹ آڈیٹر کا معاون۔ سیکورٹی کے لیے درج ذیل کنٹریکٹ کو اسکین کریں۔ درج ذیل زمروں کو ایک ایک کرکے دیکھیں: دوبارہ داخلہ، رسائی کنٹرول، انٹیجر آپریشنز، ان پٹ کی توثیق، اوریکل/بیرونی ڈیٹا، فرنٹ رننگ، گیس کی حد۔ ہر ایک تلاش کے لیے: (1) کوڈ کی متعلقہ لائن، (2) خطرے کا سبب، (3) تخمینہ شدہ شدت (تنقیدی/اعلی/درمیانی/کم)، (4) حل کی تجویز۔ یہ قیاس آرائیاں ہیں جن کی تصدیق کی جائے گی۔ "محفوظ" فیصلہ نہ دیں۔ ان علاقوں کو نشان زد کریں جن کے بارے میں آپ کو یقین نہیں ہے کہ واضح طور پر "آڈیٹر کو تصدیق کرنے دیں"۔
چار کاپی کرنے کے قابل ٹیمپلیٹس
1) زمرہ پر مبنی براؤزنگ:
اس معاہدے کو درج ذیل زمروں کے لیے اسکین کریں: دوبارہ داخلہ، رسائی کنٹرول، انٹیجر اوور فلو، ان پٹ کی توثیق، اوریکل انحصار، فرنٹ رننگ، DoS/گیس۔ ہر زمرے کے لیے، کہیں کہ "کوئی خطرہ نہیں ہے/مجھے یقین نہیں ہے" اور اپنے جواز کو کوڈ میں موجود لائن سے جوڑیں۔ حتمی فیصلہ نہ کریں۔
2) حملہ آور کے نقطہ نظر سے جوابی مفروضہ:
حملہ آور کی طرح سوچیں: اس فنکشن کو غلط استعمال کرنے کے کیا طریقے ہیں؟ ہر منظر نامے کو مرحلہ وار لکھیں اور بتائیں کہ کن شرائط کی ضرورت ہے۔ یہ منظرنامے جانچے جانے والے مفروضے ہیں۔ اصل ایکسپلائٹ کوڈ تیار نہ کریں، صرف خطرے کی وضاحت کریں۔
3) ڈرافٹ فائنڈنگ رپورٹ:
باضابطہ آڈٹ زبان میں درج ذیل تصدیق شدہ تلاش کی اطلاع دیں: عنوان، شدت، تفصیل، اثر، متاثرہ کوڈ، دوبارہ پیش کرنے کے اقدامات، مجوزہ حل۔ ماپا اور تکنیکی زبان استعمال کریں؛ مبالغہ آرائی فرض کریں کہ آڈیٹر کے ذریعہ تلاش کی تصدیق ہو گئی ہے، کوئی نئی تلاش نہ بنائیں۔
4) توثیق درست کریں:
ذیل میں ایک کمزوری اور ڈویلپر کے ذریعہ لاگو کردہ فکس ہے۔ جانچ پڑتال کریں کہ آیا درستگی حقیقت میں کمزوری کو بند کرتی ہے۔ نشان زد کریں کہ آیا یہ ایک نیا ضمنی اثر یا کمزوری پیدا کرتا ہے۔ یقینی طور پر "بند" نہ کہیں۔ "ٹیسٹ کے ذریعے تصدیق ہونی چاہیے" کے ساتھ ختم کریں۔
تین چھوٹے کیسز (تعداد میں)
کیس 1 - AI نے زمرہ کو ہاپنگ سے روکا۔ ایک آڈیٹر 400 لائن کے معاہدے پر توجہ مرکوز کرنے اور اوریکل کیٹیگری کو چھوڑنے والا تھا۔ AI کے زمرے کے اسکین نے ایک انتباہ دیا کہ "قیمت کا ڈیٹا ایک ہی ذریعہ سے ہے، ہیرا پھیری کے لیے کھلا ہے"۔ آڈیٹر نے اس کی جانچ کی اور پایا کہ یہ واقعی ایک درمیانی خطرہ تھا۔ سبق: AI کوریج کے نظم و ضبط کو برقرار رکھتا ہے۔
کیس 2 - غلط "محفوظ" یقین دہانی۔ ایک اور ٹیم نے AI سے پوچھا "کیا یہ محفوظ ہے؟" اس نے پوچھا؛ "ایسا لگتا ہے کہ کوئی اہم مسئلہ نہیں ہے،" AI نے کہا۔ عملے کا معائنہ ہلکا تھا۔ پھر آزاد آڈیٹر نے کاروباری منطق کی ایک خامی پائی: ایک حساب جو تکنیکی طور پر درست تھا لیکن جس کی ترغیبات قابل استعمال تھیں۔ سبق: AI کاروباری منطق کی غلطی سے محروم ہے۔ اسے "محفوظ" کہنے پر بھروسہ نہیں کیا جا سکتا۔
کیس 3 — رپورٹ کا مسودہ تیار کرنے میں 3 گھنٹے بچ گئے۔ آڈیٹر آدھا دن دستی طور پر 8 نتائج کی رپورٹنگ میں گزار رہا تھا۔ ایک بار جب میں نے تصدیق شدہ نتائج AI کو دے دیے اور آفیشل ڈرافٹ پرنٹ کیا تو وقت میں ~ 3 گھنٹے کمی آئی۔ آڈیٹر نے گہرائی کے لئے وقت وقف کیا۔ سبق: AI رپورٹنگ میں محفوظ اور موثر ہے کیونکہ نتائج کی پہلے ہی انسانی طور پر تصدیق ہو چکی ہے۔
کاروباری منطق کی کمزوری: AI کا اندھا مقام
سب سے مہنگی کمزوریاں اکثر کوڈ میں تکنیکی خرابی سے نہیں ہوتیں، بلکہ کاروباری منطق کے استحصال سے آتی ہیں: انعامی اکاؤنٹ کا مکمل استحصال، ایک ووٹ کا فلیش لون ہائی جیک کرنا، قیمت میں فوری ہیرا پھیری۔ یہ ایسے معاملات ہیں جہاں کوڈ "درست طریقے سے" کام کرتا ہے لیکن پروٹوکول کو معاشی طور پر دھوکہ دیا جاسکتا ہے۔ ممکنہ طور پر AI اس طرح کی غلطیوں سے محروم ہو جائے گا—خاص طور پر پروٹوکول سے متعلق مخصوص۔ لہذا، کاروباری منطق کا جائزہ آڈیٹر کا سب سے زیادہ انسانی توجہ والا علاقہ ہے اور AI پر سب سے کم انحصار کرتا ہے۔
اشارہ: AI سے پوچھیں "اس پروٹوکول کی معاشی ترغیبات سے کیسے فائدہ اٹھایا جا سکتا ہے؟" اور ان منظرناموں کا استعمال کریں جو نقطہ آغاز کے طور پر سامنے آتے ہیں — لیکن یاد رکھیں کہ آپ اور آپ کی ٹیم کو حقیقی تجزیہ کرنا چاہیے۔
عام غلطیاں
- AI سے پوچھیں "کیا یہ محفوظ ہے؟" پوچھنا اور آپ کی ہاں پر بھروسہ کرنا۔ مطلق فیصلے کی ضرورت نہیں ہے۔
- جائزہ کو روکنا جب AI کہتا ہے "میں اسے نہیں ڈھونڈ سکا"۔ غیر حاضری ثبوت نہیں ہے۔
- کاروباری منطق کا جائزہ AI کو سونپنا۔ یہ اس کا سب سے بڑا اندھا مقام ہے۔
- آزاد ٹولز (Slither وغیرہ) کا استعمال نہ کریں۔ اکیلا AI کافی نہیں ہے۔
- AI کی طرف سے بنائے گئے نتائج کو بغیر تصدیق کیے رپورٹ میں ڈالنا۔ فریب کا خطرہ۔
- AI پر کنٹرول کی ذمہ داری ڈالنے کی کوشش کر رہا ہے۔ ذمہ داری ماہر پر عائد ہوتی ہے۔
خلاصہ میں
- آڈٹ حفاظت کے لیے اہم ہے۔ AI آڈیٹر کے دائرہ کار کو بڑھاتا ہے لیکن اسے تبدیل نہیں کرتا ہے۔
- AI اصل کمزوری اور کاروباری منطق کی خرابی سے محروم ہے۔ "محفوظ" کہنا یقین دہانی نہیں ہے۔
- نتائج کو شدت کی سطح کے مطابق درجہ بندی کیا جاتا ہے۔ AI ڈرافٹ تیار کرنے میں مفید ہے۔
- جوابی مفروضہ اور زمرہ کی اسکریننگ شمولیت کے نظم و ضبط کو محفوظ رکھتی ہے۔
- حتمی منظوری اور پیشہ ورانہ ذمہ داری ہمیشہ قابل آڈیٹر کے ساتھ ہوتی ہے۔
درخواست کا کام
ایک نمونہ کنٹریکٹ تلاش کریں جس میں معلوم کمزوری ہو (تعلیمی مقاصد کے لیے، "خطرناک معاہدوں" کی مثالیں اوپن سورس میں دستیاب ہیں)۔ AI پر "کیٹگری بیسڈ اسکیننگ" پرامپٹ کا اطلاق کریں۔ نوٹ کریں کہ آیا AI: (1) نے حقیقی کمزوری پائی، (2) من گھڑت/جھوٹی نتائج پیدا کیے، (3) "محفوظ" جیسے مکمل فیصلے کیے؟ پھر اس کا موازنہ جامد تجزیہ کے آلے سے کریں۔
چیک لسٹ
- AI سے پوچھیں "کیا یہ محفوظ ہے؟" اس کے بجائے، میرے پاس زمرہ پر مبنی اسکین تھا۔
- میں نے ہر ایک تلاش کو مفروضے کے طور پر سمجھا۔
- میں نے بزنس لاجک کا جائزہ خود/ٹیم کیا۔
- [ ] میں نے اسے ایک آزاد جامد تجزیہ ٹول کے ساتھ کراس توثیق کیا۔
- [ ] میں نے تصدیق کی ہے کہ AI نتائج کو من گھڑت نہیں کرتا ہے۔
- میں نے نتائج کو شدت کی سطح کے مطابق درجہ بندی کیا۔
- میں نے قبول کیا کہ حتمی منظوری مجاز آڈیٹر کے پاس ہے۔