اختراق الذكاء الاصطناعي
موارد أمان الذكاء الاصطناعي

تطوير الذكاء الاصطناعي الآمن

Complete developer guide to building secure AI applications - from input validation to deployment

Updated: August 2026

مبادئ الأمان

1. الدفاع المتعمق

Implement multiple layers of security controls. No single control should be relied upon exclusively.

2. الامتياز الأقل

منح الحد الأدنى من الأذونات اللازمة للمستخدمين وواجهات برمجة التطبيقات ومكونات الذكاء الاصطناعي.

3. تأمين الفشل

عند حدوث أخطاء، انتقل افتراضيًا إلى الحالات الآمنة بدلاً من الحالات المسموح بها.

4. الثقة المعدومة

Never trust, always verify. Validate at every boundary, including internal systems.

التحقق من صحة الإدخال

All user input must be validated and sanitized before processing. This is your first line of defense against prompt injection and other attacks.

فئة التحقق من صحة الإدخال

```python
import re
from typing import Optional, List

class InputValidator:
    # Known injection patterns
    INJECTION_PATTERNS = [
        r"ignore\s+(previous|prior|all)\s+(instructions|rules)",
        r"(forget|disregard)\s+(your|all)\s+(instructions|rules)",
        r"you\s+are\s+(now|still)\s+(dan|do\s+anything)",
        r"system\s+prompt:",
        r"{{.*}}",
        r"\[INST\]|\[/INST\]|<\|end\|>",
    ]
    
    # Encoding patterns
    ENCODING_PATTERNS = [
        r"base64:",  # Base64 prefix
        r"\\x[0-9a-fA-F]{2}",  # Hex encoding
        r"%[0-9a-fA-F]{2}",  # URL encoding
    ]
    
    def validate(self, user_input: str) -> dict:
        """Validate user input for potential attacks."""
        issues = []
        
        # Length check
        if len(user_input) > 10000:
            issues.append("Input exceeds maximum length")
        
        # Check for injection patterns
        for pattern in self.INJECTION_PATTERNS:
            if re.search(pattern, user_input, re.IGNORECASE):
                issues.append(f"Suspicious pattern detected: {pattern}")
        
        # Check for encoding attempts
        for pattern in self.ENCODED_PATTERNS:
            if re.search(pattern, user_input):
                issues.append(f"Encoded content detected")
        
        # Check for high entropy (possible encoding)
        unique_chars = len(set(user_input))
        if len(user_input) > 50 and unique_chars / len(user_input) < 0.3:
            issues.append("High entropy detected - possible encoding")
        
        return {
            "valid": len(issues) == 0,
            "issues": issues,
            "sanitized": self._sanitize(user_input)
        }
    
    def _sanitize(self, user_input: str) -> str:
        """Basic sanitization."""
        # Remove control characters
        sanitized = re.sub(r'[\x00-\x1F\x7F]', '', user_input)
        return sanitized.strip()
```

قائمة التحقق من الصحة

  • التحقق من الصحة عند حدود التطبيق
  • التحقق من طول الإدخال
  • مطابقة النمط للحقن
  • كشف محاولات التشفير
  • التحقق من صحة النوع
  • التعقيم قبل المعالجة
  • حالات فشل التحقق من صحة السجل
  • تحديد المعدل

معالجة المخرجات

LLM outputs must be validated and sanitized before being presented to users or passed to other systems.

تصفية المحتوى

  • التحقق من الكشف عن البيانات الحساسة
  • التحقق من عدم تسرب أي مطالبات للنظام
  • التحقق من صحة تنسيق الإخراج
  • التحقق من المحتوى المُدرج

اكتشاف معلومات تحديد الهوية الشخصية

  • البحث عن المعلومات الشخصية
  • إخفاء البيانات الحساسة أو تنقيحها
  • سجل محاولات عرض معلومات تحديد الهوية الشخصية (PII)
  • إخطار المستخدم عند اكتشافه

التحقق من صحة التنسيق

  • التحقق من صحة مخرجات JSON
  • التحقق من البنية المتوقعة
  • التحقق من القيم المسموح بها
  • تعقيم HTML إن أمكن

مثال لمعالج الإخراج

```python
import re
import json

class OutputHandler:
    PII_PATTERNS = {
        "ssn": r"\b\d{3}-\d{2}-\d{4}\b",
        "email": r"\b[\w.-]+@[\w.-]+\.\w+\b",
        "phone": r"\b\d{3}[-.]?\d{3}[-.]?\d{4}\b",
    }
    
    def process_output(self, raw_output: str) -> dict:
        """Process and validate LLM output."""
        result = {
            "original": raw_output,
            "cleaned": raw_output,
            "warnings": [],
            "blocked": False
        }
        
        # Check for system prompt leakage
        if "system prompt" in raw_output.lower():
            result["warnings"].append("System prompt reference detected")
        
        # Scan for PII
        for pii_type, pattern in self.PII_PATTERNS.items():
            matches = re.findall(pattern, raw_output)
            if matches:
                result["warnings"].append(f"{pii_type} detected in output")
                # Optionally mask
                result["cleaned"] = re.sub(pattern, "[REDACTED]", result["cleaned"])
        
        return result
```

