لقد نجا خطأ أمني ظهر قبل خمسة عشر عامًا في منشور عام على Github من محاولات المطورين في حياته.
على الرغم من التحذيرات المتعددة للمطورين حول GitHub 2010″_blank” rel=”nofollow” HREF=”https://gist.github.com/ryanflorence/701407/revisions”> جوهر تحتوي على عضع أمنية المسار في 2012 و 2014 و 2018 ، ظهر العيوب في مستندات الويب MDN”_blank” rel=”nofollow” HREF=”https://github.com/mdn/content/commit/eb79c92ae89e15a7dbc996150abd7f9930f3e5af”> الوثائق و”_blank” rel=”nofollow” HREF=”https://stackoverflow.com/questions/16333790/node-js-quick-file-server-static-files-over-http/29046869#29046869″> Stack Overflow Snippet.
من هناك ، استغرق الإقامة في نماذج اللغة الكبيرة (LLMS) المدربين على الأمثلة المعيبة.
ولكن قد تكون أيامها مرقمة.
“The vulnerable code snippet was found first in 2010 in a GitHub Gist, and it spread to Stack Overflow, famous companies, tutorials, and even university courses,” وقال جعفر أخونديالي ، مرشح الدكتوراه من جامعة ليدن في هولندا ، السجل في بريد إلكتروني.
حتى أنها ملوثة LLMs وجعلتها تنتج في الغالب رمز غير آمن عندما يُطلب منهم كتابة التعليمات البرمجية لهذه المهمة
“Most people failed to point out it’s vulnerable, and although the vulnerability is simple, some small details prevented most users from seeing the vulnerability. It even contaminated LLMs and made them produce mostly insecure code when asked to write code for this task.”
أكهونديالي ، الذي ساهم في ورقة بحثية 2019 حول”_blank” HREF=”https://www.theregister.com/2019/10/04/stack_overflow_github/”> مخاطر النسخ واللصق من أمثلة سعة مكدسيهدف إلى إبادة الخلل مع نظام إصلاح الضعف الآلي.
تصف أخيدوري حميديزا حميدي وكريستان ريتفيلد وأولغا جاديسكيا كيف يفعلون ذلك في أخونديالي والمؤلفين المشاركين.”_blank” rel=”nofollow” HREF=”https://arxiv.org/abs/2505.20186″> ورقة preprint بعنوان “Eradicating the Unseen: Detecting, Exploiting, and Remediating a Path Traversal Vulnerability across GitHub.”
“In short, we created an automated pipeline that can detect, exploit, and patch this vulnerability across GitHub projects, automatically,” قال أخونديالي. “One of the main advantages of this method is that it does not have any false positives (marked as vulnerable but secure) as vulnerabilities are first checked via an exploit in a sandbox environment.”
قال أكهونديالي إن الفرق في هذا العمل هو أنه يتضمن برامج في العالم الحقيقي بدلاً من مجموعات البيانات المتاحة.
القمامة في ، القمامة خارج ينطبق على LLMs أيضا
الضعف المستمر هو مثال على تعداد الضعف الشائع 22 (“_blank” rel=”nofollow” HREF=”https://cwe.mitre.org/data/definitions/22.html”> CWE-22) ، نمط الكود الضعيف الذي يمكن التعبير عنه بطرق مختلفة وربما يسمح للمهاجم بتجاوز مسار الملف في التطبيق للوصول إلى دليل خارج الدليل الذي يتم تقديمه.
- Meta يتفوق على تقنية تتبع موانئ الهاتف المحمول على Android بعد أن يبكي الباحثون
- من فضلك أخبرنا ريج: لماذا مبيعات AI PC أبطأ من المتوقع؟
- يوم العمل يعد بتنمية القوى العاملة ببطء وبشكل مختلف بعد التخلص من 1750 وظيفة
- قم بوقود الضجيج الذكري ارتفاع – ولكن فقط إذا كنت في الحفلة الصحيحة
ينشأ العيب من وجود وظيفة انضمام تسلط مسارين معًا بطريقة يمكن إساءة استخدامها للهروب من الدليل المقصود ، أو لإجراء رفض الخدمة من خلال استنفاد الذاكرة.
يتم نشرها ليس فقط من قبل المطورين الذين يفشلون في تقدير المخاطر لأن الأدوات الجانبية العميل مثل Curl يمكن أن تخفي المشكلة ، ولكن أيضًا بواسطة LLMS المدربة على عينات التعليمات البرمجية الضعيفة التي تم تجاهلها من مجموعات البيانات المستمدة من رمز التدفق الجيوي ورمز التدفق.
لإثبات هذه النقطة ، أنشأ المؤلفون سيناريوهين يتضمنان كلود ، Copilot ، copilot-creative ، copilot-precise ، GPT-3.5 ، GPT-4 ، GPT-4O ، و Gemini. أولاً ، دفعوا كل LLM إلى إنشاء خادم ملفات ثابت بدون مكتبات تابعة لجهات خارجية ، ثم طلبوا ذلك لجعل الكود آمنًا. ثانياً ، طلبوا من كل LLM إنشاء خادم ملفات ثابتة آمن بدون مكتبات تابعة لجهات خارجية. تم تكرار هذه الطلبات 10 مرات لكل نموذج.
في السيناريو الأول ، قام 76 من أصل 80 طلبًا بإعادة إنتاج الرمز الضعيف ، حيث انخفض إلى 42 من أصل 80 عندما طُلب من النموذج جعل الرمز آمنًا. في السيناريو الثاني الذي طلب رمز آمن في البداية ، تم إرجاع 56 من أصل 80 طلبًا من عينة ضعيفة.
“This experiment shows that the popular LLM chatbots have learned the vulnerable code pattern and can confidently generate insecure code snippets, even if the user specifically prompts them for a secure version,” يلاحظ المؤلفون ، مضيفين ذلك “GPT-3.5 and Copilot (balanced) did not generate secure code in any scenario.”
وقال أخونديالي إن الاختبارات أجريت في يوليو 2024 ، وبالتالي فإن أمن الكود الذي تم إنشاؤه قد تغير منذ ذلك الحين.
مع ظهور عوامل الترميز واتجاهات “الترميز المليء” ، يثق بشكل أعمى في التعليمات البرمجية التي أنشأها الذكاء الاصطناعى دون فهمها تمامًا.
“It might be worth mentioning that in some experiments, LLMs mentioned the ‘vulnerable code’ is in fact secure,” قال. “In some cases, it found the vulnerability and in some other cases, the patch was still insecure. Thus, simply accepting LLM output is not a reliable thing to do.”
وأضاف Akhoundali أنه على الرغم من أن المطورين قد يفضلون LLMs على منصات مثل Stackoverflow من أجل الراحة ، فإن LLMs لا توفر رؤى راجعها النظراء.
“With the rise of coding agents and ‘vibe coding’ trends, blindly trusting AI-generated code without fully understanding it poses serious security risks,” قال. “The twist is, even with multiple expert reviews security can’t be guaranteed, leaving it an open-ended challenge.”
في الواقع ، اعتمد الباحثون على الذكاء الاصطناعى للعثور على عيب اجتياز المسار في مستودعات الكود العامة وإصلاحات التأثير.
ما وجدوه وماذا فعلوا بعد ذلك
طور أخوندالي وزملاؤه خط أنابيب آلي يقوم بمسح GitHub للمستودعات ذات نمط الكود الضعيف ، واختبارات لمعرفة ما إذا كان الكود قابلاً للاستغلال ، ويولد تصحيحًا إذا لزم الأمر باستخدام GPT-4 من Openai ، ويبلغ عن المشكلة إلى مشرف REPO.
لقطة شاشة من اقتراح إصلاح رمز GPT -4 – انقر للتكبير
تشير الورقة إلى أن الكشف عن النتائج بمسؤولية كان أحد أكثر الأجزاء تحديا في خط الأنابيب. على سبيل المثال ، تجنب المؤلفون عمداً فتح مشكلات جيثب في المستودعات الشعبية (200+ نجمة) خوفًا من أن الخلابين قد يرون ملاحظات منشورة علنًا وتخمين طبيعة العيب قبل تطبيق التصحيح. لتجنب ذلك ، أرسلوا إشعارات البريد الإلكتروني إلى عناوين البريد الإلكتروني للمشروع عند توفرها.
من بين 40،546 مشاريع مفتوحة المصدر من Github ، تم تحديد 41،870 ملفًا مع نقاط ضعف. قلل اختبار أمان التطبيق الثابت من عدد الملفات الضعيفة إلى 8،397. من بين هؤلاء ، يمكن استغلال 1756 تلقائيًا ، مما يؤدي إلى إنشاء 1600 تصحيحات صالحة.
“The total remediation rate among projects that received a pull request is 11 percent,” تقول الورقة. “In total, 63 out of 464 reports fixed the vulnerability (remediation rate of 14 percent among the projects that received full vulnerability and patch information).”
“Although the ratio is low, the main reason for this is that many projects are not maintained anymore, and the life cycle of the software was ended before the vulnerability was discovered,” أوضح أخونديالي. “In some cases, the code was used in the development phase, not in the production server. Thus it could put the developer machine or CI/CD servers at risk. This code isn’t just potentially insecure; it is fully vulnerable, exposing the file system.”
ومع ذلك ، يلاحظ المؤلفون أن معدل العلاج المنخفض يشير إلى أن المشرفين لا يوليون اهتمامًا كافيًا للإشعارات حول نقاط الضعف.
هذا أمر مفهوم ، بالنظر إلى تقارير من مشاريع مفتوحة المصدر مثل Curl الذي اضطر إلى ذلك”_blank” HREF=”https://www.theregister.com/2025/05/07/curl_ai_bug_reports/”> قمع تقارير الأخطاء التي تم إنشاؤها من الذكاء الاصطناعى أن يضيعوا محفوظات المحلفين. عندما تكون الذكاء الاصطناعى جزءًا من المشكلة بالإضافة إلى جزء من الحل ، فإن التواصل البشري للمحامون مفتوح المصدر مهم أكثر من أي وقت مضى. ®