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

1. ما الذي يفعله حاجز حماية أمان الكود فعلاً

يشحن OrcaRouter عائلة إعدادات مسبقة code_security تطبّقها من منتقي القوالب. كل واحد قاعدة حاجز حماية عادية — ضمن نطاق مساحة العمل، مرتبة، قابلة للربط بأي مفتاح — مضبوطة للكود:

.env / Secret-File Block

يحجب تعيينات أسرار بشكل .env (DATABASE_URL=، AWS_SECRET_ACCESS_KEY=، API_TOKEN=…) وتفريغات تكوين متعددة الأسطر الملصقة قبل وصولها إلى المزود. يعتمد على بناء جملة التعيين، لا على القيمة.

License Compliance (copyleft)

يعلّم الطلبات التي تحمل ترويسات copyleft القوية — وسوم SPDX لـ GPL / AGPL / LGPL / SSPL أو أسماء رخص كاملة — بحيث يمكن لمراجع أن يؤكد أن الكود آمن للخلط في قاعدة كود متساهلة. تعليم فقط.

GPL/AGPL Provenance (output)

تعليم مرحلة مخرجات على اقتراحات النموذج التي تحمل توقيعات منشأ copyleft — علامة على أن النموذج قد يكون قد ردّد بيانات تدريب copyleft في كود مُولَّد.

Insecure-API Advisory

