¡Vd. usa un navegador obsoleto!

Es posible que la página no se visualice correctamente.

Información para reflexionar

Информация к размышлению

Otras ediciones de este tema (45)
  • añadir a favoritos
    Añadir a marcadores

Vibe coding: cómo el desarrollo fácil destruye la seguridad del software

Consultas: 19 Comentarios: 0 Ranking: 0

martes, 22 de septiembre de 2026

En los últimos años, las redes neuronales basadas en grandes modelos de lenguaje han realizado una rápida transición: han pasado de ser un divertido interlocutor de texto a convertirse en una herramienta de trabajo hecha y derecha que se utiliza activamente en sectores muy variados. La alarmante velocidad de desarrollo de la IA se ha convertido en objeto de intensos debates, y ya vemos el resultado de su funcionamiento por todas partes: desde imágenes en los folletos publicitarios de los proveedores locales de Internet hasta su impacto en los procesos globales mundiales. Como es lógico, al ser un producto de la industria digital, las redes neuronales han afectado en primer lugar y de la forma más directa precisamente al sector tecnológico y, en concreto, al proceso de creación de software.

En la comunidad profesional, el ciclo de desarrollo de software está protegido por estándares estrictos: revisión de código obligatoria, pruebas en múltiples etapas y auditorías de la base de código. En este entorno, las redes neuronales se han convertido en una herramienta excelente para automatizar la rutina; pueden, por ejemplo, escribir código repetitivo o ayudar a generar pruebas automatizadas. Sin embargo, fuera de las grandes corporaciones y de los entusiastas de la antigua escuela, el vertiginoso desarrollo de la IA ha dado lugar a un fenómeno completamente diferente, bautizado como «vibe coding» (de inglés, programación relajada o por mero flujo). Este término describe un enfoque en el que una persona — a menudo ajena a la programación clásica — crea software totalmente funcional sin llegar a tocar ni una sola línea de código de forma manual. Todo lo que se requiere de ella es formular las tareas para el asistente de IA en forma de texto, utilizando el lenguaje humano habitual.

La euforia por esta «democratización» del desarrollo ha trascendido los experimentos domésticos y ha creado, de facto, un mercado de desarrollo rápido. Convertir una idea en un producto funcional se ha vuelto más sencillo que nunca; ahora, cualquier persona tiene la oportunidad de desarrollar en solitario servicios web, aplicaciones móviles o chatbots operativos en cuestión de pocas horas. Al mismo tiempo, el sector de la seguridad informática afronta un crecimiento exponencial de las vulnerabilidades en el software generado por IA. Uno de los problemas radica en que los asistentes de IA están orientados exclusivamente a la funcionalidad inmediata: generan un código cuyo único objetivo es cumplir con el «antojo» o requisito del usuario. Con este enfoque, la seguridad, la estabilidad y la eficiencia general de los algoritmos pasan a un segundo plano, y el propio autor del proyecto es sencillamente incapaz de evaluar los defectos ocultos de la arquitectura.

En la edición de hoy de nuestro blog «El mundo de antivirus», analizaremos cómo esta fiebre por la programación con IA afecta a la seguridad del ecosistema digital y qué amenazas suponen las vulnerabilidades de este tipo de software para los usuarios finales.

El operador de la caja negra

Para comprender por qué las soluciones creadas bajo el paradigma del vibe coding conllevan amenazas fundamentales, es necesario ir a la raíz del problema. Esta vulnerabilidad se sustenta en dos fallos clave: uno por parte del ser humano y otro por parte de la propia red neuronal.

El primer factor es la absoluta incompetencia del autor del programa frente a su «propio» código. El vibe coder trabaja en un estado de ceguera informativa total, interactuando con el programa como si fuera una caja negra absoluta. Este enfoque difiere radicalmente del trabajo de un programador profesional, incluso cuando este interactúa con API cerradas y librerías de terceros. Cualquier interfaz externa cuenta siempre con una documentación estricta, tipos de datos fijos y especificaciones claras; pero lo más importante es que el desarrollador posee una base de ingeniería y comprende las relaciones de causa y efecto.

