Bienvenida al curso
Bienvenido a OWASP Machine Learning Security Top 10. Un caso ficticio: el modelo antifraude de Cooperativa Arenal, una cooperativa ficticia, lleva tres meses en producción. Nadie tocó el código, pero cada vez deja pasar más transferencias que antes marcaba. La causa: alguien con acceso a la carpeta de etiquetado cambió parte de los fraudes confirmados a "legítimo" antes del último reentrenamiento. La exactitud general apenas se movió; lo que cayó fue el recall de la clase fraude, justo la métrica que nadie estaba mirando en el tablero.
Eso es envenenamiento de datos; los otros nueve riesgos van desde una entrada manipulada hasta un modelo alterado en el servidor.
Qué va a lograr
- Explicar qué hace diferente la seguridad de un sistema de ML y ubicar cada riesgo de ML01 a ML10 en el ciclo de vida del modelo.
- Medir en sus propios modelos el impacto del envenenamiento de etiquetas y la fuga de pertenencia.
- Aplicar defensas concretas: validar entradas, limitar lo que expone una API, regularizar y verificar hashes.
- Proteger artefactos y salidas con manifiestos, firmas HMAC y formatos seguros.
- Revisar un sistema de ML con un checklist, integrar controles en un pipeline y monitorear la deriva.
- Redactar hallazgos claros, con riesgo OWASP, impacto y prioridad.
Para quién es y qué necesita
Para analistas de seguridad, desarrolladores y personas de datos. Conviene haber hecho IA para ciberseguridad y Python para ciberseguridad: se asume que sabe ejecutar un script y que conoce la idea general de un modelo. No hacen falta matemáticas avanzadas. Necesita Windows, macOS o Linux con Python 3.10 o superior, una terminal, un editor y unos 2 GB libres para scikit-learn, NumPy y pandas en un entorno virtual.
Cómo está organizado
| Módulo | Qué aprende | Laboratorio |
|---|---|---|
| 1. Entradas y datos de entrenamiento | Qué es la seguridad de ML, la lista, su entorno de trabajo, ML01, ML02 y ML08 | Etiquetas envenenadas en un clasificador propio |
| 2. Privacidad y propiedad del modelo | ML03, ML04 y ML05: lo que el modelo revela al responder | Auditar la fuga de pertenencia de su modelo |
| 3. Cadena de suministro e integridad | ML06, ML07, ML09 y ML10: terceros, salidas y artefactos | Integridad de artefactos y firma de salidas |
| 4. Llevarlo al trabajo | Checklist, herramientas, MLOps seguro y conclusión | Monitoreo de deriva y reporte de hallazgos |
| Evaluación | 6 preguntas sobre todo el curso | Aprueba con 70 % |
Cómo aprovecharlo
Prepare el entorno en la lección 3 con pip install scikit-learn numpy pandas joblib y no lo borre: los cuatro laboratorios lo reutilizan. Sus números no van a coincidir decimal por decimal con los del texto, y no hace falta. Lo que importa es la dirección: en el primer laboratorio el recall de fraude cae al voltear etiquetas, y si en el suyo no cae, algo quedó mal copiado.
El laboratorio del módulo 3 es el más largo. Arma un manifiesto de hashes que impide cargar un modelo alterado y firma con HMAC las respuestas del servicio. Ahí se entiende por qué un joblib.load de un archivo de origen desconocido equivale a ejecutar el programa de otra persona. Al aprobar la evaluación final con 70 % recibe el certificado y la insignia.
Tiempo estimado
Unas 5 horas. Cada laboratorio toma unos 25 minutos; cambie después los parámetros y vuelva a correrlo, que es donde más se aprende.