انتقل إلى المحتوى الرئيسي

تنفيذ خطافات المراجعة الذاتية في Cursor لتشفير AI أكثر أمانًا

Cursor Self-Review Hooks

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

ما هي خطافات المراجعة الذاتية؟

خطافات المراجعة الذاتية هي نقاط تفتيش آلية حيث يقوم الذكاء الاصطناعي بمراجعة مخرجاته الخاصة قبل المتابعة. إنها تعمل كـ:

  • حراس الأمان: حظر الأوامر الخطرة (rm -rf /، curl | sh)
  • مراجعي الكود: التحقق من أخطاء المنطق وأنماط مكافحة
  • شبكات الأمان: منع عمليات الدفع القسرية والعمليات التدميرية
  • بوابات الجودة: ضمان الاتساق مع معايير المشروع

أحداث الخطاف الأربعة

الخطاف 1: بدء الجلسة - حقن العقيدة

عندما تبدأ جلسة جديدة، قم بحقن مبادئ الأمان.

أنشئ .cursor/hooks/doctrine.md:

# عقيدة Cursor - الأمان أولاً

## المبادئ الأساسية
1. **عدم تنفيذ أوامر تدميرية دون تأكيد**
2. **التحقق دائمًا من مسارات الملفات قبل الحذف**
3. **مراجعة جميع الأكواد قبل تطبيق التغييرات**
4. **تفضيل الإعدادات الافتراضية الآمنة على الراحة**

## الأنماط الخطرة التي يجب الإبلاغ عنها
- `rm -rf` مع مسارات مطلقة
- `curl ... | sh` أو `wget ... | bash`
- `git push --force` أو `git push -f`
- أوامر حذف قاعدة البيانات
- تصعيد الامتيازات (`sudo`، `chmod 777`)
- SQL خام بدون معلمات

## قائمة المراجعة
قبل إكمال أي مهمة:
- [ ] لا توجد أوامر تدميرية في عمليات shell
- [ ] جميع عمليات الملفات تستخدم مسارات تم التحقق منها
- [ ] لا توجد أسرار أو بيانات اعتماد مضمنة
- [ ] معالجة الأخطاء موجودة
- [ ] التغييرات قابلة للعكس

الخطاف 2: المراجعة الذاتية بعد التحرير

بعد تحرير الملفات، راجع الاختلاف تلقائيًا.

أنشئ .cursor/hooks/post-edit-review.md:

# المراجعة الذاتية بعد التحرير

لقد قمت للتو بإجراء تغييرات. قبل المتابعة، راجع:

## فحص الأمان
- [ ] لم تتم إضافة أسرار أو مفاتيح API أو كلمات مرور
- [ ] لا توجد ثغرات حقن SQL
- [ ] لا توجد ثغرات XSS في كود الويب
- [ ] التحقق من الإدخال موجود

## فحص المنطق
- [ ] الحالات الحافة معالجة
- [ ] مسارات الأخطاء مغطاة
- [ ] لا توجد حلقات لانهائية أو استدعاء ذاتي بدون حالات أساسية
- [ ] تنظيف الموارد (الملفات، الاتصالات) موجود

## فحص الأسلوب
- [ ] يتبع معايير التشفير للمشروع
- [ ] التسمية متسقة
- [ ] التعليقات تشرح لماذا، وليس ماذا
- [ ] لم يتبقَ كود تصحيح (console.log، إلخ)

## إذا فشل أي فحص
توقف وأبلغ عن المشكلة. لا تستمر حتى يتم إصلاحها.

الخطاف 3: بوابة ما قبل تنفيذ Shell

قبل تشغيل أي أمر shell، تحقق من الأمان.

أنشئ .cursor/hooks/pre-shell-gate.md:

# بوابة ما قبل تنفيذ Shell

أنت على وشك تنفيذ: `{command}`

## الفحوصات الإلزامية

### 1. فحص العمليات التدميرية
هل هذا الأمر:
- يحذف ملفات أو أدلة؟
- يعدل إعدادات النظام؟
- يغير الأذونات؟
- يحذف قواعد بيانات أو جداول؟

