InicioAIFallos de seguridad en la programación por intuición: el 57% del código...

Fallos de seguridad en la programación por intuición: el 57% del código de IA funciona, pero solo el 11,8% es seguro

Un nuevo benchmark académico sugiere que el código generado por los agentes de codificación con IA más populares de la actualidad podría funcionar perfectamente… y aun así ser peligrosamente fácil de hackear. Los hallazgos plantean nuevas preguntas sobre la seguridad en el vibe coding, la práctica de dejar que agentes basados en grandes modelos de lenguaje escriban software con poca supervisión humana, justo cuando la técnica gana tracción entre desarrolladores y empresas que buscan moverse más rápido.

Conclusiones clave

  • El vibe coding permite que un agente LLM complete tareas de programación complejas a partir de una simple instrucción humana, con una supervisión mínima durante la ejecución.
  • Los investigadores construyeron SUSVIBES, un benchmark de 186 tareas de ingeniería de software del mundo real extraídas de proyectos de código abierto donde programadores humanos habían cometido previamente código vulnerable.
  • Doce configuraciones de agentes de codificación ampliamente utilizadas, ejecutando modelos de IA de frontera, fueron evaluadas con el benchmark, y todas tuvieron un rendimiento deficiente en seguridad.
  • SWE-Agent combinado con Claude 4 Sonnet produjo código funcionalmente correcto el 57% de las veces, pero solo el 11,8% de esas soluciones eran realmente seguras.
  • Agregar pistas de vulnerabilidad a las instrucciones de codificación, una estrategia de mitigación sencilla, no logró mejorar de manera significativa los resultados de seguridad.

Qué es el Vibe Coding y por qué aumentan las preocupaciones de seguridad

El vibe coding describe un estilo de desarrollo en el que los ingenieros entregan una tarea de programación a un agente de IA y lo dejan trabajar con controles mínimos en el camino. En lugar de escribir ellos mismos cada línea, los programadores humanos dan instrucciones al modelo, revisan la salida a alto nivel y siguen adelante. El enfoque se ha popularizado porque puede acelerar drásticamente la entrega de software, especialmente para solicitudes de funcionalidades que, de otro modo, le llevarían a un desarrollador horas de implementación manual.

Esa velocidad tiene una contrapartida. A medida que más equipos se apoyan en agentes de IA para enviar código a producción, la pregunta de si ese código es realmente seguro para desplegar se ha vuelto más difícil de ignorar. Un investigador llamado Danqing Wang se propuso probar exactamente eso, construyendo un benchmark diseñado para medir no solo si el código escrito por IA funciona, sino si introduce los mismos tipos de fallos que históricamente se han escapado a los revisores humanos.

Dentro del benchmark SUSVIBES

SUSVIBES responde a una pregunta directa: ¿con qué frecuencia el código generado por agentes repite los errores de seguridad que los desarrolladores reales ya han cometido? El benchmark extrae sus casos de prueba directamente de la historia, en lugar de escenarios hipotéticos.

Consiste en 186 tareas de solicitud de funcionalidades obtenidas de proyectos de código abierto del mundo real. Cada tarea corresponde a un caso en el que programadores humanos, en algún momento, habían cometido una implementación vulnerable al construir exactamente esa funcionalidad. Ese diseño permite a los investigadores comprobar si un agente de IA que resuelve el mismo problema cae en la misma trampa o logra evitarla.

Para poner a prueba el campo de forma amplia, el estudio evaluó 12 configuraciones de agentes de codificación ampliamente utilizadas que se ejecutan sobre modelos de IA de frontera. La idea era capturar una instantánea realista de cómo los desarrolladores realmente despliegan estas herramientas hoy, en lugar de probar un único modelo de forma aislada. Una de las configuraciones que destacó para un análisis más detallado combinó el framework SWE-Agent con Claude 4 Sonnet.

Funcional pero no seguro: los resultados de SUSVIBES

El resultado principal es contundente: todas las configuraciones de agentes probadas en SUSVIBES tuvieron un rendimiento deficiente en seguridad de software, independientemente de qué modelo de frontera las impulsara. Esa uniformidad es en sí misma notable: sugiere que el problema no está ligado a un modelo débil en particular, sino a una brecha más amplia en cómo se entrenan y se instruyen estos agentes para escribir código.

La combinación de SWE-Agent y Claude 4 Sonnet ilustra claramente la brecha. De las soluciones que produjo, el 57% eran funcionalmente correctas, es decir, hacían lo que la solicitud de funcionalidad pedía. Pero cuando los investigadores comprobaron esas mismas soluciones frente a patrones de vulnerabilidad conocidos, solo el 11,8% eran seguras. En otras palabras, más de cuatro de cada cinco soluciones funcionalmente correctas seguían teniendo el tipo de fallo que un programador humano había introducido previamente en el mismo punto.