En cambio, un programa generado por IA no tiene esos límites. El autor solo ve la capa externa (la interfaz operativa, los botones, los formularios), pero no comprende en absoluto la lógica interna del procesamiento de datos. Al desconocer cómo está estructurada exactamente una función, el usuario es físicamente incapaz de modelar una amenaza y comprobar cómo reaccionará la aplicación ante acciones inusuales o maliciosas de los ciberdelincuentes. No puede plantearse preguntas como: «¿Qué pasará si un atacante introduce aquí un número negativo o una cadena de texto en lugar del JSON esperado?». El programa funciona correctamente en condiciones normales, pero está totalmente indefenso ante las acciones imprevistas de los atacantes.

El segundo factor radica en la propia naturaleza de la inteligencia artificial. Es importante recordar que una red neuronal no es un programador ni posee un pensamiento de ingeniería; se trata de un compilador probabilístico con una base de conocimientos colosal, cuya lógica se estructura a partir de pesos matemáticos. La IA no crea código desde cero basándose en criterios de seguridad y optimización, sino que genera la secuencia de caracteres más probable a partir de los terabytes de datos con los que ha sido entrenada. De hecho, a la red neuronal le da exactamente igual estar escribiendo código crítico, un artículo para un blog o la receta de un plato inexistente. Y aquí es donde entra en juego una relación matemática directa: cuanto mayor es la base de datos, más alta es la probabilidad de obtener un resultado deficiente e inseguro. La red neuronal promedia la experiencia de millones de repositorios públicos en internet donde se han ido acumulando, durante años, enfoques obsoletos, errores de bulto y código heredado (legacy). Como resultado, la IA ofrece una solución genérica que cumple con la tarea práctica del usuario, pero que, al mismo tiempo, arrastra vulnerabilidades de hace veinte años.

El legado digital del pasado: de dónde saca la IA los malos hábitos

Existe la peligrosa ilusión de que las redes neuronales de los gigantes tecnológicos se entrenan exclusivamente con código estéril y modélico. En realidad, las bases de datos para el entrenamiento de los modelos LLM son un volumen colosal de legado digital de toda la industria informática de las últimas décadas.

El lector atento se preguntará: ¿será que los creadores de la IA no pueden simplemente limpiar la muestra eliminando el código viejo y "basura"? Lo cierto es que hacer esto a nivel de sistema es imposible. Para que un gran modelo de lenguaje comprenda la sintaxis de programación, la semántica, sepa traducir de Python a C++ y mantenga el contexto, necesita billones de tókenes de datos. Si se entrenara a la IA únicamente con código "perfecto" (por ejemplo, con el núcleo de Linux, bases de datos corporativas anonimizadas o librerías de referencia), el tamaño de la muestra de entrenamiento se reduciría miles de veces. El modelo sencillamente no alcanzaría la masa suficiente de pesos matemáticos para ser flexible y universal. Se convertiría en un manual rígido, capaz de escribir solo un conjunto reducido de plantillas, y perdería la habilidad de resolver de forma creativa las tareas personalizadas del usuario.

Además, el "código basura" también es un valioso manual de aprendizaje. Para una red neuronal, el código malo o roto no es un error que deba eliminarse de la base de datos, sino un contexto fundamental. Para que la red neuronal tenga flexibilidad, entienda dicho contexto y, sobre todo, sea capaz de actuar como revisora — detectando y corrigiendo errores ajenos —, tiene la obligación de saber qué aspecto tienen los fallos. El modelo debe procesar millones de ejemplos de código diverso, configuraciones inseguras y enfoques obsoletos procedentes de foros técnicos para aprender a reconocerlos.

