دليل · وكلاء الذكاء الاصطناعي · · بقلم Stefan Tsezarov
امنح وكيلك رأيًا ثانيًا قبل أن يتصرف
تطلب من وكيل البرمجة إصلاح عملية بناء. يقرأ README، ويتفقد سلسلة issue، ويجد اقتراحًا:
إصلاح معقول. تغيير صغير واحد. يجهّز الوكيل أمر التثبيت.
لكن تلك الشرطة المفقودة مهمة. كانت crossenv حزمة خبيثة حقيقية، حُذفت من npm في 2017 بعد أن اكتُشف أنها تسرق متغيرات البيئة—المكان الذي يحفظ فيه المطوّرون مفاتيحهم ورموزهم غالبًا.
المحادثة أعلاه مثال. أما الحزمة فلم تكن كذلك.
01حين يصبح الاقتراح أمرًا
يقرأ وكلاء البرمجة كثيرًا من النصوص التي قد لا تراها أبدًا: الوثائق، وتعليقات الـ issues، وصفحات الويب، ورسائل الأخطاء. يساعدهم ذلك السياق على حل المشكلات. وقد يوجّههم أيضًا نحو اعتمادية سيئة.
تثبيت حزمة يستحق حرصًا خاصًا. قد تتضمن حزم npm سكربتات تعمل أثناء التثبيت، فقد تُنفَّذ الشيفرة قبل أن تتاح لك فرصة فحصها.
يضيف حارس ما قبل التثبيت في SaveSaveSaveSave فحصًا عند تلك النقطة. قبل تشغيل أمر تثبيت مدعوم، يبحث عن الحزمة ويطبّق سياسة اخترتها أنت.
02ماذا يحدث لعملية التثبيت؟
تأمّل ثلاثة أوامر قد يقترحها وكيل.
حزمة من السجل لا تثير أي إشارات
npm install cross-env
يسمح الحارس بمتابعة الأمر. ويظل طلب الموافقة المعتاد لديك ساريًا. وهذا يعني أن الفحوص لم تجد سببًا للاعتراض؛ وليس ضمانًا بأن الحزمة آمنة.
حزمة مُبلّغ عنها بأنها خبيثة
cd app && npm install --save-dev crossenv
يرفض الحارس الأمر ويخبر الوكيل بالسبب. ويتعرف على التثبيت حتى عندما يأتي بعد أمر آخر.
شيفرة مجلوبة مباشرة من GitHub
npx github:someone/setup-script
في الوضع الافتراضي، يطلب الحارس مراجعة بشرية. رابط Git يقع خارج فحوصه لسجل npm، فلا يستطيع تقديم التقييم نفسه.
تشمل الأوامر المدعومة عمليات التثبيت عبر npm وpnpm وyarn وbun، إضافة إلى npx وnpm ci، وسلاسل الأوامر التي تستخدم &&، والأوامر الملفوفة في bash -c "…".
03أنت من يختار القواعد
يقدّم الفحص الأدلة: ما فحصه، وما وجده، وما لم يستطع تقييمه. وتحدد سياسة تعمل على جهازك ما يحدث بعد ذلك.
اختر أحد ثلاثة أوضاع:
| الوضع | مُبلّغ عنه بأنه خبيث | تحذير أو بيانات غير كافية | فشل الفحص أو المصدر خارج السجل |
|---|---|---|---|
| observe | السماح والإبلاغ | السماح | السماح |
| guard · افتراضي | الرفض | سؤال إنسان | سؤال إنسان |
| strict | الرفض | الرفض | الرفض |
استخدم observe لترى كيف يتصرف الحارس في سير عملك. واختر guard لحظر الحزم الخبيثة المعروفة ومراجعة الحالات غير المؤكدة. واختر strict عندما يجب أن توقف النتيجة غير الحاسمة عملية التثبيت.
النتيجة النظيفة لا تلغي أبدًا موافقة كان وكيلك سيطلبها في غير هذه الحالة.
04أضِفه إلى سير عملك
في Claude Code، أضِف هذا الخطاف إلى .claude/settings.json في مشروعك. إذا كان الملف يحتوي على إعدادات بالفعل، فادمج الخطاف معها.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "npx -y savesavesavesave@0.1.5 hook claude-code --mode observe"
}
]
}
]
}
}
يفحص الخطاف أوامر Bash المقترحة. والأوامر التي لا تحتوي على تثبيت معروف تمر.
لوكيل أو سكربت آخر، ضع الحارس قبل أمر التثبيت:
npx savesavesavesave@0.1.5 guard --mode guard -- npm install some-package
تخبر رموز الخروج الخاصة به تكاملك كيف يتصرف:
0: السماح1: طلب مراجعة بشرية2: الرفض
يجب أن يحترم تكاملك تلك النتائج.
يمكن للوكلاء الذين يدعمون MCP طلب الفحوص مباشرة أيضًا. تعليمات إعداد العملاء موجودة في صفحة للوكلاء.
لا حاجة إلى حساب أو مفتاح API. تثبّت الأمثلة إصدارًا محددًا كي تتمكن من مراجعة إصدار بعينه قبل استخدامه.
05اعرف ما يشمله الفحص
يقرأ الحارس المعلومات التي ينشرها سجل npm وOSV.dev. لا ينزّل الحزمة ولا ينفّذها، ويشمل حاليًا حزم npm فقط، لا منظومات مثل PyPI أو crates.io.
يترك ذلك بعض الحدود العملية:
- يفحص الأوامر المدعومة التي يتلقاها. عمليات التثبيت المخفية داخل ملفات سكربت، أو مديرو الحزم غير المدعومين، أو الملفات التنفيذية المنزّلة قد تقع خارج نطاق رؤيته. القيود الأقوى تتطلب ضوابط على وصول الوكيل إلى الشبكة ونظام الملفات.
- قد يمر تهديد لم يُبلّغ عنه. «لا اعتراض» تعني أن الفحوص المتاحة لم تجد خطرًا معروفًا.
- يجب أن يعمل الخطاف كي تعمل السياسة. إذا استخدمت الوضع strict، فاتبع تعليمات README الحزمة لحظر الأوامر عندما يفشل الخطاف نفسه في البدء.
يستطيع وكيل البرمجة إصلاح عملية بناء بسرعة. ويستطيع أيضًا التصرف بسرعة بناءً على اقتراح مقنع من شخص لا تعرفه.
قبل أن يحصل ذلك الاقتراح على وصول إلى جهازك، امنحه رأيًا ثانيًا.
خطوتك التالية: أضِف الخطاف في وضع observe، وراجع نتائجه، واختر السياسة التي تناسب سير عملك.