Yo hackeo
Recursos de seguridad

Desarrollo seguro de IA

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

Updated: August 2026

Principios de seguridad

. Defensa en profundidad

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

. Mínimo privilegio

otorgar permisos mínimos necesarios a los usuarios, API y componentes de IA.

. Fallo seguro

Cuando se producen errores, se utilizan de forma predeterminada estados seguros en lugar de permisivos.

. Confianza cero

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

Validación de entrada

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

Clase de validación de entrada

```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 verificación de validación

  • alidar en el límite de la aplicación
  • diablos longitud de entrada
  • partido alternativo para inyección
  • detectar intentos de codificación
  • validación de tipo
  • anitizar antes de procesar
  • fallos de validación
  • comió limitando

Manejo de salida

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

Filtrado de contenidos

  • Diablos para la exposición de datos confidenciales.
  • verificar que no se hayan filtrado mensajes del sistema
  • alidar formato de salida
  • diablos por contenido inyectado

II Detección

  • puede para información personal
  • preguntar o redactar datos confidenciales
  • og intentos de exposición de PII
  • notificación de servicio cuando se detecta

Validación de formato

  • alidar salidas JSON
  • diablos estructura esperada
  • verificar los valores permitidos
  • anitizar HTML si corresponde

Ejemplo de controlador de salida

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

Seguridad PI

autenticación

  • Se sólida gestión de claves API.
  • Implementar OAuth 2.0 siempre que sea posible.
  • Validación de token WT
  • Rotación de clave PI

autorización

  • control de acceso basado en ole (RBAC)
  • Alcance de la clave PI
  • límites de tasa de usuario
  • aislamiento enant

comió limitante

  • límites basados ​​en OKEN
  • límites basados ​​en equest
  • controles principales
  • estrangulamiento encendido

Lista de verificación de seguridad de PI

  • solo HTTPS
  • limitar la tasa de implementación
  • validar todas las entradas
  • anitizar todas las salidas
  • se claves API, no integradas
  • implementar la firma de la solicitud
  • Acceso a API
  • implementar CORS correctamente

autenticación y autorización

autenticación de servidor

  • políticas de contraseña fuertes
  • apoyo de la FA
  • gestión de sesiones
  • vencimiento correcto

Autenticación PI

  • Gestión de claves PI
  • Ámbitos de autenticación
  • validación peso
  • rotación de ojos

autorización

  • implementación de BAC
  • controles de emisiones
  • acceso a nivel de recursos electrónicos
  • registro de auditoría

seguridad de datos

Clasificación de datos

  • identificar datos sensibles
  • categorizar por sensibilidad
  • aplicar controles por categoría
  • auditorías periódicas

cifrado

  • LS en tránsito
  • ES en reposo
  • gestión de ojos
  • rotación de ojos

Manejo

  • eteccion
  • inimización
  • gestión de consentimiento
  • derecho a la eliminación

Registro y monitoreo

sombrero para iniciar sesión

Eventos de seguridad

  • intentos de autenticación
  • fallas de autorización
  • límite de comida excedido
  • patrones sospechosos

Eventos específicos

  • intentos de inyección divertidos
  • acceso rápido al sistema
  • invocaciones geniales
  • acceso a datos a través de IA

Eventos operativos

  • llamadas PI
  • Errores y excepciones.
  • métricas de rendimiento
  • seguimiento de la mayoría

Monitoreo de Mejores Prácticas

  • alertas en tiempo real para eventos de seguridad
  • tablero para métricas de seguridad
  • detección automatizada de anomalías
  • Integración con SIEM
  • revisión regular de registros
  • políticas de retención

Vulnerabilidades comunes

. IDOR en funciones de IA

Referencia directa a objetos segura cuando la IA accede a recursos

ejemplo

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

. SSRF vía LLM

Falsificación de solicitudes del lado del servidor a través de llamadas a herramientas de IA

ejemplo

rompt engaña a la IA para que realice solicitudes a servicios internos.

. Omisión de autenticación

Autenticación débil o faltante para puntos finales de IA

ejemplo

Puntos finales de API sin comprobaciones de autenticación adecuadas.

. Exposición a la base de datos vectorial

Base de datos vectorial no protegida con incrustaciones sensibles.

ejemplo

Base de datos vectorial de acceso público con datos confidenciales integrados.

cumplimiento

GDPR (EU)

  • horrible base para el procesamiento
  • minimización de datos
  • derecho de acceso/eliminación
  • portabilidad de datos

CCPA (California)

  • derecho a saber
  • derecho a eliminar
  • derecho a optar por no participar
  • sobre discriminación

I-específico

  • Requisitos de la Ley U AI
  • Yo evaluaciones de riesgo
  • obligaciones de transparencia
  • supervisión humana
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.