Ir al contenido principal
Una fila de semáforos, todos encendidos en rojo, se pierden en la distancia.
Perspectivas de los analistas

La codificación por vibración puede ser imparable, pero así es como se pueden controlar los riesgos

Al igual que el ascenso meteórico de ChatGPT, la programación «vibe» es de lo único que se habla este año. De hecho, acaba de pasar a formar parte del diccionario. Pero tenga cuidado con este auge: estas nuevas herramientas de programación basadas en la inteligencia artificial ofrecen rapidez, ahorro… y vulnerabilidades asombrosas.

Leo pensaba que había encontrado un atajo extraordinario para el desarrollo de software.

A principios de este año, Leonel Acevedo, fundador de una startup de software de marketing para la generación de clientes potenciales y programador novato, lanzó una aplicación SaaS (software como servicio) escrita íntegramente con AI. Él nunca modificó directamente el código. En lugar de ello, se limitó a introducir indicaciones o instrucciones en una herramienta de inteligencia artificial y dejó que el sistema se encargara del trabajo. A continuación, compartió con orgullo su logro con todo el mundo mediante una publicación de « » en X.

Un gran error.

Dos días después, su creación se vio sometida a un ataque. Los piratas informáticos agotaron sus claves de la interfaz de programación de aplicaciones (API), lo que, en esencia, provocó una sobrecarga del sistema que controla la comunicación entre las aplicaciones. Eludieron sus sistemas de suscripción, cuyo objetivo es bloquear a cualquier persona que no sea un usuario de pago. A continuación, comenzaron a crear entradas aleatorias en su base de datos, demostrando que podían manipular los datos a su antojo.

«La mitad de los usuarios de Internet están intentando bloquear mi aplicación solo por haber compartido públicamente un error que cometí», escribió Acevedo, quien rápidamente desactivó la aplicación. «¿Sabe qué es lo peor? «Lo hacen por diversión».

La implosión fue rápida y reveladora.

La programación Vibe —la práctica de utilizar modelos de IA para crear aplicaciones completas a partir de indicaciones en lenguaje natural — se ha convertido en una forma habitual de desarrollar software. «El umbral para iniciarse en la programación es ahora más bajo que nunca», afirmó Andrew Ng, fundador de Google Brain, en una charla titulada « » ( ) impartida el lunes en la conferencia Build de Snowflake. Sin embargo, los rápidos plazos de desarrollo y los bajos costes que hacen que la programación con Vibe resulte tan atractiva también generan riesgos, al introducir código generado automáticamente y sin revisar en los procesos de desarrollo, con escasa o nula revisión de seguridad informática. En consecuencia, cada vez más personas y organizaciones se verán abocadas a utilizar programas informáticos que contienen un número récord de fallos que podrían ralentizar las operaciones, así como vulnerabilidades que los piratas informáticos pueden detectar y aprovechar con facilidad.

«Si es usted un buen programador, la inteligencia artificial puede resultarle de gran ayuda, ya que sabe lo que busca y cómo orientarla», afirmó Erlend Oftedal, director técnico sénior de RSA Conference (RSAC) Research, especializado en seguridad de aplicaciones. «Pero si no es usted un buen programador, eso solo empeorará las cosas, ya que no sabe cómo revisar lo que está desarrollando». «Simplemente está produciendo cosas en serie».

La cultura de Vibe: las buenas vibraciones, las malas y todo ese capital riesgo

Aunque el término «vibe coding» es nuevo —acuñado recientemente por el investigador en IA Andrej Karpathy y, precisamente la semana pasada, nombró « » palabra del año—, la práctica de utilizar la IA para orientar la creación de código no lo es.

«. El umbral para iniciarse en la programación es ahora más bajo que nunca.»
Andrew Ng, fundador de Google Brain

De hecho, se remonta a principios de 2010s, cuando los investigadores comenzaron a utilizar las redes neuronales del aprendizaje automático —un software inspirado, a grandes rasgos, en el modo en que aprende el cerebro— para la finalización de código y la síntesis de programas. Esto allanó el camino para herramientas como DeepCoder en 2016 y los primeros modelos «secuencia a secuencia» de Google, y a principios de 2020s, sistemas como Codex de OpenAI y GitHub Copilot estaban popularizando la programación asistida por IA.

Ahora llega la última novedad en esta larga trayectoria, con herramientas generativas como ChatGPT, GitHub Copilot, Claude de Anthropic y Cursor (la que utilizó Acevedo), que hacen que la programación sea aún más rápida y sencilla, y más atractiva para las empresas. El año pasado, más del 90 % de los desarrolladores de empresas medianas y grandes reconocieron utilizar la inteligencia artificial para generar código, según una encuesta de Checkmarx/Censuswide titulada « » (). And 30% to 40% of organizations now actively promote vibe coding, according to a 2024 GitHub survey, presumably to cut costs and accelerate software development lifecycles (SDLs).