يضيف ملاحظة إلى المطالبة بتنبيه أمني عندما تشير إلى مصرف عالي الخطر — eval( / exec( / os.system( / subprocess.run( / pickle.loads( / child_process.exec(. غير حاجب.
الثلاثة الأولى تعيد استخدام إجراءات تعرفها بالفعل — block وflag. أما Insecure-API Advisory فيستخدم annotate: بدلاً من رفض الطلب أو تنقيحه، يعزّزه بملاحظة يقرأها النموذج قبل أن يجيب. نفس الأولية تشغّل تزيين CVE/SBOM (أدناه).
إعدادات code_security المسبقة حتمية — regex نقي، بلا استدعاء شبكي، آمنة على المسار الساخن. الماسحات المتصلة بالشبكة (بحث CVE، SBOM، SAST) هي اتصالات خارجية منفصلة، لا إعدادات مسبقة. انظر §3.

2. Annotate — حذّر النموذج دون تغيير حركة المرور

الإجراءات التي تكوّنها على حاجز حماية هي block (رفض الاستدعاء، HTTP 400)، وmask (تنقيح المطابقة)، وflag (تسجيل فقط). يضيف أمان الكود سلوكاً رابعاً تحت الغطاء: annotate، الذي لا يحجب ولا يخفي. عندما تطابق قاعدة annotate، تسجّل البوابة ملاحظة قصيرة ويحقنها الترحيل للأعلى كتنبيه نظام — فيُخبَر النموذج، مثلاً، “يشير هذا الطلب إلى API عالي الخطر (تقييم كود، أو تنفيذ shell، أو إلغاء تسلسل غير آمن)؛ فضّل بدائل أأمن”قبل أن يجيب. نص المستخدم لا يُرفض أبداً ولا يُعاد كتابته أبداً.

مثال واحد ملموس

طبّق الإعداد المسبق Insecure-API Advisory على حاجز حماية واربطه بمفتاح. ثم أرسل كوداً يستدعي مصرفاً خطراً:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user",
       "content": "Refactor this: result = eval(user_supplied_expr)"}
    ]
  }'
يمر الطلب دون تعديل — نفس المحتوى، نفس النموذج — لكن البوابة تسبق بتنبيه أمني يقرأه النموذج أولاً. يعود الإكمال موجَّهاً نحو APIs ذات معاملات وتحقق من المدخلات، بدون تغيير كود في تطبيقك وبدون رحلة ذهاب وإياب ثانية.
يتكامل annotate مع الإجراءات الأخرى. حاجز حماية واحد يمكنه إخفاء سرّ وإضافة ملاحظة لنفس الطلب — يُنقّح النص وتُضاف ملاحظة في تمريرة واحدة.

3. تزيين CVE وSBOM عبر الماسحات الخارجية

أولية التنبيه تتعمّم. اربط ماسح أمان كود كـ مزود خارجي فتركب نتائجه نفس مسار annotate:
يستخرج الاستيرادات وتثبيتات الملف من نص الطلب ويقارنها مقابل قاعدة بيانات الثغرات العامة OSV. إصابة تزيّن المطالبة بـ، مثلاً، “requests@2.0.0 has CVE-2014-1830 (HIGH). Fixed in 2.20.0.” — فيُخبَر النموذج عن ثغرة معروفة في حزمة طُلب منه استخدامها. مجاني وبلا مصادقة، فلا حقل مفتاح API. الافتراضي annotate؛ يمكنك ضبطه إلى flag أو block بدلاً من ذلك.
اربط ماسح SBOM (قائمة مكونات البرمجيات) أو SAST (تحليل ساكن) بنفس طريقة ربط أي مزود خارجي — عنوان URL أساسي بالإضافة إلى اعتمادات، مخزّنة مشفّرة ومقنّعة عند القراءة. كل نتيجة تحمل هوية مستقرة، فنتيجة فرزتها بالفعل لا تُطلق مجدداً على كل طلب.
تتبع الماسحات الخارجية نفس افتراضي fail-open كأي قاعدة متقدمة: خطأ أو مهلة ماسح يُسجَّل كقياس عن بُعد ويستمر الطلب. اضبط fail_open إلى false على القاعدة لـ fail closed للسياسات التي يكون فيها مسح فائت غير مقبول.

4. الاقتران مع قواعد الأسرار والرخص

نادراً ما يركب حاجز حماية أمان الكود وحده. الشكل الشائع هو حاجز حماية واحد بعدة قواعد:
الهدفالقاعدة
أوقف الاعتمادات الملصقة.env / Secret-File Block (block)
اصطد قيم الأسرار السطريةSecrets Blocker (block)
بوّب كود copyleftLicense Compliance (flag)
وجّه المصارف الخطرةInsecure-API Advisory (annotate)
أضفها كلها إلى سياسة مسمّاة واحدة، اربطها بمفتاح وكيل الكود لديك، فيُفحص كل طلب — احجب على الانتهاكات الواضحة، أضف ملاحظات لأحكام التقدير، علّم الباقي للمراجعة.
الطلب المحجوب يعيد HTTP 400 guardrail_blocked ولا يكلّف أي حصة — حجب مرحلة المدخلات يُطلق قبل القياس. ويُعلَّم أيضاً بـ skip-retry، فإعادة تشغيل نفس المطالبة مقابل قناة أخرى تحجب مجدداً فحسب. انظر خطأ guardrail_blocked.

5. كوّنه (وحدة التحكم + الأدوار)

كل شيء هنا يُكوَّن في وحدة التحكم، لا عبر مفتاح الترحيل. المسارات الإدارية (/api/guardrail/*) تصادق بجلستك / رمز الوصول، لا بمفتاح ترحيل sk-. القراءات — سرد حواجز الحماية وتغذية Matches — مفتوحة لكل عضو في مساحة العمل. الكتابات (إنشاء / تحرير / حذف) والـ sandbox الاختباري يتطلبان دور Developer أو أعلى: يمكن للـ sandbox إطلاق استدعاءات نموذج مدفوعة وطلبات مزودين صادرة، فهو مبوّب كالكتابة.
1

أنشئ حاجز الحماية

في وحدة التحكم، افتح Guardrails → New guardrail. يسقطك زر التقسيم في مكتبة القوالب — اختر إعداد Code security مسبقاً كنقطة انطلاق.
2

حرّر بحرية

الإعداد المسبق بذرة، لا قفل. اضبط الـ regex، أضف قاعدة Secrets Blocker، غيّر إجراءً. استخدم علامة التبويب Test لإثبات أن قاعدة تُطلق بالطريقة التي تتوقعها مقابل نص عينة قبل ربطها بمفتاح.
3

اربط مفتاحاً

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

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