Sin embargo, esta arquitectura tiene una cruz. Incluso tras el estricto filtrado que, por supuesto, aplican los desarrolladores, la IA sigue siendo un compilador probabilístico y no un generador de lógica perfecta. La red neuronal no posee un pensamiento de ingeniería ni entiende la seguridad a nivel conceptual; se limita a buscar patrones estadísticos y a calcular cadenas de palabras en función de sus pesos matemáticos. Cuando un vibe coder plantea una tarea superficial (por ejemplo, «escribe rápido una función para enviar datos al servidor»), la IA toma el camino de menor resistencia y ofrece la opción matemáticamente más promediada de su base de datos, donde las comprobaciones de seguridad suelen estar desactivadas en aras de la simplicidad y de la viabilidad inmediata del código.

Como resultado, los errores sistémicos de hace veinte años o las soluciones abocadas al fracaso se trasladan de forma masiva a las aplicaciones creadas por redes neuronales, sencillamente porque el algoritmo ha reunido a partir del ruido digital un determinado resultado probable bajo la petición del usuario. Veamos algunos de ellos:

  • Credenciales integradas en el código (o «hardcodeadas»): La IA puede insertar contraseñas de prueba, claves de cifrado secretas o tókenes de API directamente en el cuerpo del código fuente. El vibe coder copia este fragmento de código en el entorno de producción sin pararse a pensar que cualquier atacante que acceda a los archivos de la aplicación comprometerá al instante la infraestructura.
  • Criptografía obsoleta y algoritmos débiles: Las redes neuronales proponen con frecuencia el uso de estándares de funciones hash obsoletos (como MD5 o SHA-1) para proteger los datos. Es más, la IA suele generar este código en su formato más simplificado: sin utilizar «sal» criptográfica (datos aleatorios que se añaden a la contraseña antes de realizar el hash). Como resultado, la protección se vuelve vulnerable: los atacantes pueden restablecer los hashes de contraseñas sencillas y medias mediante tablas hash ya preparadas, y los propios algoritmos quedan expuestos a ataques de colisión.
  • Simplificaciones drásticas en favor de la funcionalidad: Para que el código funcione a la primera y no abrume al usuario con errores, la IA puede desactivar ciertas funciones, como la verificación de certificados SSL durante el intercambio de datos por red. El autor del proyecto nunca verá estas vulnerabilidades, pero para un hacker esto multiplica la superficie de ataque.

De este modo, aunque el programa desarrollado por el compilador probabilístico sea funcional, «bajo el capó» suele presentar una implementación extremadamente débil, lo que convierte al producto final en un blanco fácil.

La avalancha de código: por qué la redundancia fulmina las auditorías

Otro problema fundamental del vibe coding radica en la distorsión catastrófica de las dimensiones del desarrollo. Los programadores de la antigua escuela y los ingenieros profesionales recuerdan bien la época en la que cada byte de memoria valía su peso en oro, y en la que programas espaciales complejísimos o aplicaciones icónicas se conseguían comprimir en apenas unos pocos kilobytes de código. Aquello requería una disciplina estricta, un conocimiento profundo de la arquitectura y una optimización minuciosa de cada solución.

En la era de la programación con IA, el concepto de algoritmo compacto se ha borrado por completo. Las redes neuronales generan miles de líneas de código en segundos, lo que permite a una sola persona crear en un día un volumen de software que antes a todo un equipo le habría llevado un mes redactar. A partir de una petición de texto, la IA construye al instante estructuras de software voluminosas y redundantes. Como resultado, un proyecto intrínsecamente modesto crece hasta alcanzar dimensiones colosales en un par de días: es lo que se conoce como el efecto de «la avalancha de código».

Desde la perspectiva de la seguridad informática, esta redundancia constituye por sí misma una gran vulnerabilidad, ya que la base de código se vuelve absolutamente opaca. Y si en una de nuestras ediciones anteriores analizamos en detalle la importancia de revisar el código fuente para la seguridad de un producto, el vibe coding anula por completo esta barrera defensiva. Incluso un desarrollador real es físicamente incapaz de leer y asimilar la ingente cantidad de texto que la red neuronal le ha entregado en media hora. Los errores lógicos, los defectos ocultos de implementación y las funciones auxiliares se generan inevitablemente entre estos infinitos amasijos de código. En el fondo, el proyecto se queda no solo sin programador, sino también sin pruebas ni auditorías y, por ende, sin seguridad.

