Vulnerabilidades en PickleScan permitían colar modelos maliciosos indetectables

El auge de la Inteligencia Artificial ha traído consigo un nuevo vector de ataque: los modelos de aprendizaje automático contaminados. Para combatir esto, la industria confía en herramientas como PickleScan, un escáner de seguridad diseñado para detectar malware oculto en archivos de modelos (especialmente los de PyTorch).

Sin embargo, investigadores de seguridad han revelado hoy que PickleScan tenía dos vulnerabilidades críticas que permitían a los atacantes “cegar” al escáner.


¿Cuál era el peligro?

Imagina un control de seguridad en un aeropuerto que deja pasar armas si las envuelves en papel de regalo de cierto color. Eso es básicamente lo que sucedió. Los atacantes podían crear archivos de modelos de IA maliciosos (usando el formato Pickle) que, al ser analizados por PickleScan, recibían la etiqueta de “Seguro”.

Sin embargo, cuando un científico de datos o un ingeniero descargaba y ejecutaba ese modelo en su entorno local o en la nube, el código malicioso oculto se activaba, permitiendo la ejecución remota de código (RCE). Esto ponía en riesgo plataformas masivas como Hugging Face, que utilizan esta herramienta para proteger su repositorio.


La Solución

Afortunadamente, los mantenedores de PickleScan han accionado rápido. Las vulnerabilidades han sido parcheadas en la versión 0.0.18. Si utiliza esta herramienta en sus flujos de trabajo de MLOps, la actualización es obligatoria e inmediata.


El problema de raíz: El formato “Pickle”

Para entender esta noticia, hay que entender que pickle (el formato estándar de Python para guardar objetos y modelos de IA) es inseguro por diseño. Cuando “des-serializas” (abres) un archivo pickle, Python esencialmente está ejecutando las instrucciones que vienen dentro. No es solo datos; es código. PickleScan intentaba analizar ese código antes de ejecutarlo para ver si era peligroso, pero como hemos visto, analizar el código estático siempre es propenso a errores y evasiones.


La tendencia de la industria: Safetensores

Este incidente refuerza por qué la comunidad de IA está migrando masivamente hacia Safetensors.

  • Pickle: Es como enviar un documento de Word con Macros; peligroso si no confías en el remitente.
  • Safetensors: Es un formato desarrollado por Hugging Face que guarda solo los datos (los “tensores” o números del modelo), sin código ejecutable. Es mucho más seguro y rápido.

Recomendaciones
  • Prioriza Safetensors: Siempre que sea posible, descarga y utiliza modelos en formato. Safetensors en lugar de .bino .pkl.
  • Aislamiento: Nunca cargue un modelo de una fuente desconocida en su máquina local o en un servidor de producción con acceso a datos sensibles. Hazlo siempre en un entorno aislado (Sandbox o contenedor Docker sin acceso a la red interna).

Related Post