Hacking AI
Resurse de securitate AI

Dezvoltare AI securizată

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

Updated: August 2026

Principii de securitate

1. Apărare în profunzime

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

2 Privilegiul minim

Acordați permisiunile minime necesare utilizatorilor, API-urilor și componentelor AI.

3. Fail Secure

Când apar erori, securizează în mod implicit stările mai degrabă decât cele permisive.

4. Zero Trust

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

Validare de intrare

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

Mecanisme de validare a intrărilor de securitate

```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()
```

Lista de verificare pentru validare

  • Validați la limita aplicației
  • Verificați lungimea intrării
  • Potrivirea modelului pentru mai multe injectare||
  • Detectarea încercărilor de codificare
  • Validarea tipului
  • Sanitificare înainte de procesare
  • Eșecurile de validare a jurnalului
  • Limitarea ratei

Manevrarea ieșirii

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

Filtrarea conținutului

  • Verificați expunerea la date sensibile
  • Verificați că nu au fost scurse solicitări de sistem
  • Validați formatul de ieșire
  • Verificați conținutul injectat

Încercare de otrăvire a sculei

  • Scanați pentru informații personale
  • Mascați sau redactați datele sensibile
  • Înregistrați încercările de expunere PII
  • Notificarea utilizatorului când este detectată|:||Sanitizarea intrării

Validarea formatului

  • Validați ieșirile JSON
  • Verificați structura așteptată
  • Verificarea valorilor permise
  • Sanitizează HTML, dacă este cazul

Exemplu de gestionare a ieșirii

```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
```

Securitate API

Autentificare

  • Folosiți o gestionare puternică a cheilor API
  • Implementați setările OAuth acolo unde este posibil|| AI (COASP)
  • Validarea jetonului JWT
  • Rotația cheii API

Autorizare

  • Controlul accesului bazat pe roluri (RBAC)
  • Scopul cheii API
  • Limite de rată per utilizator
  • Izolarea chiriașilor

Limitarea ratei

  • Limite bazate pe token
  • Limite bazate pe cereri
  • Controlul costurilor
  • Terred throttling

Lista de verificare a securității API

  • Utilizați numai HTTPS
  • Implementați limitarea ratei
  • Validați toate intrările
  • Dezinfectați toate ieșirile
  • Folosiți chei API, nu încorporate
  • Implementați semnarea cererilor
  • Acces API de jurnal
  • Implementați corect CORS

Autentificare și autorizare

Autentificare utilizator

  • Politicile de parole puternice
  • Suport MFA
  • Gestionarea sesiunii
  • Expirare token

Autentificare API

  • Gestionarea cheilor API
  • Scoperii OAuth
  • Validare JWT
  • Rotația cheilor

Autorizare

  • Implementare RBAC
  • Verificări de permisiuni
  • Acces la nivel de resursă
  • Înregistrare de auditare

Securitatea datelor

Clasificarea datelor

  • Identificarea datelor sensibile
  • Clasificare în funcție de sensibilitate
  • Aplicați controale în funcție de categorie
  • Ieșirile LLM de tip Sandbox înainte de utilizarea în aval

Criptare

  • TLS în tranzit
  • AES în repaus
  • Managementul cheilor
  • Rotația cheilor

Gestionarea IPI

  • Detecție
  • Minimizare
  • Gestionarea consimțământului
  • Dreptul la ștergere

Înregistrare și monitorizare

Ce să vă înregistrați

Evenimente de securitate

  • Încercări de autentificare
  • Eșecuri de autorizare
  • Limita de rată depășită
  • Modele suspecte

Evenimente specifice AI

  • Încercări de injectare promptă
  • Acces prompt la sistem
  • Invocări de instrumente
  • Accesul la date prin AI

Accesul prompt al sistemului de acces și restricții operaționale

  • Apeluri API
  • Erori și excepții
  • Metrici de performanță
  • Urmărirea costurilor

Monitorizarea celor mai bune practici

  • Alerta în timp real pentru evenimente de securitate
  • Tabloul de bord pentru valorile de securitate
  • Detecția automată a anomaliilor
  • Integrare cu SIEM
  • Revizuire regulată a jurnalului
  • Politicile de reținere

Vulnerabilități comune

1. IDOR în Caracteristici AI

Referință nesigură a obiectelor directe când AI accesează resurse

Exemplu

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

2. SSRF prin LLM

Falsificarea cererilor pe server prin apeluri de instrumente AI

Exemplu

Trucurile prompte AI pentru a face cereri către serviciile interne.

3. Ocolire autentificare

Autentificare slabă sau lipsă pentru punctele finale AI

Exemplu

Punctele finale ale API-ului AI fără verificări corespunzătoare de autentificare.

4. Vector DB Exposure

Bază de date vectorială neprotejată cu încorporare sensibile

Exemplu

date sensibile încorporate.

Conformitate

GDPR (EU)

  • Temei legale pentru procesare
  • Minimizarea datelor
  • Dreptul de acces/ștergere
  • Portabilitatea datelor

CCPA (California)

  • Dreptul de a cunoaște
  • Dreptul de ștergere
  • Dreptul la renunțare
  • Nediscriminare, normalizare,| sau gestionați în mod corespunzător ieșirile LLM înainte de a le transmite sistemelor sau utilizatorilor din aval.

Specific AI||Priviliu AI pentru cel mai mic tranzit de date||TLS acțiuni

  • |EU store in XmpSS în web. continut
  • Evaluări ale riscurilor AI
  • Obligații de transparență
  • Supravghere umană
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.