El trampolín perfecto para un ataque a la cadena de suministro - Supply Chain Attack

El ataque a la cadena de suministro (Supply Chain Attack) siempre se ha considerado uno de los incidentes más peligrosos en el ámbito de la ciberseguridad. La naturaleza insidiosa de este método radica en que el atacante no vulnera el producto final, sino que se infiltra en su propio proceso de producción y en el sistema de distribución automática de actualizaciones. En este escenario, los proyectos creados mediante vibe coding constituyen un blanco idóneo.

El quid de la cuestión es que el vibe coding se sustenta por completo en tecnologías en la nube: las plataformas de IA guardan automáticamente el código en repositorios de internet y, con un solo clic, despliegan las webs o chatbots ya listos en servidores remotos de producción. Las constantes modificaciones y mejoras del software también se gestionan a través de la nube. Y es precisamente ahí donde se abre una brecha para los ciberdelincuentes. Si un hacker roba al vibe coder la contraseña de su cuenta de desarrollo en la nube, no le costará ningún esfuerzo acceder al proyecto e insertar un backdoor malicioso en el repositorio. Al atacante le bastará con generar código destructivo utilizando la misma IA para que este se mimetice a la perfección con el proyecto en cuestión. El vibe coder actúa en este caso como el eslabón ciego de la cadena y jamás detectará las líneas ajenas en el flujo de código. Con la siguiente actualización automática del programa a través de la nube, el backdoor llegará al entorno de producción, y el creador del proyecto ni siquiera entenderá en qué momento su sitio web o su programa se convirtieron en un arma en manos de los atacantes.

Sin embargo, existe otro método de ataque a la cadena de suministro mucho más sofisticado y específico de la era moderna: el envenenamiento a través de las «alucinaciones» de los modelos de IA. Las redes neuronales suelen estructurar los programas como si fueran un rompecabezas, uniendo miles de módulos de terceros ya existentes. En este proceso, la IA tiende a inventar nombres de librerías inexistentes y a aconsejar al usuario que las instale para resolver el problema. Los ciberdelincuentes utilizan scripts específicos que consultan continuamente a la IA para recopilar una base de datos con estos nombres inventados. Acto seguido, registran paquetes maliciosos en los repositorios públicos oficiales utilizando exactamente esos nombres. El vibe coder, al seguir a ciegas las instrucciones del chat de la red neuronal, copia el comando de instalación, y el propio sistema de integración en la nube descarga el módulo infectado por el hacker directamente en el proyecto. De este modo, la confianza ciega en los algoritmos y la falta de conocimientos técnicos crean el escenario ideal para los ataques de los ciberdelincuentes.

Por qué la codificación Vibe tiene derecho a existir

Las amenazas descritas parecen generalizadas, pero no hay necesidad de sobreestimar las vulnerabilidades de la codificación Vibe ni de entrar en pánico. En la industria de la ciberseguridad, los ataques al código están bien estudiados y los enfoques modernos de protección reducen progresivamente su eficacia, incluso a pesar de la continua aparición de programas "artificiales" como este.

En primer lugar, conviene tranquilizar al lector: el software comercial oficial y a gran escala nunca se crea mediante codificación Vibe. El desarrollo profesional se rige por estrictos estándares arquitectónicos, por lo que las aplicaciones caseras simplemente no tienen ninguna posibilidad de penetrar la infraestructura de grandes empresas ni los servidores de servicios críticos. La comunidad de IT profesional sabe cómo delimitar claramente los entornos de confianza y mitigar rápidamente las posibles amenazas.