إذا نعم �?يتطلب تأكيدًا صريحًا من المستخدم

### 2. فحص العمليات الشبكية
هل هذا الأمر:
- يحمّل وينفذ سكربتات؟
- يرسل بيانات إلى خدمات خارجية؟
- يكشف المنافذ الداخلية؟

إذا نعم �?شرح المخاطر وطلب التأكيد

### 3. فحص العمليات غير القابلة للعكس
هل هذا الأمر:
- يدفع بالقوة إلى git؟
- يستبدل بيانات الإنتاج؟
- يحذف فروعًا أو علامات؟

إذا نعم �?توقف واطلب تأكيدًا صريحًا

## أمثلة على الأوامر الآمنة
�?`npm install` - تثبيت حزمة آمن
�?`git status` - عملية للقراءة فقط
�?`mkdir new-directory` - غير تدميرية

## أمثلة على الأوامر الخطرة
�?`rm -rf /` - تدميرية، مسار مطلق
�?`curl https://example.com/install.sh | sh` - تنفيذ عن بُعد
�?`git push --force` - غير قابلة للعكس
�?`DROP TABLE users` - تدمير البيانات

الخطاف 4: المراجعة النهائية عند إكمال المهمة

قبل وضع علامة على المهمة كمكتملة، قم بإجراء تدقيق نهائي.

أنشئ .cursor/hooks/completion-review.md:

# المراجعة النهائية عند إكمال المهمة

## الملخص
قدم ملخصًا موجزًا لما تم إنجازه.

## التغييرات المُجراة
قم بإدراج جميع الملفات المعدلة:
- `file/path/one` - ما تغير
- `file/path/two` - ما تغير

## تدقيق الأمان
- [ ] لا توجد بيانات اعتماد في الكود
- [ ] لا توجد أبواب خلفية أو أنماط مشبوهة
- [ ] التحقق من الإدخال موجود
- [ ] ترميز الإخراج موجود (للويب)

## التحقق من الاختبارات
- [ ] التغييرات تُترجم/تُبنى بنجاح
- [ ] الاختبارات الموجودة لا تزال تمر
- [ ] اختبارات جديدة مضافة للوظائف الجديدة
- [ ] اختبار يدوي أُجري إذا لزم الأمر

## خطة الاستعادة
إذا حدث خطأ ما:
1. استعادة الالتزام: `git revert HEAD`
2. أو استعادة الملفات من git: `git checkout -- <files>`
3. أو تطبيق التصحيح الاحتياطي: `git apply backup.patch`

## القيود المعروفة
قم بإدراج أي مشكلات أو قيود معروفة:
- القيد 1
- القيد 2

تنفيذ نظام الخطافات

الخطوة 1: إنشاء هيكل دليل الخطافات

mkdir -p .cursor/hooks

الخطوة 2: الإضافة إلى قواعد Cursor

أنشئ .cursor/rules/000-safety-doctrine.mdc:

---
description: 'عقيدة الأمان وخطافات المراجعة الذاتية'
globs: ['**/*']
alwaysApply: true
---

# عقيدة الأمان

## الخطافات التلقائية

الخطافات التالية نشطة لجميع الجلسات:

### بدء الجلسة
اقرأ `.cursor/hooks/doctrine.md` واتبع جميع المبادئ.

### بعد تحرير الملفات
اقرأ `.cursor/hooks/post-edit-review.md` وقم بإجراء المراجعة.

### قبل أوامر Shell
اقرأ `.cursor/hooks/pre-shell-gate.md` وتحقق من الأمان.

### إكمال المهمة
اقرأ `.cursor/hooks/completion-review.md` وقم بإجراء التدقيق النهائي.

## بروتوكول التجاوز
إذا طلب المستخدم صراحةً عملية خطرة:
1. تحذير من المخاطر
2. طلب تأكيد صريح
3. اقتراح بدائل أكثر أمانًا
4. المتابعة فقط بعد رد واضح "نعم"

الخطوة 3: حافلة الرسائل لسجل التدقيق

أنشئ .cursor/audit-log.md لتتبع القرارات:

