No se limita a parchear fallos: reescribe bibliotecas enteras.
Google DeepMind presentó CodeMender: un nuevo agente de IA creado para buscar y corregir automáticamente vulnerabilidades en código fuente. Según el blog oficial de la empresa, el sistema combina las capacidades de los grandes modelos de lenguaje Gemini Deep Think con un conjunto de herramientas para el análisis y la validación de correcciones, lo que permite solucionar errores más rápido y con mayor precisión que los métodos tradicionales.
Los desarrolladores señalan que, incluso empleando herramientas como OSS-Fuzz y Big Sleep, la corrección manual de vulnerabilidades sigue siendo un proceso laborioso. CodeMender aborda este problema de forma integral: no solo reacciona ante nuevas incidencias creando parches automáticamente, sino que también reescribe proactivamente fragmentos de código para eliminar clases enteras de vulnerabilidades.
En seis meses, el equipo de DeepMind entregó 72 correcciones de seguridad a proyectos de código abierto. Entre ellas hay bibliotecas que suman más de 4,5 millones de líneas de código. Todos los cambios se someten a comprobaciones de corrección y cumplimiento de estilo antes de llegar a la revisión humana.
CodeMender aprovecha las capacidades de los modelos Gemini para razonar sobre la lógica de los programas, analizar el comportamiento del código y verificar automáticamente los resultados. Además, el agente puede asegurarse por sí mismo de que la corrección elimina la causa raíz de la vulnerabilidad y no causa regresiones.
Para hacer el proceso fiable, DeepMind implementó nuevos métodos de análisis: análisis estático y dinámico, pruebas diferenciales, fuzzing y solucionadores SMT. Adicionalmente, CodeMender se apoya en un sistema multiagente, en el que módulos separados se especializan en distintos aspectos de la verificación del código —desde la comparación de cambios hasta la autocorrección ante errores.
En un ejemplo, CodeMender solucionó un desbordamiento de búfer en un analizador XML encontrando un fallo en la gestión de la pila de elementos, y no en el punto donde se producía el fallo. En otro caso, el agente propuso una corrección compleja relacionada con el ciclo de vida de objetos y la generación de código C dentro del proyecto.
CodeMender también puede reescribir código existente usando estructuras de datos y APIs más seguras. Así, el agente añadió automáticamente las anotaciones -fbounds-safety
en la biblioteca libwebp para prevenir desbordamientos de búfer. Precisamente en esa biblioteca se detectó anteriormente la vulnerabilidad crítica CVE-2023-4863, que se usó en un exploit de NSO Group para iPhone. Según los investigadores, con las nuevas anotaciones ataques similares dejarían de ser posibles.
El agente no solo aplica parches, sino que también los prueba automáticamente, corrigiendo errores nuevos y comprobando la equivalencia funcional con el código original. Ante discrepancias, el sistema utiliza un árbitro basado en modelos de lenguaje a gran escala (LLM) para ajustar el parche sin intervención humana.
DeepMind mantiene la cautela: todos los cambios siguen requiriendo revisión manual. No obstante, CodeMender ya ayuda a mejorar la seguridad de docenas de proyectos open source populares. La empresa planea ampliar la colaboración con la comunidad y, en el futuro, hacer la herramienta accesible para todos los desarrolladores.
Los desarrolladores prometen publicar en los próximos meses informes técnicos y artículos sobre los enfoques aplicados en CodeMender. Según ellos, el proyecto apenas comienza a revelar el potencial de la inteligencia artificial en la protección del software.