المكاسب:
- القدرة على فهم أن الذكاء الاصطناعي يوسع نطاق المراجع ولكنه لا يحل محله، وهو مفيد في مسح الفئات وإيجاد الصياغة.
- القدرة على إدراك أن الذكاء الاصطناعي قد أخطأ في الثغرة الأمنية الأصلية والخطأ في منطق الأعمال، وأن العبارة "الآمنة" بطلاقة ليست ضمانًا
- القدرة على تصنيف النتائج حسب مستوى خطورتها وفهم أن الموافقة النهائية والمسؤولية المهنية تقع على عاتق المدقق المختص.
يعد التدقيق الأمني (الفحص المنهجي للعقد الذكي بحثًا عن نقاط الضعف) هو الوظيفة الأكثر مسؤولية في Web3. يمكن أن يؤدي سطر واحد غاب عنه المدقق إلى خسائر بملايين الدولارات. ستتعلم في هذه الوحدة كيفية استخدام الذكاء الاصطناعي كمساعد تدقيق؛ سوف نتعلم من توليد القرائن لكتابة ملخص النتائج. لكن الجملة الأكثر أهمية هي: الذكاء الاصطناعي لا يتحكم؛ وهو مساعد يشحذ عين المراقب. وتقع الموافقة النهائية على مدقق الحسابات المختص الذي يتحمل المسؤولية المهنية.
لماذا يعد التدقيق أمرًا بالغ الأهمية للأمان
ويؤكد تقرير التدقيق للمشروع والمستثمرين أن "هذا القانون قد تمت مراجعته". إذا كان هذا التأكيد كاذبا، فإن العواقب ستكون كارثية: استغلال البروتوكول، وخسارة التمويل، وانهيار المشروع. ولذلك، فإن استخدام الذكاء الاصطناعي في التفتيش هو الجزء الأكثر دقة في هذه الوحدة. يعمل الذكاء الاصطناعي على توسيع نطاق المدقق (يتذكر المزيد من الأنماط، ويقرأ بشكل أسرع) ولكنه لا يحل محل المدقق.
لماذا لا يمر؟ لأن:
- لا يستطيع الذكاء الاصطناعي رؤية الثغرة الفريدة/الجديدة غير الموجودة في بيانات التدريب.
- غالبًا ما يغفل الذكاء الاصطناعي الخلل في منطق عمل البروتوكول، وهو أن الكود صحيح من الناحية الفنية ولكنه قابل للاستغلال اقتصاديًا.
- يمكن للذكاء الاصطناعي أن يعطي طمأنينة زائفة من خلال قول كلمة "آمن" بلغة بطلاقة؛ وهذه هي النتيجة الأكثر خطورة.
طبقات استخدام الذكاء الاصطناعي في التحكم
1. المسح الأولي وتذكير النمط. يمر الذكاء الاصطناعي عبر أنماط الثغرات المعروفة مثل قائمة التحقق: إعادة الدخول، والتحكم في الوصول، ومعالجة أوراكل، والتشغيل الأمامي. وهذا يضمن عدم تفويت المدقق لأي فئة.
2. شرح الكود. إن شرح وظيفة معقدة للذكاء الاصطناعي بلغة واضحة يسمح للمدقق بفهم المنطق بسرعة؛ ولكن يتم دائمًا مقارنة الوصف بالكود.
3. كتابة مسودة النتائج. عندما يجد المدقق ثغرة أمنية، يوفر الذكاء الاصطناعي الوقت في كتابة مسودة التقرير (الوصف، التأثير، الحل المقترح).
4. توليد فرضية مضادة. اسأل الذكاء الاصطناعي "كيف يمكن إساءة استخدام هذه الوظيفة؟" السؤال "يذكرنا بالمنظور العدواني.
تنبيه: لمجرد أن الذكاء الاصطناعي يقول "لم أجد أي ثغرات أمنية في هذا الرمز" لا يعني أن "هذا الرمز آمن". دليل الغياب ليس عدم وجود دليل. حقيقة أن الذكاء الاصطناعي لا يستطيع العثور على شيء ما لا يجعل من غير الضروري أن يقوم المدقق بفحص تلك المنطقة.
العثور على مستويات الخطورة
يتم تصنيف نتائج التدقيق وفقا لمستوى خطورتها. يجب أن يستخدم الذكاء الاصطناعي هذا الإطار عند إنشاء المسودات:
المستوى
معنى
مثال
حرجة
خسارة/تأمين الصندوق ممكن بشكل مباشر
سحب الأموال مع إعادة الدخول
عالية
تأثير خطير في ظروف معينة
الطباعة غير المصرح بها (النعناع)
متوسطة
تأثير محدود أو حالة صعبة
خسارة صغيرة مع انحراف أوراكل
منخفض
خطر طفيف، وخرق للممارسات الجيدة
بث الحدث مفقود
معلومات
عدم الأمان وسهولة القراءة
عدم وجود NatSpec
موجه ضعيف / موجه قوي
حث ضعيف:
هل هذا العقد آمن؟
هذا السؤال يجبر الذكاء الاصطناعي على إصدار حكم مطلق وغير مبرر مثل "نعم/لا" - وهو بالضبط ما لا نريده.
مطالبة قوية:
دورك: مساعد كبير مدققي العقود الذكية. قم بمسح العقد التالي بحثًا عن الأمان. انتقل إلى الفئات التالية واحدة تلو الأخرى: إعادة الدخول، والتحكم في الوصول، وعمليات الأعداد الصحيحة، والتحقق من صحة الإدخال، وبيانات أوراكل/الخارجية، والتشغيل الأمامي، وحد الغاز. لكل نتيجة: (1) سطر التعليمات البرمجية ذي الصلة، (2) سبب المخاطر، (3) الخطورة المقدرة (حرجة/عالية/متوسطة/منخفضة)، (4) مقترح الحل. هذه فرضيات يجب تأكيدها؛ لا تعطي حكمًا "آمنًا". حدد المناطق التي لم تكن متأكدًا من ذكرها بوضوح وقل "دع المدقق يؤكد".
أربعة قوالب قابلة للنسخ
1) التصفح حسب الفئة:
قم بمسح هذا العقد بحثًا عن الفئات التالية: إعادة الدخول، والتحكم في الوصول، وتجاوز الأعداد الصحيحة، والتحقق من صحة الإدخال، وتبعية أوراكل، والتشغيل الأمامي، وDoS/gas. بالنسبة لكل فئة، قل "لا يوجد/ليس هناك خطر/لست متأكدًا" واربط مبررك بالسطر الموجود في الكود. لا تصدر حكمًا نهائيًا.
2) الفرضية المضادة من وجهة نظر المهاجم:
فكر كمهاجم: ما هي طرق إساءة استخدام هذه الوظيفة؟ اكتب كل سيناريو خطوة بخطوة مع الإشارة إلى الشروط المطلوبة. وهذه السيناريوهات هي الفرضيات التي سيتم اختبارها؛ لا تقم بإنشاء كود استغلال فعلي، فقط قم بوصف المخاطر.
3) مسودة تقرير النتائج:
قم بالإبلاغ عن النتائج التالية التي تم التحقق منها بلغة التدقيق الرسمية: العنوان، الخطورة، الوصف، التأثير، الكود المتأثر، خطوات إعادة الإنتاج، الحل المقترح. استخدام لغة محسوبة وتقنية؛ مبالغة. افترض أن النتيجة تم تأكيدها من قبل المدقق، ولا تقم بتكوين نتيجة جديدة.
4) إصلاح التحقق:
يوجد أدناه ثغرة أمنية والإصلاح الذي طبقه المطور. فحص ما إذا كان الإصلاح يغلق الثغرة الأمنية بالفعل؛ حدد ما إذا كان يخلق أثرًا جانبيًا جديدًا أو ثغرة أمنية. لا تقل "مغلق" بالتأكيد؛ تنتهي بـ "يجب التأكد من خلال الاختبار".
ثلاث حالات صغيرة (بالأرقام)
الحالة 1 - منع الذكاء الاصطناعي التنقل بين الفئات. كان أحد المدققين على وشك التركيز على عقد مكون من 400 سطر وتخطي فئة أوراكل. أعطى فحص الفئات الذي أجراه الذكاء الاصطناعي تحذيرا من أن "بيانات الأسعار تأتي من مصدر واحد، وهي مفتوحة للتلاعب". قام المدقق بفحصها ووجد أنها تمثل بالفعل خطرًا متوسطًا. الدرس المستفاد: يحافظ الذكاء الاصطناعي على انضباط التغطية.
الحالة الثانية - ضمان "آمن" زائف. وسأل فريق آخر الذكاء الاصطناعي "هل هذا آمن؟" سأل؛ وقالت منظمة العفو الدولية: "لا يبدو أن هناك مشكلة كبيرة". كان تفتيش الطاقم خفيفًا. ثم وجد المدقق المستقل خللاً في منطق الأعمال: حساب كان صحيحًا من الناحية الفنية ولكن حوافزه كانت قابلة للاستغلال. الدرس المستفاد: الذكاء الاصطناعي يخطئ في منطق الأعمال؛ لا يمكن الوثوق به ليقول "آمن".
الحالة 3 - توفير صياغة التقرير 3 ساعات. كان المدقق يقضي نصف اليوم في الإبلاغ يدويًا عن 8 نتائج. بمجرد تقديم النتائج التي تم التحقق منها إلى الذكاء الاصطناعي وطباعة المسودة الرسمية، انخفض الوقت بمقدار 3 ساعات تقريبًا؛ خصص المدقق الوقت للتعميق. الدرس المستفاد: الذكاء الاصطناعي آمن وفعال في إعداد التقارير لأن النتائج تم التحقق منها بشريًا بالفعل.
ضعف منطق الأعمال: النقطة العمياء للذكاء الاصطناعي
غالبًا ما لا تأتي نقاط الضعف الأكثر تكلفة من خطأ فني في الكود، ولكن من قابلية استغلال منطق الأعمال: استغلال التقريب لحساب المكافأة، واختطاف القروض السريعة للتصويت، والتلاعب الفوري بالسعر. هذه هي الحالات التي يعمل فيها الكود "بشكل صحيح" ولكن يمكن خداع البروتوكول اقتصاديًا. ومن المرجح أن يغفل الذكاء الاصطناعي عن مثل هذه الأخطاء، وخاصة الأخطاء المتعلقة بالبروتوكول. ولذلك، فإن مراجعة منطق الأعمال هي المجال الأكثر كثافة في العمل البشري للمدقق والأقل اعتمادًا على الذكاء الاصطناعي.
تلميح: اسأل الذكاء الاصطناعي "كيف يمكن استغلال الحوافز الاقتصادية لهذا البروتوكول؟" واستخدم السيناريوهات التي تظهر كنقطة بداية، ولكن تذكر أنه يتعين عليك أنت وفريقك إجراء التحليل الحقيقي.
الأخطاء الشائعة
- اسأل الذكاء الاصطناعي "هل هو آمن؟" السؤال والثقة بنعم الخاص بك. الحكم المطلق غير مطلوب.
- إيقاف المراجعة عندما يقول الذكاء الاصطناعي "لم أتمكن من العثور عليها". الغياب ليس دليلا.
- تفويض مراجعة منطق الأعمال إلى الذكاء الاصطناعي. إنها أكبر نقطة عمياء لديه.
- عدم استخدام أدوات مستقلة (الانزلاق وما إلى ذلك). الذكاء الاصطناعي وحده لا يكفي.
- وضع النتيجة التي توصل إليها الذكاء الاصطناعي في التقرير دون التحقق منها. خطر الهلوسة.
- محاولة إلقاء مسؤولية السيطرة على الذكاء الاصطناعي. المسؤولية تقع على عاتق الخبير.
باختصار
- التدقيق أمر بالغ الأهمية للسلامة؛ يعمل الذكاء الاصطناعي على توسيع نطاق المدقق ولكنه لا يحل محله.
- يفتقد الذكاء الاصطناعي الثغرة الأمنية الأصلية وخطأ منطق الأعمال؛ إن قول "آمن" ليس ضمانًا.
- يتم تصنيف النتائج وفقا لمستوى الخطورة. الذكاء الاصطناعي مفيد في إنشاء المسودات.
- تحافظ الفرضيات المضادة وفحص الفئات على نظام الشمول.
- إن الموافقة النهائية والمسؤولية المهنية تقع دائماً على عاتق المدقق المختص.
مهمة التطبيق
ابحث عن نموذج عقد يحتوي على ثغرة أمنية معروفة (للأغراض التعليمية، تتوفر أمثلة على "العقود الضعيفة" في المصادر المفتوحة). قم بتطبيق مطالبة "المسح المستند إلى الفئة" على الذكاء الاصطناعي. لاحظ ما إذا كان الذكاء الاصطناعي: (1) اكتشف الثغرة الأمنية الحقيقية، (2) أنتج نتائج ملفقة/خاطئة، (3) أصدر أحكامًا مطلقة مثل "آمن". ثم قارنها بأداة تحليل ثابتة.
قائمة مرجعية
- [ ] اسأل الذكاء الاصطناعي "هل هذا آمن؟" بدلاً من ذلك، قمت بإجراء فحص على أساس الفئة.
- [ ] لقد تعاملت مع كل نتيجة على أنها فرضية.
- [ ] لقد قمت بمراجعة منطق العمل بنفسي/الفريق.
- [ ] لقد قمت بالتحقق من صحتها باستخدام أداة تحليل ثابتة مستقلة.
- [ ] لقد أكدت أن الذكاء الاصطناعي لا يقوم بتلفيق النتائج.
- [ ] قمت بتصنيف النتائج حسب مستوى الخطورة.
- [ ] قبلت أن الموافقة النهائية تقع على عاتق مدقق الحسابات المختص.