أمن واجهة برمجة التطبيقات (API)

المصادقة

  • استخدام إدارة مفاتيح واجهة برمجة التطبيقات القوية
  • تنفيذ OAuth 2.0 حيثما أمكن
  • التحقق من صحة رمز JWT
  • تدوير مفتاح واجهة برمجة التطبيقات

التفويض

  • التحكم في الوصول المستند إلى الدور (RBAC)
  • نطاق مفتاح واجهة برمجة التطبيقات
  • حدود المعدل لكل مستخدم
  • عزل المستأجر

تحديد المعدل

  • الحدود المستندة إلى الرمز المميز
  • الحدود المستندة إلى الطلب
  • ضوابط التكلفة
  • الاختناق المتدرج

قائمة التحقق من أمان واجهة برمجة التطبيقات

  • استخدام HTTPS فقط
  • تنفيذ تحديد المعدل
  • التحقق من صحة جميع المدخلات
  • تطهير كافة المخرجات
  • استخدام مفاتيح API، غير المضمنة
  • تنفيذ توقيع الطلب
  • الوصول إلى واجهة برمجة تطبيقات السجل
  • تنفيذ CORS بشكل صحيح

المصادقة والترخيص

مصادقة المستخدم

  • سياسات كلمات المرور القوية
  • دعم MFA
  • إدارة الجلسة
  • انتهاء الرمز المميز

مصادقة واجهة برمجة التطبيقات

  • إدارة مفاتيح واجهة برمجة التطبيقات
  • معالجة البيانات
  • التحقق من صحة JWT
  • تدوير المفاتيح

التفويض

  • تنفيذ RBAC
  • التحقق من الأذونات
  • الوصول إلى مستوى الموارد
  • تسجيل التدقيق

أمن البيانات

تصنيف البيانات

  • تحديد البيانات الحساسة
  • التصنيف حسب الحساسية
  • تطبيق عناصر التحكم حسب الفئة
  • عمليات التدقيق المنتظمة

التشفير

  • TLS أثناء النقل
  • AES في حالة عدم النشاط
  • إدارة المفاتيح
  • تدوير المفاتيح

معالجة معلومات تحديد الهوية الشخصية

  • الكشف
  • التصغير
  • إدارة الموافقة
  • الحق في الحذف

التسجيل والمراقبة

ما يجب تسجيله

الأحداث الأمنية

  • محاولات المصادقة
  • فشل التفويض
  • تجاوز حد المعدل
  • أنماط مشبوهة

أحداث خاصة بالذكاء الاصطناعي

  • محاولات الحقن السريع
  • الوصول الفوري إلى النظام
  • استدعاءات الأداة
  • الوصول إلى البيانات عبر منظمة العفو الدولية

الأحداث التشغيلية

  • استدعاءات واجهة برمجة التطبيقات
  • الأخطاء والاستثناءات
  • مقاييس الأداء
  • تتبع التكلفة

مراقبة أفضل الممارسات

  • التنبيه في الوقت الحقيقي للأحداث الأمنية
  • لوحة المعلومات لمقاييس الأمان
  • الكشف التلقائي عن الحالات الشاذة
  • التكامل مع SIEM
  • مراجعة السجل المنتظمة
  • سياسات الاحتفاظ

نقاط الضعف الشائعة

1. IDOR في ميزات الذكاء الاصطناعي

مرجع كائن مباشر غير آمن عندما يصل الذكاء الاصطناعي إلى الموارد

مثال

User asks AI to "read file X" and AI has access without proper authorization checks.

2. SSRF عبر LLM

تزوير الطلب من جانب الخادم من خلال مكالمات أداة الذكاء الاصطناعي

مثال

خدع سريعة للذكاء الاصطناعي لتقديم طلبات إلى الخدمات الداخلية.

3. تجاوز المصادقة

مصادقة ضعيفة أو مفقودة لنقاط نهاية الذكاء الاصطناعي

مثال

نقاط نهاية API API بدون عمليات التحقق من المصادقة المناسبة.

4. التعرض لقاعدة بيانات المتجهات

قاعدة بيانات المتجهات غير المحمية ذات التضمينات الحساسة

مثال

قاعدة بيانات متجهة يمكن الوصول إليها بشكل عام مع حساسة مضمنة البيانات.

الامتثال

GDPR (EU)

  • الأساس القانوني للمعالجة
  • تقليل البيانات
  • حق الوصول/الحذف
  • إمكانية نقل البيانات

CCPA (California)

  • الحق في المعرفة
  • الحق في الحذف
  • الحق في إلغاء الاشتراك
  • عدم التمييز

الذكاء الاصطناعي المحدد

  • متطلبات قانون الذكاء الاصطناعي للاتحاد الأوروبي
  • تقييمات مخاطر الذكاء الاصطناعي
  • التزامات الشفافية
  • الإشراف البشري
AH
AI Hacking Team

The AI Hacking team researches and documents AI/LLM security vulnerabilities, red teaming techniques, and defensive strategies. Our guides are based on real-world pentesting experience and continuous monitoring of the AI security landscape.

Stay Ahead of AI Security

Get the latest AI/LLM security research, OWASP updates, and new vulnerabilities delivered straight to your inbox.