La mayoría del software está plagado de errores, y la IA puede encontrarlos y explotarlos fácilmente. Las defensas estándar contra los ciberataques ya no son suficientes, por lo que los desarrolladores necesitan formas de demostrar que el código está libre de errores. La verificación formal de software podría ofrecer esa garantía, pero históricamente ha requerido años de esfuerzo experto, lo que la hace impracticable para la mayoría de los proyectos reales.
En una colaboración con Theorem, los investigadores muestran que esto está cambiando. Los LLM ya pueden producir pruebas formales a gran escala, lo que permite nuevos flujos de desarrollo que incluyen garantías de seguridad demostradas. Usando Claude, el equipo demostró propiedades de seguridad a nivel de código ensamblador (RISC-V) en más de 100 bibliotecas de software de código abierto del mundo real. Según su conocimiento, es el primer esfuerzo a gran escala que utiliza la IA para aplicar la verificación formal a software de producción a ese nivel. Mientras escribía las pruebas, Claude también descubrió errores que habían pasado desapercibidos durante años a pesar de billones de ejecuciones de prueba.
El enfoque se basa en un método de larga tradición: los desarrolladores traducen el código a un modelo matemático e intentan demostrar que siempre sigue las reglas de seguridad definidas. Las pruebas fallidas señalan posibles errores. Tradicionalmente, las pruebas pueden ser muchas veces más grandes que el código original y exigen habilidades especializadas y poco comunes. Construir el núcleo seL4 llevó dos años-persona, pero verificarlo llevó 20.
Para probar el enfoque, Claude demostró que 123 programas de código abierto siempre terminarán normalmente, sin errores de seguridad de memoria ni aserciones fallidas, para cualquier entrada menor de 64 MB, bajo supuestos declarados sobre el entorno de ejecución. Los investigadores reconocen que esto está lejos de corregir todos los errores posibles, pero afirman que ofrece una hoja de ruta. Se publica un subconjunto de las pruebas para que otros puedan verificarlas y reutilizarlas.
Fuente: Hacker News · Resumido por HeadlinesBriefing