Un amigo fiel: cómo las herramientas de programación por IA y los desarrolladores conscientes de la seguridad pueden colaborar de forma segura
El código creado por IA puede estar plagado de vulnerabilidades y fallos, pero las herramientas de programación asistida por IA siguen siendo útiles si se combinan con desarrolladores humanos conscientes de la seguridad.
Aunque 2023 fue un año de gran actividad, sumado a un enorme aumento en la popularidad de la última iteración de la inteligencia artificial, la IA generativa, está claro que esta tecnología transformadora apenas está comenzando. La mayoría de los expertos prevé que en 2024 alcanzará cotas aún mayores.
Y dado que escribir código en múltiples lenguajes fue una de las primeras demostraciones de las capacidades de la IA generativa, no sorprende que encuestas recientes revelen que hasta el 93% de los equipos de desarrollo utilizan herramientas de IA como parte de su flujo de trabajo. Solo recientemente estos equipos han empezado a experimentar algunos de los efectos secundarios negativos de esa elección, ya que el código creado por IA puede estar lleno de vulnerabilidades explotables.
De hecho, las herramientas de programación por IA no son, tal como están las cosas, capaces de reconocer de forma fiable cómo es el código vulnerable, y mucho menos de evitar esos mismos errores al generar código nuevo. En un estudio exhaustivo realizado por la Universidad de Maryland, UC Berkeley, Google y otros, los investigadores analizaron 11 modelos de IA pertenecientes a cuatro familias o grupos diferentes y les encargaron descubrir vulnerabilidades en el código informático generado por herramientas de IA. Con altas tasas de falsos positivos y una baja precisión en la detección de vulnerabilidades, los investigadores concluyeron que la IA simplemente no estaba preparada para asumir ese papel. Y puede que nunca lo esté, porque incluso después de que los investigadores intentaran ajustar los modelos alimentándolos con muchos ejemplos de código seguro, los modelos siguieron fallando a tasas inaceptablemente altas.
En otro estudio realizado por la Universidad de Quebec, los investigadores pidieron a la popular IA generativa, ChatGPT, que generara 21 programas y aplicaciones diferentes en diversos lenguajes. Aunque todas las aplicaciones codificadas por la IA funcionaron según lo previsto, solo cinco eran seguras desde el punto de vista de la ciberseguridad. El resto presentaba vulnerabilidades peligrosas que los atacantes podrían haber utilizado para comprometer a cualquier organización que las implementara.
¡Equipos humanos y de IA, únanse!
Quienes estudian el desarrollo de la IA no deberían sorprenderse demasiado por los estudios mencionados, así como por muchos otros que obtuvieron resultados similares, incluido yo mismo. Las IA generativas pueden crear contenido nuevo recurriendo a grandes modelos de lenguaje, que son básicamente enormes bases de datos de conocimiento humano compilado que la IA sabe navegar y analizar rápidamente para generar nuevas respuestas y contenido. El problema es que los grandes modelos de lenguaje contienen tanto los aspectos buenos como los malos de todo lo que los humanos han creado.
En cuanto al código, el resultado es que muchas vulnerabilidades y malas prácticas están incluidas en esos grandes modelos de lenguaje. Cada una de las vulnerabilidades de OWASP está absolutamente oculta en esos modelos, así como miles de otras. Si un humano cometió alguna vez un error y codificó una aplicación vulnerable, lo más probable es que esté incluida en los modelos de los que ahora se nutren las IA. Y hay muchas posibilidades de que una IA también los utilice al generar nuevas aplicaciones complejas.
Entonces, ¿cuál es la solución? ¿Podemos seguir obteniendo las ventajas de velocidad que ofrece la programación con IA y, al mismo tiempo, generar código seguro? Sí, pero solo cuando los humanos y la IA forman equipo, haciendo cada uno lo que mejor sabe hacer.
A pesar de todas sus asombrosas proezas, la IA no entiende realmente el contexto. Puedes pedirle que programe, por ejemplo, la infraestructura de una tienda online, pero realmente no sabe qué intentas vender, cómo mostrar los productos adecuados a los visitantes correctos ni ninguna de las complejidades de tu cadena de suministro interna. Escribir código que tenga todo eso en cuenta es mucho más adecuado para los desarrolladores humanos, cuya misión principal es escribir programas que ayuden a resolver algún tipo de problema empresarial. Los humanos, especialmente los que llevan mucho tiempo trabajando en sus respectivos sectores, son muy buenos resolviendo problemas así. Pero incluso los mejores programadores necesitan a veces un repaso cuando se trata de los aspectos técnicos de implementaciones complejas.
Por ejemplo, en la reciente Encuesta a Desarrolladores de Stack Overflow, el 63% de los desarrolladores encuestados afirmó que dedica al menos 30 minutos o más cada día a buscar respuestas sobre cómo implementar algún aspecto de una aplicación o programa que están creando. Ese llamado cambio cognitivo, en el que un humano tiene que pasar de un proceso creativo a uno más rutinario o de investigación, consume mucho tiempo productivo cada día.
Pero ahí es donde las herramientas de IA están mejor equipadas para echar una mano virtual. Si un desarrollador humano trabaja en un programa o aplicación general, como la tienda online mencionada, y se queda atascado en algún aspecto de esa implementación, ahí es donde una herramienta de IA puede ayudar. Por ejemplo, escribir código para conectar una base de datos de productos a una aplicación de cadena de suministro puede hacerlo una herramienta de IA extremadamente rápido, y no requiere que la IA entienda el contexto general de lo que está trabajando, ni la misión global del proyecto. También es mucho menos probable que implemente vulnerabilidades si solo se le encarga trabajar en aspectos clave y fundamentales del código.
Confiar, pero verificar
Emparejar a desarrolladores humanos con herramientas de IA, permitiendo que cada uno aproveche sus puntos fuertes, es una estrategia gratificante que puede acelerar el proceso de codificación y, al mismo tiempo, limitar algunos de los peligros que plantean las vulnerabilidades inducidas por la IA en el código. Encargar a la IA elementos más pequeños del proceso de creación de código es menos arriesgado, pero las vulnerabilidades pueden seguir apareciendo.
Por eso es fundamental que los desarrolladores reciban formación en seguridad. Si un humano entiende tanto el contexto general del proyecto en el que trabaja como las mejores prácticas de seguridad, puede verificar rápidamente que cualquier parte del código que pidió escribir a la IA sea correcta y esté libre de vulnerabilidades u otros problemas, como fallos en la lógica empresarial. Se ahorrará mucho tiempo porque el desarrollador humano no tiene que buscar cómo crear la parte del código generada por la IA, y simplemente puede comprobar que es segura, corrigiendo cualquier fallo que se haya podido filtrar.
Las herramientas de IA son impresionantes y pueden ayudar enormemente a acelerar el proceso de desarrollo. Sin embargo, no son capaces de escribir código seguro de forma fiable, y estudios recientes sugieren que puede que nunca alcancen ese objetivo. No obstante, pueden seguir siendo increíblemente útiles en el desarrollo de software, siempre que se combinen con desarrolladores cualificados, altamente formados y conscientes de la seguridad.
Controle el desarrollo impulsado por IA antes de su lanzamiento
Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).
Explorar más blogs
Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

Una cultura de seguridad: cómo Sage creó su programa de defensores
Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores
La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro
IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial
Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Habilitador 8: Branding de su programa
Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.
.avif)
Cada empleado está ahora en la primera línea de la ciberseguridad de la IA
El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.
Proteja el desarrollo basado en IA antes de su lanzamiento
Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.