الانتقال إلى المحتوى الرئيسي
وكيل يستطيع الوصول إلى الشبكة يمكن تحويله إلى أنبوب بيانات. تخبره التعليمات المحقونة بجمع الأسرار أو الصفوف أو PII بالأدوات التي يحملها بالفعل ونشرها POST إلى مضيف مهاجم — أو فحص الخدمات الداخلية (SSRF). لا “يقرر” الوكيل أبداً التسريب؛ بل ينفّذ ما يبدو له، تعليمةً مشروعة. تربط هذه الوصفة ثلاثة ضوابط تغلق الحلقة من طرف إلى طرف — قائمة سماح egress تقفل أين يمكن للاستدعاءات الصادرة أن تذهب، وحاجز Secrets Blocker الذي يوقف بيانات الاعتماد قبل أن تصل أبداً إلى نموذج، ومنقّح وسائط يجرّد الأسرار من استدعاءات الأدوات التي يصدرها نموذج فعلاً. كل ذلك يعيش في البوابة، فتضبطه مرة واحدة في وحدة التحكم بصفر تغيير في كود وكيلك. لتشريح الهجوم الكامل، اقرأ تسريب البيانات عبر الشبكة؛ هذه الصفحة هي خطوات البناء.
كل شيء هنا يرتبط بـمساحة عملك ويُضبط من وحدة التحكم. يستمر وكيلك في استدعاء https://api.orcarouter.ai/v1/... بنفس مفتاح sk-orca-... — وحدها السياسة في البوابة تتغيّر. تتطلب إجراءات الضبط الأدوار المذكورة في كل خطوة؛ أما استدعاءات الترحيل فتستخدم المفتاح المحدّد النطاق. يرى جدار الحماية egress فقط للوجهات الموجَّهة عبر البوابة (مسار إرسال MCP أو خطّاف evaluate) — وجّه استدعاءات أدواتك المرتبطة بالشبكة عبره وتصبح محكومة.

1. الطبقات الثلاث التي تمنع تسريب بيانات الذكاء الاصطناعي

تلتقط كل طبقة الهجوم عند نقطة مختلفة في دورة حياة الطلب. كدّس الثلاث — فهي مستقلة ومتكاملة.

بيانات الاعتماد في المطالبة

سرّ ملصوق في (أو مسحوب إلى) الطلب يُلتقَط على مرحلة الإدخال بحاجز Secrets Blocker — قبل أن يراه أي نموذج.

الأسرار في وسائط الأدوات

نموذج يصدر استدعاء أداة يحمل بيانات اعتماد يُنظَّف بقاعدة جدار حماية sanitize، التي تنقّح الوسيطة المطابقة.

الوجهة الصادرة

خطوة الشبكة الفعلية محدودة بقائمة سماح egress — وحدها المضيفون المُعدَّدون يمرّون؛ وكل ما عداهم يُرفض.
تستخدم هذه الوصفة المستويين: حواجز الحماية للنص في الطلب، وجدار الحماية للإجراءات والشبكة. انظر حواجز الحماية مقابل جدار الحماية لأين يقع الخط.

2. أوقف بيانات الاعتماد عند المطالبة — حاجز Secrets Blocker

أول ما تقفله هو بيانات الاعتماد نفسها. يعمل حاجز Secrets & API-Key Blocker على مرحلة الإدخال ويمسح الطلب بحثاً عن أنماط بيانات الاعتماد — مفاتيح وصول على نمط AWS، ومفاتيح OpenAI، وJWTs، ورموز مشابهة — قبل أن يغادر الطلب البوابة. عند تطابق يُحجب الطلب: لا تصل بيانات الاعتماد أبداً إلى نموذج ولا تحطّ أبداً في استدعاء أداة. في وحدة التحكم، افتح Guardrails → New guardrail (دور Developer؛ القراءات وصندوق رمل Test مفتوحة لأي عضو)، وسمِّه exfil-shield، وطبّق الإعداد المسبق Secrets & API-Key Blocker من مكتبة القوالب (الفئة secrets). يزرع الإعداد المسبق ثلاث قواعد حجب regex على مرحلة input، واحدة لكل شكل بيانات اعتماد — مفاتيح وصول AWS، ومفاتيح على نمط OpenAI، ورموز GitHub:
[
  { "type": "regex", "stage": "input", "action": "block", "pattern": "AKIA[0-9A-Z]{16}" },
  { "type": "regex", "stage": "input", "action": "block", "pattern": "sk-[A-Za-z0-9]{20,}" },
  { "type": "regex", "stage": "input", "action": "block", "pattern": "ghp_[A-Za-z0-9]{36}" }
]
لتوسيع التغطية، أضف قاعدة pii على الكيانات المدمجة — تغطي مجموعة الكاشف email، phone، credit_card، ssn، ip، iban، mac_address، api_key_openai، aws_access_key، jwt، وbitcoin_address. اختر mask (نقّح إلى وسم مُصنَّف مثل [EMAIL]) أو block لكل كيان عبر entity_actions. تقنيع مرحلة الإدخال حيّ؛ يعيد كتابة الطلب قبل أن يراه النموذج.
يعيد الطلب المحجوب HTTP 400 guardrail_blocked، ولا يكلّف أي حصة (يُطلق حجب مرحلة الإدخال قبل القياس)، ويُعلَّم skip-retry. أثبته في تبويب Test — الصق مفتاح AWS عينة، اختر مرحلة input، وأكّد الحكم — قبل أن تربط مفتاحاً.

