لا تثق في "حسن نية" مساعدك البرمجي بالذكاء الاصطناعي

لا تثق في "حسن نية" مساعدك البرمجي بالذكاء الاصطناعي

لا تثق في "حسن نية" مساعدك البرمجي بالذكاء الاصطناعي

الشيء الأساسي: مساعدك البرمجي بالذكاء الاصطناعي ليس خبيثاً. لكنه لا يعرف ما هو خطير. وهذه مشكلة.

سيمون ويلسون أطلق مصطلح **"التسرب القاتل" (lethal trifecta)**: بيانات خاصة، محتوى غير موثوق، وطريقة لتسريبها — كلها في جلسة واحدة. هذا بالضبط ما يحدث حين تترك وكيل ذكاء اصطناعي طليقاً في مستودع الكود، الملفات المحلية، أو حتى تبويبات المتصفح. يقرأ كل شيء، يربط النقاط، ثم... يرسل الأشياء إلى واجهات برمجة التطبيقات (APIs). ربما ليس بقصد. لكنّه *سيحدث*.

إذن توقّف عن الاعتماد على فلاتر المحفزات (prompt filters) وحدها.

دعني أشرح لماذا.

---

ما هي فلاتر المحفزات (Prompt Filters)؟

فلاتر المحفزات هي آليات أمان مدمجة داخل المحفزات — عادة تعليمات تخبر النموذج بعدم فعل أشياء معينة. مثلاً:

> "لا تُظهر أي مسارات ملفات."
>
> "لا ترسل بيانات خارج النظام أبداً."

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

هي كوضع ملصقة على الثلاجة مكتوب فيها "لا تأكل الكعكة" بينما تترك باب الثلاجة مفتوحاً على مصراعيه.

---

لماذا مسار التنفيذ أهم من المحفزات

التنفيذ الحقيقي يجب أن يحدث حيث تُتخذ القرارات: **مسار التنفيذ (execution path)**. هذا يعني التحكم في الإجراءات أثناء التشغيل — لا مجرد أمل أن يتبع الذكاء الاصطناعي القواعد.

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

مثال 1: وصول ملفات محلية انقلب خطأً

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

لاحقاً، في وسط المحادثة، تسأل سؤالاً بريئاً مثل "هل يمكنك تلخيص سجل الأخطاء هذا؟" فجأة، دون أن تدرك، يُضمّن الذكاء الاصطناعي مقتطفات من تلك الملفات المحملة بالأسرار في رده.

لماذا؟ لأن لا شيء منعه من فعل ذلك.

بدلاً من ذلك، فَرْض حدود عبر أدوات العزل (sandboxing) أو ضوابط على مستوى البيئة. منع وصول الملفات الحساسة إلا إذا سُمح به صراحة. أدوات مثل [OpenCode](https://opencode.ai/) أو وكلاء مخصصون مبنون بأطر عمل مثل LangChain يمكنهم توجيه الطلبات عبر منفذين تنفيذيين متحكم فيهم بدلاً من وصول سطر أوامر خام.

مثال 2: كارثة ملحق المتصفح

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

حتى لو قال المحفز "لا تُضمّن معلومات شخصية"، قد يفعلها الذكاء الاصطناعي. هناك الكثير من الإشارات هناك.

الحل؟ تقييد أذونات استخراج DOM. السماح بالوصول لنطاقات محددة فقط. استخدام عزل iframe أو متصفحات بلا رأس (headless) محدودة بمواقع مدرجة في القائمة البيضاء.

مثال 3: مخاطر مفسر الكود

أدوات مثل دفاتر Jupyter المدمجة مع نماذج لغوية كبرى (LLMs) تبدو آمنة — تعمل في حاويات (containers). لكن أحياناً تكون سيئة الضبط. الذكاء الاصطناعي يقرأ متغيرات النظام، يسحب مفاتيح SSH، أو أسوأ — يبدأ بإرسال سجلات إلى نقاط نهاية خارجية.

فَرْض سياسات صارمة على استدعاءات الشبكة، كشف متغيرات البيئة، والكتابة على القرص *داخل* المفسر نفسه. ليس فقط في المحفز.

---

كيف نبني سير عمل ذكاء اصطناعي أكثر أماناً

إذن كيف نتجاوز مجرد الثقة في المحفزات؟

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

استخدم أدوات مثل:
- [GitHub Copilot Enterprise](https://github.com/features/copilot)
- [Replit Ghost](https://replit.com/site/ghost)
- عدّاؤو وكلاء مخصصون مدعومون بـ [LangGraph](https://www.langchain.com/langgraph)

الخطوة 2: راقب الإجراءات الحقيقية
سجّل كل استدعاء API، قراءة/كتابة ملف، أمر سطر أوامر، وطلب ويب أطلقه الذكاء الاصطناعي. راجعها بانتظام.

إذا كنت تستخدم [Astra](https://arcprize.org/blog/astra) أو منصات مشابهة، تفقّد لوحات معلومات القياس عن بعد (telemetry dashboards) الخاصة بهم.

الخطوة 3: طبّق طبقات ضوابط أمنية
أضف جدران حماية، بروكسيات، ومخازن بيانات اعتماد (credential vaults) بين الذكاء الاصطناعي والأنظمة الحرجة. لا تخزّن الأسرار كنص عادي أبداً.

أدوات مثل HashiCorp Vault أو AWS Secrets Manager تتكامل جيداً مع معظم خطوط تطوير البرمجيات.

---

فكرة أخيرة: ثَق، لكن تحقّق

مساعدو الذكاء الاصطناعي حلفاء أقوياء — لكن فقط إذا أُبْقُوا مقيدين بشكل صحيح.

الاعتماد فقط على قيود قائمة على المحفزات كترك باب منزلك مفتوحاً لأنك تأمل ألا يقتحمه لصوص. يفشل أكثر مما تظن.

ابنِ حواجز الحماية في بنيتك التحتية — لا فقط في مجموعات تعليماتك.

لأن المرة القادمة التي يقرر فيها ذكاؤك الاصطناعي المساعدة بمشاركة ملف إعدادات، لن ترغب في اكتشاف الأمر بالطريقة الصعبة.

---

أسئلة شائعة

س1: ألا يمكنني فقط تعطيل الوصول للإنترنت؟
نعم — لكن هذا يحدّ الوظائف. نهج أفضل: التحكّم في أي روابط أو نقاط نهاية (endpoints) يمكن للذكاء الاصطناعي الوصول إليها.

س2: هل هذا معالج بالفعل في معظم المنصات؟
ليس بالكامل. العديد من المنصات توفر حمايات أساسية، لكنها غالباً تعتمد بشدة على المحفزات بدلاً من قيود على مستوى التنفيذ.

س3: ماذا عن استخدام بيئات معزولة (Sandboxed Environments)؟
إطلاقاً. الحاويات (containers)، الآلات الافتراضية، والأصداف المقيدة (restricted shells) تقطع شوطاً طويلاً في منع التسريبات العرضية.

س4: أين أتعلم المزيد عن ممارسات الذكاء الاصطناعي الآمنة؟
تفقّد مدونة سيمون ويلسون ([simonwillison.net](https://simonwillison.net/)) وتابع تحديثات منظمات مثل فريق موزيلا للذكاء الاصطناعي أو ذراع أبحاث السلامة في OpenAI.

Comments (0)

No comments yet. Be the first to comment!

Leave a Comment