Aquí es donde las implicaciones prácticas se vuelven obvias. Un fragmento de código que se ejecuta y pasa las pruebas puede parecer listo para producción a un revisor que solo comprueba la funcionalidad, mientras envía silenciosamente una vulnerabilidad que solo aparece durante una auditoría de seguridad o, peor aún, en una brecha real. Para los equipos que evalúan cuánta supervisión sigue necesitando el código generado por IA, esa brecha entre corrección y seguridad es la cifra que más importa.

Las pistas de vulnerabilidad no solucionan el problema

Los investigadores no se limitaron a documentar el problema: intentaron solucionarlo. Una estrategia preliminar consistió en ampliar la solicitud de funcionalidad original con explícitas pistas de vulnerabilidad, esencialmente empujando al agente hacia el tipo de riesgo al que debería prestar atención.

No funcionó. El estudio descubrió que este enfoque no logró mejorar de manera significativa los resultados de seguridad, lo que significa que simplemente decirle al agente qué debe evitar no basta para cambiar su comportamiento en la práctica. Ese resultado apunta a un problema más profundo que la redacción de las instrucciones: los modelos parecen carecer de un control interno fiable del riesgo de seguridad, incluso cuando se les señala explícitamente.

En conjunto, los hallazgos plantean serias preocupaciones sobre el despliegue del vibe coding en aplicaciones sensibles a la seguridad, desde sistemas financieros hasta software de infraestructura, donde una sola vulnerabilidad pasada por alto puede tener consecuencias desproporcionadas. Los investigadores detrás de SUSVIBES han puesto el código y el conjunto de datos a disposición del público en GitHub, junto con una tabla de clasificación pública que rastrea cómo diferentes configuraciones de agentes se desempeñan en el benchmark a lo largo del tiempo.

Para una industria que corre por adoptar agentes de codificación con IA, el estudio es menos un veredicto contra la tecnología que una advertencia sobre dónde fallan las barreras de seguridad actuales. El código funcional no es lo mismo que el código seguro y, hasta que esa brecha se reduzca, la seguridad en el vibe coding probablemente seguirá siendo un punto conflictivo para cualquier equipo que construya software donde el costo de un fallo oculto sea alto.

Preguntas frecuentes

¿Qué es el vibe coding?

El vibe coding es un enfoque de desarrollo de software en el que agentes basados en grandes modelos de lenguaje completan tareas de programación con una supervisión mínima de los ingenieros humanos.

¿Qué evalúa el benchmark SUSVIBES?

SUSVIBES es un benchmark de 186 tareas de ingeniería de software del mundo real con vulnerabilidades conocidas, utilizado para evaluar el rendimiento en seguridad del código generado por agentes.

¿Qué tan seguro es el código generado por los agentes LLM actuales en vibe coding?

Las pruebas de SWE-Agent con Claude 4 Sonnet mostraron que, aunque el 57% del código generado es funcionalmente correcto, solo el 11,8% es seguro frente a vulnerabilidades.

¿Estrategias como agregar pistas de vulnerabilidad mejoran la seguridad en el vibe coding?

Los intentos preliminares, como agregar pistas de vulnerabilidad, no mejoraron de forma significativa el rendimiento en seguridad del código generado por agentes.

{«@context»:»https://schema.org»,»@type»:»FAQPage»,»mainEntity»:[{«@type»:»Question»,»name»:»¿Qué es el vibe coding?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»El vibe coding es un enfoque de desarrollo de software en el que agentes basados en grandes modelos de lenguaje completan tareas de programación con una supervisión mínima de los ingenieros humanos.»}},{«@type»:»Question»,»name»:»¿Qué evalúa el benchmark SUSVIBES?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»SUSVIBES es un benchmark de 186 tareas de ingeniería de software del mundo real con vulnerabilidades conocidas, utilizado para evaluar el rendimiento en seguridad del código generado por agentes.»}},{«@type»:»Question»,»name»:»¿Qué tan seguro es el código generado por los agentes LLM actuales en vibe coding?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Las pruebas de SWE-Agent con Claude 4 Sonnet mostraron que, aunque el 57% del código generado es funcionalmente correcto, solo el 11,8% es seguro frente a vulnerabilidades.»}},{«@type»:»Question»,»name»:»¿Estrategias como agregar pistas de vulnerabilidad mejoran la seguridad en el vibe coding?»,»acceptedAnswer»:{«@type»:»Answer»,»text»:»Los intentos preliminares, como agregar pistas de vulnerabilidad, no mejoraron de forma significativa el rendimiento en seguridad del código generado por agentes.»}}]}

Artículo producido con la ayuda de inteligencia artificial y revisado por el equipo editorial.

RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

Featured video

LATEST