Ciberseguridad

Una IA de 1.000 dólares halló 21 fallos de día cero en FFmpeg

Adrian Kessler

Un agente de IA autónomo leyó cerca de 1,5 millones de líneas del código en C de FFmpeg y regresó con 21 vulnerabilidades de día cero, cada una acompañada de una entrada reproducible que la dispara. FFmpeg es el motor que descodifica vídeo y audio dentro de navegadores, reproductores, teléfonos y televisores inteligentes, así que un fallo ahí es un fallo en casi todas partes.

Para cualquiera que haya abierto alguna vez un enlace de vídeo, ese es el detalle que importa. FFmpeg casi nunca aparece en pantalla, pero funciona por debajo de VLC, Chrome, innumerables apps de Android y los sistemas que procesan las subidas en las grandes plataformas. Un error en uno de sus analizadores puede, en principio, alcanzarse con un único archivo malicioso: un clip, una transmisión o una pista de subtítulos preparada para colgar el programa o ejecutar código en el aparato que lo descodifica.

El agente procede de DepthFirst AI, una empresa de seguridad que construyó un sistema para cazar fallos de memoria sin que un humano lea antes el código. Según la compañía, la prueba completa costó alrededor de 1.000 dólares, una cifra que presenta a propósito como el 10 por ciento de lo que Anthropic gastó cuando su modelo Claude Mythos rastreó software importante en busca de vulnerabilidades a principios de este año. La afirmación que se esconde bajo el precio es la verdadera noticia. Encontrar fallos reales y explotables en infraestructura crítica se está volviendo tan barato que casi puede hacerse por capricho.

Los 21 hallazgos son en su mayoría las heridas clásicas del código C antiguo: desbordamientos de búfer en la pila y en el montón, desbordamientos de enteros por exceso y por defecto. Se concentran en las partes de FFmpeg que reciben datos no confiables, entre ellas el demultiplexor MPEG-TS, el descodificador VP9, varios depaquetizadores RTP, el escalador swscale y los demultiplexores DASH y AVI. Son exactamente los componentes que tocan un archivo o un flujo de red antes que cualquier otra cosa.

Uno de los fallos llevaba en el código desde 2003. Un desbordamiento de pila ligado a una tabla de descripción de servicios, ahora registrado como CVE-2026-39214, pasó inadvertido durante 23 años pese a incontables revisiones y auditorías. La primera tanda de identificadores de DepthFirst va del CVE-2026-39210 al CVE-2026-39218, y el resto de los problemas ya está corregido aunque todavía sin numerar. Que una máquina sacara a la luz en días lo que dos décadas de ojos humanos no vieron es el titular incómodo para la profesión de la seguridad.

El botín de FFmpeg llegó la misma semana en que Google lanzó Chrome 149, que corrigió un récord de 429 vulnerabilidades en una sola versión. Más de 100 fueron calificadas de críticas o altas, en su mayoría errores de uso después de liberar memoria y casos en que el navegador confió en datos que debía haber comprobado. El peor, CVE-2026-10881, es una lectura y escritura fuera de límites en la capa gráfica ANGLE de Chrome, con una puntuación de gravedad de 9,6 sobre 10. Una página web preparada podría usarlo para escapar del entorno aislado del navegador y ejecutar código en la máquina, y Google pagó 97.000 dólares al investigador que lo reportó.

Dos números, 21 y 429, cuentan la misma historia desde extremos opuestos. La investigación de vulnerabilidades se está industrializando. Da igual que quien encuentre los fallos sea un agente de IA o un programa de recompensas bien financiado: el volumen de errores descubiertos sube mucho más rápido que el número de personas disponibles para arreglarlos.

Ese volumen es también donde la euforia choca con la realidad. La caza de fallos con IA tiene un problema de falsos positivos, porque un modelo puede describir con total seguridad una vulnerabilidad que no existe, o una que ningún atacante podría llegar a activar. Cuando Anthropic anunció que Claude Mythos había encontrado miles de días cero en los principales sistemas operativos y navegadores, varios críticos señalaron que la cifra de titular se apoyaba en un conjunto mucho menor de casos revisados a mano, y leyeron el anuncio tanto como argumento de venta como resultado de investigación. DepthFirst sostiene que su agente está diseñado para evitar justamente eso, con barreras que le impiden inventar las condiciones que un fallo necesita y la exigencia de que cada hallazgo llegue con una entrada que demuestre que alcanza el problema. La prueba de concepto reproducible es lo que separa un informe real del ruido.

Aun así, incluso los fallos verificados crean un problema. FFmpeg se mantiene en gran parte gracias a voluntarios, y una avalancha repentina de informes generados por máquinas, por muy precisos que sean, traslada el cuello de botella de encontrar los fallos a clasificarlos y parchearlos. El coste de descubrir se desploma mientras el coste de la respuesta humana no. Una herramienta capaz de producir 21 errores válidos por 1.000 dólares también puede producirlos más deprisa de lo que un equipo pequeño puede asumir con responsabilidad.

Por ahora los fallos de FFmpeg están corregidos en el código del proyecto, con los números CVE pendientes todavía de asignar, y Chrome 149 se está distribuyendo a los usuarios de forma automática durante los próximos días. DepthFirst ha dado a entender que FFmpeg fue una demostración y no un final, y que otras bibliotecas de código abierto muy utilizadas son las siguientes en la lista para el mismo tratamiento. La próxima vez que un agente de IA lea un millón de líneas de código que funciona en silencio en miles de millones de dispositivos, la única pregunta real será con qué rapidez pueden seguirle el ritmo los humanos del otro lado.

Etiquetas:

Debate

Hay 0 comentarios.