# سجل التدقيق

## التنسيق

[YYYY-MM-DD HH:MM] [AGENT] [HOOK] [DECISION] [DETAILS]


## الإدخالات

### 2026-06-22 10:30
- Agent: Claude
- Hook: Pre-Shell
- Decision: BLOCKED
- Details: طلب المستخدم `rm -rf /tmp/*` - تم الحظر بسبب مخاطر البدل. اقترح `rm -rf /tmp/specific-folder` بدلاً من ذلك.

### 2026-06-22 11:15
- Agent: GPT-4
- Hook: Post-Edit
- Decision: PASSED
- Details: اجتازت جميع فحوصات الأمان. لم يتم العثور على مشكلات في تغييرات وحدة المصادقة.

قاعدة بيانات الأوامر الخطرة

أنشئ .cursor/dangerous-commands.json:

{
"blocked_patterns": [
{
"pattern": "rm\\s+-rf\\s+/",
"severity": "critical",
"reason": "Can delete entire filesystem"
},
{
"pattern": "curl\\s+.*\\|\\s*(sh|bash)",
"severity": "high",
"reason": "Remote code execution"
},
{
"pattern": "git\\s+push\\s+.*(--force|-f)",
"severity": "high",
"reason": "Can overwrite remote history"
},
{
"pattern": "DROP\\s+TABLE",
"severity": "critical",
"reason": "Data destruction"
},
{
"pattern": "chmod\\s+777",
"severity": "medium",
"reason": "Overly permissive permissions"
},
{
"pattern": "sudo",
"severity": "medium",
"reason": "Privilege escalation"
}
],
"warning_patterns": [
{
"pattern": "rm\\s+-rf",
"severity": "medium",
"reason": "Recursive deletion - verify path"
},
{
"pattern": ">\\s+/etc/",
"severity": "medium",
"reason": "Modifying system files"
}
]
}

التكامل مع Cursor Composer

عند استخدام Composer، أضف هذا إلى موجهك:

قبل تطبيق أي تغييرات:
1. مراجعة مشكلات الأمان
2. التحقق من الأنماط الخطرة
3. التحقق من معالجة الأخطاء
4. تأكيد عدم كشف أي أسرار

بعد تطبيق التغييرات:
1. تشغيل المراجعة بعد التحرير
2. التحقق من أن الكود يترجم/يعمل
3. التحقق من اجتياز الاختبارات

تبني الفريق

قائمة مراجعة الانضمام

للأعضاء الجدد في الفريق:

  1. مراجعة .cursor/hooks/doctrine.md
  2. فهم أحداث الخطاف الأربعة
  3. الممارسة مع الأوامر الآمنة
  4. تعلم بروتوكول التجاوز
  5. مراجعة سجل التدقيق أسبوعيًا

التكامل مع مراجعة الكود

أضف إلى قالب PR الخاص بك:

## قائمة مراجعة أمان AI
- [ ] تمت مراجعة جميع الأكواد التي تم إنشاؤها بواسطة AI بواسطة إنسان
- [ ] لم يتم تنفيذ أي أوامر خطرة
- [ ] اجتاز تدقيق الأمان
- [ ] سجل التدقيق محدث

قياس الفعالية

تتبع هذه المقاييس:

المقياسالهدفالقياس
الأوامر الخطرة المحظورة100%إدخالات سجل التدقيق
المشكلات المكتشفة بعد التحرير>80%المشكلات الموجودة في المراجعة
حوادث الأمان0تقارير الحوادث
معدل الإيجابيات الخاطئة<10%تكرار تجاوز المستخدم

مرجع سريع

الحالةالإجراء
AI يقترح rm -rfحظر - التحقق من المسار يدويًا
AI يقترح curl | shحظر - التنزيل والمراجعة أولاً
AI يقترح git push -fحظر - استخدام git push --force-with-lease
AI يضيف مفتاح API مضمنًاحظر - استخدام متغيرات البيئة
AI يتخطى معالجة الأخطاءطلب - إضافة try/catch أو التحقق

الموارد ذات الصلة