Parte: 15 — Seguridad de IA y machine learning · Fuente: OWASP Top 10 for Large Language Model Applications (OWASP Foundation) ⏱️ Duración estimada: 100 min · Nivel: Intermedio
Dominar la taxonomía OWASP Top 10 para aplicaciones con LLM como marco de referencia para auditar y asegurar sistemas basados en modelos de lenguaje. El alumno aprenderá a identificar cada riesgo en una arquitectura real, mapearlo a controles y construir una checklist de auditoría reutilizable.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | LLM01 Prompt Injection | El riesgo estrella; entrada no confiable como instrucción |
| 2 | LLM02 Insecure Output Handling | Salidas del LLM tratadas sin sanear (XSS, SSRF, RCE) |
| 3 | LLM03/04 Poisoning y DoS | Envenenamiento de datos y consumo desbordado de recursos |
| 4 | LLM05 Supply Chain | Modelos, plugins y datasets de terceros |
| 5 | LLM06 Sensitive Info Disclosure | Fuga de datos de entrenamiento o del contexto |
| 6 | LLM07/08 Plugins y Excessive Agency | Herramientas inseguras y permisos excesivos del agente |
| 7 | LLM09/10 Overreliance y Model Theft | Confiar ciegamente y robo del modelo |
Nota: la lista OWASP para LLM se actualiza por versiones (2023, 2025); usa la más reciente y verifica los IDs vigentes.
Ejercicio de análisis de arquitectura, no de explotación.
Elige una app real de referencia. Ejemplo: "asistente de soporte que consulta una base de conocimiento (RAG) y puede crear tickets vía API".
Dibuja el flujo de datos. Usuario → prompt → recuperación de documentos → LLM → salida → acciones (crear ticket). Marca cada frontera de confianza.
Recorre el Top 10 riesgo por riesgo. Para cada uno, responde: ¿aplica a esta app? ¿dónde exactamente? ¿con qué impacto?
Prompt injection (LLM01). Identifica dónde entra texto no confiable (mensaje del usuario y documentos recuperados). Marca ambos como fuentes de injection directa e indirecta.
Output handling (LLM02). ¿La respuesta se renderiza en HTML? ¿Se pasa a otra herramienta? Define validación/escape necesarios.
Excessive Agency (LLM08). Lista las herramientas del agente y sus permisos. Aplica mínimo privilegio: ¿crear ticket necesita aprobación humana?
Sensitive Disclosure (LLM06). ¿Qué hay en el prompt del sistema? ¿Podría filtrarse? ¿Los documentos recuperados mezclan datos de distintos tenants?
Construye la checklist. Genera una tabla: Riesgo | ¿Aplica? | Evidencia | Control propuesto | Prioridad. Esta checklist será tu entregable reutilizable.
Entrega una auditoría OWASP-LLM de una aplicación (real o de ejemplo) con un diagrama de arquitectura anotado con fronteras de confianza y una checklist que cubra los 10 riesgos.
Criterio de aceptación: cada uno de los 10 riesgos aparece en la checklist con veredicto (aplica/no aplica) justificado, y para cada riesgo aplicable hay al menos un control concreto y una prioridad. Un tercero debe poder usar tu checklist para auditar otra app similar.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| "Solo me preocupa el prompt injection" | Reduce la superficie a un riesgo. Recorre los 10; output handling y agency son igual de graves. |
| Confundir LLM01 y LLM02 | Injection es la entrada; output handling es qué haces con la salida. Son controles distintos. |
| Ignorar la injection indirecta | Solo se filtra la entrada del usuario, no los documentos RAG. Trata todo contenido recuperado como no confiable. |
| Dar al agente todos los permisos | Excessive Agency. Aplica mínimo privilegio y human-in-the-loop para acciones sensibles. |
| Usar una versión desactualizada del Top 10 | Los IDs cambian entre 2023 y 2025. Cita la versión y verifica los códigos. |
❓ ¿El OWASP Top 10 para LLM reemplaza al Top 10 web clásico? No. Lo complementa. Una app con LLM sigue siendo una app web con sus riesgos habituales; el Top 10 LLM añade los específicos del modelo.
❓ ¿Cuál es el riesgo más frecuente en la práctica? Prompt injection (LLM01) y mal manejo de salida (LLM02) dominan los hallazgos reales, sobre todo cuando el LLM alimenta otras acciones o se renderiza sin escape.
❓ ¿Cómo priorizo si tengo recursos limitados? Por impacto en tu arquitectura: si el LLM ejecuta acciones (agente), prioriza Excessive Agency e injection; si es solo conversacional, output handling y disclosure.
❓ ¿Sirve para cumplimiento? Es un marco técnico, no una norma. Combínalo con NIST AI RMF e ISO/IEC 42001 (clase 300) para el marco de gobernanza y auditoría formal.
Clase 294 — Robo y extracción de modelos