نماذج اللغات الكبيرة (LLMs) جيدة في البرمجة. وقد أدى ذلك إلى دعم أدوات البرمجة الناشئة بمساعدة الذكاء الاصطناعي، بدءًا من GitHub Copilot إلى AI IDEs وامتدادات IDE مثل Claude Code وCursor وWindsurf وCodeium وRoo.

كما أنها أضفت طابعًا ديمقراطيًا على بعض عناصر التطوير، مما أدى إلى ولادة Vibe Coding، حيث يمكنك “ننسى أن الرمز موجود حتى“.

ليست كل عمليات الترميز المدعومة بالذكاء الاصطناعي عبارة عن ترميز حيوي. بغض النظر، تظهر المخاطر الأمنية كلما تمت إزالة المزيد من المطورين من تفاصيل التعليمات البرمجية التي تم إنشاؤها، وكلما زاد عدد غير المطورين الذين تمكنوا من الوصول إلى برامج vibe code المحفوفة بالمخاطر.

LLMs تنشئ كودًا غير آمن، Vibe Coders Moreso

من الواضح أن التعليمات البرمجية التي ينشئها الذكاء الاصطناعي حاليًا ليست آمنة افتراضيًا. مرتكز على باكبينش، في مكان ما بين 25% و70% من مخرجات الترميز العاملة من النماذج الرائدة تحتوي على ثغرات أمنية. أشارت بعض الأبحاث أيضًا إلى أن المستخدمين الذين حصلوا على مساعد الذكاء الاصطناعي سوف ينتجون تعليمات برمجية أكثر عرضة للخطر، ويرجع ذلك أساسًا إلى الثقة المفرطة في التعليمات البرمجية التي تم إنشاؤها. وقد أدت التحسينات الأخيرة في النموذج إلى خفض انتشار الضعف بشكل كبير، ولكن لا يزال هناك الكثير مما يتعين القيام به.

عندما ننظر على وجه التحديد إلى البرمجة الحيوية، هناك زيادة كبيرة في المخاطر. لقد عبرت الحكايات البارزة إلى وعي واسع النطاق، مثل رائد أعمال SaaS الذي أصبح تطبيقه للأسف عبارة عن بنياتا أمنية من الأسرار المشفرة، وفحوصات المصادقة والترخيص المفقودة، والمزيد:

المصدر: @leojr94_

وما زال يحدث:

المصدر: @infinitelogins

تحسين أمان التعليمات البرمجية التي ينشئها الذكاء الاصطناعي

لا تزال أدوات أمان البرامج التقليدية تتمتع بميزة تأمين التعليمات البرمجية، بغض النظر عن مشاركة الذكاء الاصطناعي. إن فحص SAST وSCA وSecrets جميعهم لهم دور يلعبونه. يزيد ظهور البرمجة بمساعدة الذكاء الاصطناعي من أهمية تحويل عمليات الفحص هذه إلى IDE، قدر الإمكان. لا يزال فحص وقت العلاقات العامة ومعالجته أمرًا بالغ الأهمية. يمكن أيضًا أن يؤدي إنشاء أطر عمل ومكتبات آمنة افتراضيًا واعتمادها إلى تقليل المخاطر.
وبغض النظر عن الأساليب القديمة، فقد جلب مساعدو تشفير الذكاء الاصطناعي معهم قدرة جديدة لممارسة التأثير على أمان التطبيقات: ملفات القواعد.

ملفات القواعد

تعد ملفات القواعد نمطًا ناشئًا يسمح لك بتقديم إرشادات قياسية لمساعدي البرمجة بالذكاء الاصطناعي.

يمكنك استخدام هذه القواعد لإنشاء سياق أو تفضيلات أو مسارات عمل خاصة بالمشروع أو الشركة أو المطور. توفر أدوات ترميز الذكاء الاصطناعي الأكثر شيوعًا قواعد تتراوح من GitHub Copilot تعليمات المستودع المخصصة أو الدستور الغذائي وكلاء.md، أيدر الاتفاقيات، كلاين تعليمات مخصصة، كلود كلود.mdالمؤشر قواعد، وركوب الأمواج قواعد.

ملفات القواعد للأمن

توصلت الأبحاث باستمرار إلى أن المطالبات المعدة يمكن أن تقلل بشكل كبير من عدد الثغرات الأمنية في التعليمات البرمجية التي ينشئها الذكاء الاصطناعي. توفر ملفات القواعد طريقة مثالية لتوحيد وتوحيد هذه التحسينات المطالبة التي تركز على الأمان.

لصياغة ملف قواعد للأمان بشكل منهجي، فإننا نأخذ في الاعتبار أفضل الممارسات لملفات القواعد، ونقاط الضعف الأكثر شيوعًا في التعليمات البرمجية التي تم إنشاؤها بواسطة الذكاء الاصطناعي، وأفضل الممارسات القائمة على البحث في المطالبة بإنشاء تعليمات برمجية آمنة.