3. نقّح الأسرار من وسائط استدعاء الأدوات

يفحص حاجز حماية المطالبة؛ لا يرى استدعاءات الأدوات التي يصدرها نموذج. عندما ينتج النموذج tool_call تحمل وسائطه بيانات اعتماد، تلتقطه قاعدة جدار حماية sanitize. ينقّح sanitize السلاسل الفرعية المطابقة من وسائط استدعاء الأداة ويمرّر الاستدعاء المنظَّف — تعمل الأداة، لكن بالسرّ مجرَّداً. في Firewall → Policies → New policy (دور Developer)، سمِّها exfil-firewall وأضف قاعدة sanitize على سطح response — الـ tool_calls التي يصدرها النموذج في رده:
{
  "priority": 10,
  "label": "Redact secrets from tool args",
  "stage": "response",
  "tool_name_glob": "*",
  "verdict": "sanitize",
  "sanitize": {
    "presets": ["aws_access_key", "openai_key"],
    "custom": ["sk-[A-Za-z0-9]{20,}"]
  }
}
ينقّح sanitize وسائط استدعاء الأداة فقط — لا المحتوى الذي تعيده أداة أبداً. إنه دفاع على شكل الاستدعاء الصادر، لا على نتائج الأداة الواردة. على سطح inbound (حيث لا وسائط وقت استدعاء بعد) يتصاعد حكم sanitize إلى deny. انظر لغة المطابقة الكاملة في قواعد جدار الحماية.

4. اقفل الوجهات الصادرة — قائمة سماح egress

أمتن دفاع هو حدّ الشبكة نفسه: عدّد المضيفين المسموح لوكلائك بالوصول إليهم شرعاً وارفض كل ما عداهم. تستخدم قاعدة egress stage: egress وحقل egress؛ يحدّد الحكم القطبية — allow يمرّر الوجهات المسرودة وقاعدة deny شاملة ذات أولوية أدنى تحجب الباقي. أضف هذه القواعد إلى نفس سياسة exfil-firewall:
[
  {
    "priority": 10,
    "label": "Allow known API endpoints",
    "stage": "egress",
    "tool_name_glob": "*",
    "verdict": "allow",
    "egress": {
      "allow": ["api.openai.com", "api.anthropic.com", "api.orcarouter.ai"]
    }
  },
  {
    "priority": 20,
    "label": "Deny all other outbound destinations",
    "stage": "egress",
    "tool_name_glob": "*",
    "verdict": "deny"
  }
]
تطابق المدخلات كـ CIDR، أو IP حرفي، أو اسم مضيف غير حسّاس لحالة الأحرف. لإيقاف SSRF نحو الخدمات الداخلية دون قائمة سماح صريحة، ألّف بنفسك قاعدة رفض egress تسرد نقطة نهاية البيانات الوصفية للسحابة (169.254.169.254) ونطاقات RFC-1918 الخاصة (10.0.0.0/8، 172.16.0.0/12، 192.168.0.0/16). يعيد استدعاء مرفوض HTTP 400 firewall_blocked.
لا يطرح أي إعداد مسبق قواعد egress بـ CIDR — تؤلّف مدخلات السماح والرفض host/CIDR بنفسك. مستوى الاستقلالية tight مستوى الاستقلالية هو المسار السريع المجاور: يرفض أسماء الأدوات على هيئة جلب (http_fetch، web_search، fetch_url، request) بالكامل، مزيلاً قدرة الشبكة قبل أن تُقيَّم وجهة أبداً. استخدمه عندما لا يحتاج وكيلك تلك الأدوات إطلاقاً.