En segundo lugar, la invisibilidad pasiva del software vulnerable creado con IA termina justo donde comienza el análisis de anomalías y la supervisión del comportamiento. Aquí es donde entra en juego la principal línea de defensa del usuario final: un software antivirus completo. No importa quién haya escrito el programa: un ingeniero certificado o una red neuronal basada en un texto. El software antivirus no evalúa la estética del código, sino sus acciones reales en el sistema. En cuanto un programa ejecutado por el usuario intenta mostrar actividad sospechosa (por ejemplo, accediendo a carpetas del sistema o descargando módulos de terceros de la red sin autorización), los algoritmos de protección bloquean instantáneamente la amenaza mediante un análisis heurístico.

Sin embargo, la principal protección contra los riesgos de la programación basada en la intuición no reside en los filtros de software, sino en un cambio de actitud hacia la tecnología en sí. La inteligencia artificial y los grandes modelos de lenguaje son plataformas ideales e inéditas para el aprendizaje y el desarrollo profesional. Pero solo si este proceso se lleva a cabo con reflexión. Aprender y crear son fundamentalmente distintos de producir productos mediocres y semiacabados con el único fin de obtener ganancias rápidas. La fascinación generalizada por copiar ciegamente las respuestas de la IA ha llevado a la lamentable devaluación de la ingeniería, donde el autor del proyecto crea basura digital sin siquiera intentar comprender su funcionamiento.

Al mismo tiempo, si se establece un diálogo consciente con un modelo de IA, los resultados cambian drásticamente. Cuando una persona posee competencias básicas y habla el mismo lenguaje profesional que la red neuronal — estableciendo claramente los límites arquitectónicos, exigiendo el cumplimiento de los estándares de seguridad, solicitando justificación para las elecciones de algoritmos y descomponiendo los problemas —, los pesos matemáticos del modelo se recalibran. La IA comienza a producir código de mayor calidad, optimizado y seguro. Una red neuronal es un espejo: una "vibración" superficial genera un caos incontrolable, mientras que un enfoque de ingeniería riguroso transforma el algoritmo en una herramienta potente y segura.

La seguridad de la información en la era de la inteligencia artificial se basa en una regla simple: si no se puede controlar cómo se creó un programa, hay que controlar cómo se ejecuta. Y en esta lucha, mantener la higiene digital y contar con una protección antivirus integral siguen siendo las herramientas más seguras para recuperar el control sobre el entorno digital del usuario.

El mundo de antivirus recomienda

  1. Practique una buena higiene de la información; en la era de la IA, es más importante que nunca. Evalúe el origen de los programas y aplica el principio del mínimo privilegio. Nunca otorgue privilegios de administrador en el sistema operativo ni acceso a cuentas críticas a utilidades o bots dudosos. Limite su ámbito de operación únicamente a las tareas para las que fueron diseñados.
  2. Utilice software antivirus completo y revisado de proveedores de confianza. Los desarrolladores de estos productos siempre tienen en cuenta las realidades actuales y ofrecen soluciones de seguridad actualizadas.
  3. Si Vd. es un usuario activo de IA, intente usarla como guía, no como implementador. Las redes neuronales ofrecen grandes oportunidades para enseñar programación. Analice cada función creada por la red neuronal, pídale que explique la lógica y la descomposición de problemas complejos línea por línea; con este enfoque, no solo obtendrá resultados, sino también habilidades importantes con ejemplos del mundo real.
  4. Diríjase al modelo en términos de ingeniería. Establezca límites arquitectónicos estrictos en las indicaciones. Exija directamente a la IA que cumpla con los estándares de seguridad, valide los datos de entrada y utilice bibliotecas criptográficas modernas. Una solicitud profesional y de alta calidad obliga al modelo a reajustar sus ponderaciones matemáticas hacia un contexto más seguro y reduce la cantidad de errores.
  5. Verifique las dependencias externas. Si la IA recomienda instalar una biblioteca o extensión de terceros, verifique manualmente que existan en los repositorios oficiales y que tengan un historial de actualizaciones. Esto evitará que el proyecto se infecte con código malicioso de terceros.

[Twitter]

Nos importa su opinión

Para redactar un comentario, debe iniciar sesión para entrar en su cuenta del sitio web Doctor Web. - Si aún no tiene la cuenta, puede crearla.