أفضل الممارسات لملفات القواعد

  1. ركز على صياغة تعليمات واضحة وموجزة وقابلة للتنفيذ

  2. قواعد مخصصة لنطاقها ذي الصلة، مثل لغة برمجة معينة

  3. قم بتقسيم الإرشادات المعقدة إلى قواعد أصغر وذرية وقابلة للتركيب

  4. إبقاء القواعد العامة موجزة؛ تحت 500 سطر

العادات غير الآمنة في التعليمات البرمجية التي تم إنشاؤها بواسطة الذكاء الاصطناعي

المصدر: من نقاط الضعف إلى العلاج: مراجعة منهجية للأدبيات الخاصة بماجستير القانون في أمن التعليمات البرمجية

بشكل عام، تُظهر المراجعة المنهجية أن CWE-94 (إدخال التعليمات البرمجية)، وCWE-78 (حقن أوامر نظام التشغيل)، وCWE-190 (تجاوز العدد الصحيح أو الالتفاف)، وCWE-306 (المصادقة المفقودة للوظيفة الحرجة)، وCWE-434 (تحميل الملفات غير المقيد) كلها شائعة. وبطبيعة الحال، هناك تحيز منهجي هنا، حيث تستهدف معظم الدراسات على وجه التحديد قائمة MITRE’s CWE لأخطر 25 نقطة ضعف في البرمجيات.

ومن غير المستغرب أن تكون اللغة مهمة أيضًا عندما يتعلق الأمر بنقاط ضعف البرامج. تحدد هذه الأنماط بالطبع نقاط الضعف الشائعة، بغض النظر عن مشاركة الذكاء الاصطناعي. على سبيل المثال، يتم تمثيل مشكلات إدارة الذاكرة بشكل زائد في C/C++. من ناحية أخرى، بالنسبة لبيثون، يعد إلغاء تسلسل البيانات غير الموثوق بها ونقاط الضعف المتعلقة بـ XML أكثر شيوعًا.

أفضل الممارسات القائمة على البحث في المطالبة بإنشاء تعليمات برمجية آمنة

التحقيقات المبكرة في هذا المجال وجدت أن “إضافة بسيطة لمصطلح “آمن” إلى الموجه أدت إلى انخفاض متوسط ​​كثافة الضعف للكود الذي تم إنشاؤه بنسبة 28.15%، و37.03%، و42.85% لـ GPT-3، وGPT-3.5، وGPT-4.” وجدت نفس الورقة البحثية أن المطالبة بتسليط الضوء على أهم أدوات CWE كانت أكثر فعالية (“إنشاء رمز Python آمن يمنع أعلى نقاط الضعف الأمنية المدرجة في CWE لما يلي:”)، مقارنة بالمطالبات الأمنية الساذجة القائمة على الشخصية.
من البادئات العامة المحتملة، دراسة مختلفة وجدت “أنت مطور يتمتع بقدر كبير من الوعي الأمني ​​ويتجنب نقاط الضعف في التعليمات البرمجية.” تمكنت من تقليل مخاطر التعليمات البرمجية الضعيفة في تمريرة واحدة بنسبة 47-56% في المتوسط، اعتمادًا على النموذج. لقد تفوق هذا على البدائل مثل “التأكد من أن كل سطر آمن” و”افحص التعليمات البرمجية الخاصة بك سطرًا تلو الآخر وتأكد من أن كل سطر آمن.”

ملفات القواعد الآمنة مفتوحة المصدر

لم تشهد ملفات القواعد بعد اعتمادًا واسع النطاق لحالات الاستخدام الأمني. أفضل ملف لقواعد الأمان هو ملف مخصص لمؤسستك. ومع ذلك، للمساعدة في حل مشكلة الصفحة الفارغة، نحن منفتحون على مجموعة من ملفات القواعد الآمنة الأساسية. تم إنشاء هذه القواعد بمساعدة Gemini، باستخدام موجه يشفر الإرشادات الموضحة أعلاه.

تحقق من ملفات القواعد مفتوحة المصدر على GitHub!

لقد أنشأنا قواعد تستهدف مجموعة من اللغات والأطر الشائعة:

تتوفر القواعد المتوافقة لجميع أدوات ومساعدي تشفير الذكاء الاصطناعي المشهورين التاليين:

إذا كنت تقوم حاليًا بإنشاء تعليمات برمجية باستخدام الذكاء الاصطناعي، ولا تستفيد من ملف القواعد لتحقيق فائدة أمنية، فابدأ هنا.

نحن أيضا المصادر المفتوحة للموجه المستخدم. نحن نرحب بالمساهمات، سواء كانت تضيف تغطية للغات وأطر عمل إضافية، أو تقدم تحسينات قائمة على الأدلة للموجه.

مراجع

الأوراق الأكاديمية



شاركها.
اترك تعليقاً