5. اربط مفتاحاً واحداً محدّد النطاق

لا تفرض السياسة إلا على المفاتيح التي تُحَل إليها. أعطِ الوكيل مفتاحه الخاص، محدّد النطاق إلى الحد الأدنى الذي يحتاجه — لا تستخدم أبداً مفتاحك على مستوى الحساب. في API Keys → New key (دور Developer):
اختر exfil-shield من القائمة المنسدلة Guardrail (يضبط guardrail_id) وexfil-firewall من القائمة المنسدلة Firewall policy (يضبط firewall_policy_id). يعيش كلا الربطين على المفتاح في البوابة. لا يتراجع ربط حاجز حماية صريح صامتاً أبداً — تعطيله هو مفتاح الإطفاء. أما سياسة جدار حماية معطّلة، بالمقابل، فتتراجع إلى سياسة مساحة العمل الافتراضية.
اضبط credit_limit_usd على سقف معقول (0 = بلا حد) بحيث لا يستطيع مفتاح مخترَق استنزاف الحصة، وallow_ips على عناوين IP الصادرة لخادمك الخلفي إذا كان الوكيل يستدعي من خادم ثابت. اضبط expired_time للمفاتيح المؤقتة (-1 = لا تنتهي صلاحيته أبداً).
يُقنَّع المفتاح عند العرض بعد الإنشاء — انسخه مرة واحدة. الآن يشغّل وكيلك كل طلب عبر exfil-shield وكل استدعاء أداة عبر exfil-firewall دون أي كود يدري أن الفرض يحدث.

6. اطرح بوضع الظل، ثم راقب

إن لم تكن تعرف بعد كل مضيف يصل إليه وكيلك شرعاً، لا تفرض بلا رؤية — راقب أولاً. انظر أوضاع الفرض لمسار المراقبة ← الظل ← الفرض الكامل.
1

ظلّل قواعد egress

اضبط shadow_mode: true على exfil-firewall. يُخفَّض كل حكم فارض إلى audit ويُسجَّل كـ [shadow] would deny مع الوجهة. لا تُحجب أي حركة مرور بينما وضع الظل مفعّل.
2

راقب التغذيات

Firewall → Events / Runs (Developer+) يُظهر كل استدعاء أداة ووجهة egress اصطدم بها وكيلك وما كان سيُرفض. Guardrails → Matches (أي Member) يُظهر كل سرّ التقطه حاجز الإدخال. اضبط قائمة allow لـ egress حتى لا يُرفض إلا المضيفون القابلون لوصول المهاجم.
3

افرض

أطفئ shadow_mode. الطلب التالي مباشرةً محكوم — بيانات الاعتماد محجوبة عند المطالبة، الأسرار مجرَّدة من وسائط الأدوات، الاستدعاءات الصادرة محصورة في قائمة سماحك. بلا أي تغيير في التطبيق.
تسجّل تغذية Matches السلسلة الفرعية المطابقة فقط عندما يكون Log raw content مفعّلاً للحاجز (مطفأ افتراضياً — الموقف المحافظ على الخصوصية). علّم إيجابية كاذبة (Admin) لتضبط السياسة. كل تغيير في حاجز حماية يكتب صف سجل-إصدارات يمكنك diff وrevert؛ تُسجَّل تغييرات سياسة جدار الحماية في مسار التدقيق.

7. التغطية في لمحة

خطوة التسريبالطبقة التي توقفها
بيانات الاعتماد تدخل الطلبحاجز Secrets Blocker (الإدخال)
النموذج يصدر استدعاء أداة يحمل سرّاًقاعدة جدار حماية sanitize (سطح response)
الأداة تطلب مضيف مهاجمقاعدة egress allow / deny
الوكيل يصل إلى البيانات الوصفية للسحابة أو RFC-1918قاعدة رفض egress تسرد تلك الـ CIDRs
أداة على هيئة جلب مُقدَّمة للنموذجمستوى الاستقلالية tight (رفض اسم الأداة)

8. إلى أين تذهب بعد ذلك

مرجع قواعد جدار الحماية

لغة المطابقة الكاملة — قوائم egress، وCIDRs، والمُطهّرات، وكل الأحكام.

تهديد تسريب البيانات

تشريح الهجوم الذي تدافع عنه هذه الوصفة، من طرف إلى طرف.

تقوية وكيل MCP

احكم كل tools/call يرسله وكيل عبر خادم MCP.

تسجيل آمن لـ PII

أبقِ البيانات الحساسة خارج سجلات طلباتك وتغذية Matches.