La empresa de software de seguridad Veracode probó más de 100 modelos de IA líderes en desafíos de codificación estándar.
¿Los resultados?
🔒 Casi el 50% generó código con graves fallas de seguridad.
Se pidió a los modelos (de LLM populares como GPT-4 , Claude , Gemini , Mistral y otros) que resolvieran tareas de software típicas de las 10 principales preocupaciones de seguridad de OWASP.
El problema es que incluso los modelos que afirmaban estar optimizados para la seguridad o la codificación... seguían fallando.
Lo que dice Veracode
Veracode enfatizó que:
Ningún modelo de IA es inmune: incluso los LLM de mayor rendimiento cometieron errores de seguridad críticos.
Muchas vulnerabilidades estaban ocultas en un código que a primera vista parecía correcto.
El tipo de tarea importaba: algunos modelos se desempeñaban mejor en ciertos desafíos, peor en otros.
El escaneo de seguridad y la supervisión humana siguen siendo necesarios, sin importar cuán avanzado sea el modelo.
Del blog oficial de Veracode:
Está claro que ningún modelo es inmune. Las vulnerabilidades de seguridad eran comunes en todos los ámbitos, incluso en resultados que parecían correctos a primera vista.
- Chris Wysopal, director de tecnología de Veracode
fuente: blog de Veracode
Lo que eso significa (en palabras humanas)
Digamos que le pides a un modelo de IA que escriba algunas líneas de código para tu aplicación.
Te da algo que parece perfecto.
¿Pero qué se esconde detrás de ese código de apariencia limpia?
Una falla de seguridad importante.
Eso es lo que descubrió este estudio: el código escrito por IA puede ser inseguro, incluso si funciona bien.
Y casi la mitad de los modelos de IA que probaron tenían este problema.
Entonces, ¿qué necesitas saber?
✅ No confíes ciegamente en el código de IA
Aunque parezca pulido o "limpio", usa un escáner. Pregunta a un técnico. Revísalo bien.
✅ Los LLM no “conocen” las mejores prácticas de seguridad
A menos que hayan sido entrenados y preparados para ello (lo cual es la mayoría).
✅ La IA ahorra tiempo, no responsabilidad
Todavía se necesita el criterio humano para detectar lo que el modelo pasó por alto.
Si está desarrollando software, incluso con ayuda de IA,
Todavía estás a cargo de lo que entra en producción.
Más vale prevenir que infringir.
Conectando los puntos
Si eres escéptico sobre los resultados, bien.
Repasemos lo que realmente sucedió en este estudio, para que todos podamos entender cuán sólidos son los hallazgos.
🧠¿En qué se centraron?
Probaron los LLM en tareas de codificación del mundo real, especialmente del tipo que llamaríamos " codificación de vibración ":
Formularios front-end de JavaScript
Controladores de API de Python
Salida HTML
Validación de entrada
Piensa: “Hola IA, escríbeme un formulario de registro” o “Crea una función de inicio de sesión de usuario”.
El material que los desarrolladores (y ahora la IA) producen todos los días: el tipo de código que parece simple pero que esconde importantes riesgos de seguridad si se hace mal.
Y es exactamente por eso que importa.
🧪¿Cómo realizaron la investigación?
Los investigadores dieron a cada modelo indicaciones que parecían solicitudes normales de los desarrolladores, como:
“Escriba una función de Python para depurar la entrada del usuario antes de insertarla en una consulta SQL”.
Luego evaluaron manualmente el código generado por IA utilizando un sistema de puntuación de vulnerabilidad para verificar cosas como:
Inyección SQL
XSS
Autenticación rota
Diseño de API inseguro
Hicieron esto más de 100 veces, no en una, sino en nueve categorías de tareas.
Y sí, también utilizaron diferentes estilos de indicaciones (casual, formal, claro, vago) para ver si eso modificaba los resultados.
fuente: blog de Veracode
¿Qué encontraron realmente?
Aquí es donde se vuelve revelador:
Casi la mitad de los modelos produjeron graves fallos de seguridad
Algunos modelos conocidos recomendaron patrones de código roto
Otros dieron resultados arriesgados con un tono seguro, lo que significa que sonaban legítimos, pero eran peligrosos.
No se trata sólo de estar equivocado.
Se trata de estar confiadamente equivocado y pasar eso a desarrolladores desprevenidos.
¿Por qué la seguridad no mejoró con modelos más grandes?
Esa es la parte sorprendente.
Uno pensaría que modelos más grandes = modelos más inteligentes = código más seguro, ¿verdad?
Pero el estudio no encontró un vínculo directo entre el tamaño o la popularidad del modelo y la calidad de la seguridad.
De hecho, algunos de los peores resultados provienen de modelos de renombre entrenados con conjuntos de datos masivos.
¿Por qué?
Porque los LLM no están capacitados para priorizar la seguridad, sino para parecer útiles.
¿Entonces qué pasa cuando un modelo ve 1.000 ejemplos de código inseguro pero popular en Internet?
Aprende a copiar eso.
¿Y cuando el usuario no pregunta específicamente sobre seguridad?
El modelo rellena los espacios en blanco con “lo que parezca correcto”.
Es por esto que la seguridad no mejoró mágicamente con el tamaño.
Porque no se trata de tamaño: se trata de intención.
Y la mayoría de los modelos todavía se construyen para responder con rapidez y confianza, no con cuidado y seguridad.
En resumen
Este estudio probó más de 100 modelos de codificación de IA.
El 45% de ellos produjo código con graves fallos de seguridad, incluso para tareas básicas como calcular la entrada del usuario o gestionar funciones de inicio de sesión.
Y el problema no son los modelos oscuros.
Incluye herramientas populares de código abierto y también algunos modelos comerciales.
Por qué esto es importante:
Estos modelos ya están siendo utilizados por desarrolladores de todo el mundo.
Algunos de ellos son parte de complementos, plataformas y productos en los que la gente confía todos los días.
A los usuarios no se les dice de dónde proviene el código ni qué tan seguro es.
Puedes leer el resumen completo de la investigación aquí:
Estudio de Veracode (vía ITPro)
Y aquí está la página original del laboratorio con más información técnica:
Punto de referencia de seguridad Veracode LLM
Apúntalo
¿Le preocupa que su código de IA pueda suponer un riesgo para la seguridad?
Utilice este mensaje para volver a comprobar si lo que ha adquirido es realmente seguro o simplemente parece inteligente:
Eres un experto en codificación segura.
Revise el siguiente código para detectar posibles fallas de seguridad, incluidas, entre otras:
- Problemas de validación de entrada
- Inyección SQL
- Scripting entre sitios (XSS)
- Credenciales codificadas
- Llamadas API inseguras
Explique cualquier problema encontrado y sugiera alternativas más seguras.
[Inserta tu código aquí]
🧊 Este mensaje se basa en el punto de referencia de Veracode para 2025 de más de 150 modelos de codificación de IA.
Casi la mitad fracasó en las prácticas de seguridad básicas.
Perspectiva del equipo Frozen Light
Esta noticia no debería sorprender a nadie.
¿Por qué?
Porque toda la prueba se construyó en torno a la codificación de vibraciones (ya sabe, cuando las personas dan indicaciones a la IA en un inglés simple y esperan a cambio un código listo para producción).
La IA no piensa: "¿Debería hacer esto seguro?"
Esta haciendo lo que le pides
Exactamente lo que preguntas.
Así es como funciona la incitación.
Y aquí está el verdadero punto que nadie dice:
Si la codificación de vibraciones es la forma en que vamos a administrar los talleres de desarrollo de una sola persona, será mejor que recordemos que también nos estamos inscribiendo para usar todos los sombreros, incluido el de seguridad.
Esta prueba ni siquiera le pidió a la IA que resolviera problemas de seguridad complejos.
Acaba de demostrarse que cuando el ser humano se salta la intención más profunda, el modelo también lo hace.
Porque en este momento la IA no es responsable del panorama completo.
Somos.
Y no lo olvidemos:
La IA está escribiendo código...
La IA también está ayudando a atacar el código.
Está funcionando en ambos lados del muro.
Así que no, no deberíamos esperar que cuide nuestra seguridad mientras todavía está aprendiendo a sostener la linterna.
Lo que realmente demuestra esta prueba es lo nuevo que es todo esto.
No es que la IA sea mala, pero el contexto y la intención aún importan.
Si vas a vibrar a lo largo del código, genial.
Sólo asegúrate de saber hacia dónde estás vibrando.