تُحدَّث يومياً

مصدرُك العربي
لمستقبل الذكاء الاصطناعي

أخبار، تقارير، أدوات وتحليلات يومية — كل ما تحتاجه لمتابعة ثورة الذكاء الاصطناعي باللغة العربية

✅ تم الاشتراك!
أخبار الذكاء الاصطناعي

CodeQL 2.26.0 يكتشف حقن System Prompt في تطبيقات الذكاء الاصطناعي

بقلم: ليلى | محررة أدوات المطورين · صوت تحريري بإشراف بشري

أصدر GitHub نسخة جديدة من CodeQL 2.26.0، المحرك الذي يقف خلف أداة GitHub code scanning، وجاءت هذه المرة بتحديث يلامس مباشرةً واحدة من أخطر الثغرات الناشئة في تطبيقات الذكاء الاصطناعي: حقن قيم خارجية غير موثوقة داخل system prompt الخاص بالنموذج، ما يفتح الباب أمام المهاجم للتحكم في سلوك النموذج بأكمله.

التحديث لا يقتصر على هذه النقطة. فهو يمتد عبر ست لغات ومنصات، ويعالج فجوات حقيقية في دقة التحليل — سواء بإضافة مصادر تدفق جديدة، أو بتقليل الإيجابيات الكاذبة التي طالما أزعجت الفِرق الأمنية. إليك ما الذي تغيّر بالتفصيل:

  1. كشف حقن System Prompt في JavaScript/TypeScript: الجديد الأبرز هو استعلام js/system-prompt-injection الذي يرصد متى تتدفق قيم مُدخلة من المستخدم إلى system prompt في النموذج دون تعقيم كافٍ. وبالتوازي، أضافت CodeQL مصارف injection جديدة تغطي واجهات برمجية إضافية من OpenAI (بما فيها Sora prompts وجلسات Realtime)، وAnthropic (completion prompts القديمة)، وGoogle GenAI (المحتوى المخزَّن مؤقتاً وتعليمات النظام). باختصار: إذا كنت تبني تطبيقاً يمرّر مدخلات المستخدم إلى أيٍّ من هذه SDKs، يستطيع CodeQL الآن تتبّع هذا التدفق واكتشاف نقاط الضعف.
  2. دعم Kotlin حتى الإصدار 2.4.0: يدعم CodeQL الآن Kotlin 2.4.0 بشكل كامل، وهو أحدث إصدار مستقر من اللغة. هذا يعني أن مشاريع Android وKotlin Multiplatform التي رُقِّيت مؤخراً ستحصل على تحليل أمني دقيق دون الحاجة إلى الإبقاء على إصدارات قديمة من اللغة لتجنّب أخطاء التحليل.
  3. توسيع نطاق C# ليشمل Razor Pages: أضافت النسخة معالجات Razor Page كمصادر تدفق بعيدة، وتحديداً معاملات OnGet وOnPost وOnPostAsync في PageModel subclasses. يعني هذا عملياً أن استعلام cs/sql-injection وغيره بات قادراً على رصد الثغرات التي تدخل عبر هذه المعالجات — وهي نقطة دخول شائعة جداً في تطبيقات ASP.NET Core.
  4. تغطية حزمة log/slog في Go: منذ إطلاق Go 1.21 تضمّ اللغة حزمة log/slog الرسمية، لكن CodeQL لم يكن يُحللها. في هذه النسخة، أضافت GitHub نماذج لهذه الحزمة كاملةً، بما يشمل دوال slog وطرق slog.Logger، لتصبح استعلامات go/log-injection وgo/clear-text-logging فعّالة مع الكود الحديث المكتوب بـ Go.
  5. استعلام تجريبي جديد لـ SSRF عبر IPv6: أُضيف استعلام javascript/ssrf-ipv6-transition-incomplete-guard التجريبي لرصد حالة خاصة وخطيرة: الحمايات ضد SSRF التي تحجب نطاقات IPv4 الخاصة لكن يمكن تجاوزها باستخدام صيغ عناوين IPv6 الانتقالية. هذا نوع من الثغرات يصعب رصده يدوياً، وهو شائع في تطبيقات تسمح للمستخدم بتحديد URLs.
  6. تحسينات في الدقة عبر Python وSwift وGo وGitHub Actions: على صعيد تقليل الضوضاء، يتوقف استعلام go/unhandled-writable-file-close عن الإبلاغ عن تحذيرات خاطئة حين يتم استدعاء Sync قبل Close على نفس الملف. كذلك لن يُبلّغ استعلام py/modification-of-locals بعد الآن عن تعديلات على قاموس locals() خارج نطاقه الأصلي. أما في Swift، فقد تُحسِّن نمذجة CryptoKit لاستعلامَي swift/weak-sensitive-data-hashing وswift/weak-password-hashing، مما قد يكشف نتائج إضافية لم تكن مرصودة سابقاً. وفي GitHub Actions، يتعرّف استعلام actions/pr-on-self-hosted-runner الآن على أحدث تسميات الـ runners القياسية، فضلاً عن تصحيح اسم ووصف وتنبيه actions/untrusted-checkout/medium ليوضّح أنه يسري على السياقات غير المميّزة فقط.

من الجانب التشغيلي، يُنشَر CodeQL 2.26.0 تلقائياً لجميع مستخدمي GitHub code scanning على github.com دون أي خطوة إضافية. أما مستخدمو GitHub Enterprise Server فسيحصلون على التحديث ضمن إصدار GHES مستقبلي، وإن كانوا يشغّلون نسخة قديمة فبإمكانهم الترقية اليدوية الآن.

ما يستحق التوقف عنده هو الاتجاه الذي تسلكه GitHub: إضافة استعلام js/system-prompt-injection ليست مجرد ميزة تقنية، بل اعتراف صريح بأن تطبيقات الذكاء الاصطناعي باتت تُعامَل كسطح هجوم رسمي يستحق أدوات تحليل ثابتة مخصصة. إذا كنت تبني agents أو pipelines تمرّر فيها مدخلات المستخدم إلى نماذج LLM، فإن هذا الاستعلام يجب أن يكون جزءاً من خط الدفاع الأول — لا خياراً اختيارياً.

GitHub Changelog

مقالات ذات صلة

زر الذهاب إلى الأعلى