[Lea también: ¿Qué es el «vibe coding»? [Ventajas, inconvenientes y polémicas]

Para ser justos, hay que decir que las empresas de software siempre han lanzado al mercado código antes de que estuviera listo, con el fin de adelantarse a la competencia. Es bien sabido que los nuevos sistemas operativos y aplicaciones contienen numerosos errores operativos y de seguridad, cuya corrección y solución pueden llevar meses a las empresas. La práctica arriesgada de aplicar parches de forma lenta se ha convertido en algo habitual. Sin embargo, lo que preocupa ahora a los expertos en seguridad es que la programación asistida por IA pueda generar vulnerabilidades a tal escala que muchas de ellas nunca ni puedan identificarse o solucionarse.

De hecho, ya está ocurriendo. En un estudio reciente de Veracode titulado « » (), el 45 % de las más de 100 muestras de código generadas por IA sometidas a prueba no superaron las pruebas de seguridad y presentaban riesgos críticos para la seguridad de las aplicaciones web.

Estas preocupaciones no están impidiendo que los proveedores y los inversores se suban al carro de la programación «vibe». De hecho, las empresas emergentes dedicadas a las herramientas de programación «vibe» han atraído recientemente una importante financiación de capital riesgo, entre ellas Anysphere —creadora de Cursor—, que recaudó 900 millones de dólares; Replit, que obtuvo 250 millones de dólares; y Lovable, que recaudó 200 millones de dólares.

Aunque no están centradas exclusivamente en la seguridad, muchas de estas herramientas incluyen funciones como el análisis de seguridad —que comprueba si el código presenta fallos que puedan ser objeto de explotación— y la protección automática de claves de API, que detecta y bloquea las credenciales expuestas antes de que puedan ser objeto de uso indebido. Sin embargo, suelen limitarse a detectar problemas, en lugar de comprobar si las medidas de protección subyacentes funcionan realmente.

Los que más se arriesgan en Vibe Coding

La proliferación de nuevas herramientas también está determinando quiénes son los que asumen mayores riesgos con la programación intuitiva. Pieter Danhieux, cofundador y director ejecutivo de Secure Code Warrior, afirmó que las empresas emergentes tienden a adoptarla de forma más decidida, mientras que las grandes empresas se ciñen a la programación asistida, en la que un ser humano sigue revisando el resultado.

«. Desarrollar una aplicación que contenga datos confidenciales sin los conocimientos necesarios para protegerla es una receta para el desastre.»
Pieter Danhieux, cofundador y director ejecutivo de Secure Code Warrior

«Creo que la programación intuitiva se utiliza ampliamente en las startups más pequeñas, en las que hay un fundador con grandes dotes técnicas que quiere avanzar rápidamente, y que, básicamente, empiezan a crear aplicaciones y a implementarlas sin llegar a revisarlas», afirmó Danhieux.

Las empresas más grandes, explicó, son más cautelosas. Es posible que sus desarrolladores utilicen la inteligencia artificial para crear pequeños fragmentos de código reutilizables, pero siguen comprobando los resultados antes de la implementación.

[Lea también: Los empleados están adoptando la «IA en la sombra» y poniendo en riesgo los datos de la empresa]

Aunque aparentemente resulten más seguras, Danhieux advirtió de que esos controles podrían no aportar más que una falsa sensación de seguridad.

Según un estudio de Secure Code Warrior y , se ha constatado que el 86 % de los desarrolladores no da prioridad a la programación segura, y varias herramientas populares de modelos de lenguaje grande (LLM) tienen dificultades para resolver los retos de la programación segura, especialmente aquellos que se enmarcan en categorías más subjetivas, como la autenticación y las configuraciones erróneas de seguridad, según ha señalado Danhieux.

Los puntos ciegos de la codificación de Vibe y los datos sensibles

El idioma y los tipos de vulnerabilidad marcan la diferencia, señaló Danhieux. Los modelos suelen detectar errores sencillos, como errores ortográficos en el código o problemas evidentes que siguen un patrón claro. Sin embargo, se enfrentan a problemas más profundos relacionados con el diseño del sistema, entre ellos si una aplicación comprueba adecuadamente quién está autorizado a hacer qué. Esto genera un punto ciego, ya que el código generado por la IA puede parecer impecable a simple vista, pero seguir conteniendo vulnerabilidades que ponen en riesgo a los usuarios.

«. Ese es el peligro». Se obtiene un código que parece convincente, que funciona en entorno de producción y que nunca ha sido sometido a una revisión adecuada. Los errores se ocultan a plena vista.»
Erlend Oftedal, director técnico sénior de Investigación de la Conferencia RSA (RSAC)

Esa misma dinámica está empezando a manifestarse también fuera del ámbito del desarrollo de aplicaciones, en patrones de abuso como VibeScamming, en los que se utilizan deliberadamente herramientas de IA basadas en lenguaje natural para generar y actualizar rápidamente páginas de phishing e infraestructuras fraudulentas que parecen legítimas, pero que eluden las señales de confianza tradicionales.

Los desarrolladores con experiencia podrían detectar este tipo de vulnerabilidades ocultas, pero es probable que los principiantes no cuenten con la experiencia ni la intuición necesarias para hacerlo, afirmó Danhieux. Señala un caso reciente que pone de relieve ese riesgo. La pasada primavera, un análisis exhaustivo realizado por de 1,645 proyectos creados en la plataforma de programación Lovable AI reveló la existencia de 303 puntos finales vulnerables en 170 aplicaciones desarrolladas con dicha herramienta, lo que supone aproximadamente el 10 % de los proyectos analizados.

«Desarrollar una aplicación que contenga datos sensibles de sin contar con los conocimientos necesarios para protegerla es una receta para el desastre», afirmó.

La tecnología disponible en la actualidad no hace más que complicar las cosas, ya que aún no está a la altura para detectar problemas de seguridad, especialmente cuando se genera código en grandes volúmenes. Las herramientas basadas en inteligencia artificial podrían ayudar pronto en la detección, pero eso seguirá sin ser suficiente, según afirmó Oftedal, de la RSAC.

«La mayoría de las empresas creen que su gobernanza de código abierto y abarca la inteligencia artificial, pero no es así», afirmó. «Ese es el peligro. Se obtiene un código que parece convincente, que funciona en entorno de producción y que nunca ha sido sometido a una revisión adecuada. «Los errores se ocultan a plena vista».

[Lea también: Cómo aplicar correctamente la IA a la automatización: una guía completa para impulsar la eficiencia, fomentar la innovación y revolucionar los flujos de trabajo de TI]

Oftedal señaló que los propios desarrolladores pueden contribuir animando a la IA a escribir código de forma más segura o a imitar los enfoques de seguridad adoptados por otros desarrolladores de prestigio. Además, pueden indicar a la IA que utilice determinadas herramientas para revisar su trabajo antes de darlo por concluido, afirmó.

Análisis de la situación: las medidas que deben adoptar ahora mismo los directores generales y los responsables de seguridad

Para expertos como Danhieux y Oftedal, el camino a seguir comienza por garantizar l , la visibilidad y la supervisión.

«Una iniciativa funcional de «seguridad desde el diseño»… es el antídoto contra la deuda técnica fuera de control y las costosas medidas de seguridad en fases avanzadas.»
Danhieux

Del mismo modo que los responsables de las empresas deben conocer la amplia gama de ordenadores, tabletas y otros dispositivos finales que hay en su red informática, con datos en tiempo real sobre los sistemas operativos y las necesidades de gestión de parches , los responsables de seguridad de la información deben saber qué modelos de programación basados en IA están utilizando sus desarrolladores y establecer límites, afirmaron. Los modelos más antiguos y económicos podrían generar código menos seguro y, sin una supervisión adecuada —una lista de materiales de software (SBOM) e, para empezar, que enumere los componentes de una aplicación y las dependencias de terceros—, las organizaciones a menudo no tienen ni idea de lo que se está ejecutando en sus entornos.

«Quizá lleguemos a una situación en la que se establezcan restricciones para los desarrolladores, en las que se les indique que pueden utilizar la versión tres de Claude y superiores, así como ChatGPT-4 y superiores, pero nada anterior, ya que sabemos que el código resultante de ello será inseguro», afirmó Danhieux.

La formación de los desarrolladores constituye la otra mitad de la ecuación. Deben aprender ingeniería de prompts y cómo orientar los modelos hacia resultados más seguros, del mismo modo que los escritores aprenden a sacar el máximo partido a la IA para obtener una prosa de mayor calidad. Hasta que las herramientas a nivel de toda la empresa puedan garantizar el cumplimiento de las políticas en todos los entornos de desarrollo integrados, la sensibilización y la formación constituyen soluciones provisionales.

[Lea también: Por qué las mejores políticas en materia de IA comienzan por la formación de los empleados]

Sin embargo, para Danhieux, el principio rector es la «seguridad desde el diseño», lo que significa integrar la seguridad en el software desde el principio.

«Una iniciativa funcional basada en el principio de “seguridad desde el diseño”, respaldada por desarrolladores con conocimientos especializados en seguridad, es el antídoto contra la deuda técnica fuera de control y las costosas medidas de seguridad que se adoptan en fases avanzadas del proyecto», afirmó. «Los actores maliciosos ya cuentan con una ventaja sobre los equipos de seguridad de las empresas, pero dar prioridad a la seguridad en la fase más temprana del ciclo de desarrollo de software (SDL) puede ayudar a inclinar la balanza a nuestro favor».

Danhieux advirtió de que la preocupación a largo plazo es que la programación «vibe» siga desplazando la creación de software de los procesos de desarrollo empresarial hacia los salones de los hogares, lo que daría lugar a más vulnerabilidades que podrían ampliar el panorama de amenazas. Puede que los desarrolladores profesionales no sean perfectos, pero aún así superan los controles obligatorios. Los programadores noveles no lo hacen y, a medida que su software se extiende, la superficie de ataque aumenta y la confianza en el sistema disminuye.

Danhieux sostiene que es fundamental subsanar esta deficiencia antes de que el problema adquiera aún mayores proporciones. ««Si no resolvemos este problema de seguridad, creo que dentro de unos años la situación será aún peor», afirmó.

Oftedal se hizo eco de esa urgencia.

«Los errores ya están ahí fuera», afirmó. «Si no aborda esta cuestión ahora, ya va con retraso».