SCW Icons
hero bg no divider
Blog

LLMs: ¿Un enfoque (im) perfectamente humano para proteger la codificación?

Pieter Danhieux
Published Feb 01, 2024
Last updated on Mar 06, 2026

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.
Ver recurso
Ver recurso

Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo, no solo el desarrollo de software, debemos dar un paso atrás y considerar los riesgos más allá de los titulares. Y como complemento de programación, sus defectos son quizás su atributo más «humano».

¿Interesado en más?

Chief Executive Officer, Chairman, and Co-Founder

learn more

Secure Code Warrior está aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Reserva una demostración
Comparte en:
linkedin brandsSocialx logo
autor
Pieter Danhieux
Published Feb 01, 2024

Chief Executive Officer, Chairman, and Co-Founder

Pieter Danhieux is a globally recognized security expert, with over 12 years experience as a security consultant and 8 years as a Principal Instructor for SANS teaching offensive techniques on how to target and assess organizations, systems and individuals for security weaknesses. In 2016, he was recognized as one of the Coolest Tech people in Australia (Business Insider), awarded Cyber Security Professional of the Year (AISA - Australian Information Security Association) and holds GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA certifications.

Comparte en:
linkedin brandsSocialx logo
Portátil en la oscuridad con rayos de luz que salen de la pantalla.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.
Ver recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe

Nos gustaría recibir su permiso para enviarle información sobre nuestros productos o temas relacionados con la codificación segura. Siempre trataremos tus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
scw success icon
scw error icon
Para enviar el formulario, habilite las cookies de «análisis». No dudes en volver a desactivarlas una vez que hayas terminado.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.
Ver seminario web
Comenzar
learn more

Haga clic en el enlace de abajo y descargue el PDF de este recurso.

Secure Code Warrior está aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Ver informeReserva una demostración
Ver recurso
Comparte en:
linkedin brandsSocialx logo
¿Interesado en más?

Comparte en:
linkedin brandsSocialx logo
autor
Pieter Danhieux
Published Feb 01, 2024

Chief Executive Officer, Chairman, and Co-Founder

Pieter Danhieux is a globally recognized security expert, with over 12 years experience as a security consultant and 8 years as a Principal Instructor for SANS teaching offensive techniques on how to target and assess organizations, systems and individuals for security weaknesses. In 2016, he was recognized as one of the Coolest Tech people in Australia (Business Insider), awarded Cyber Security Professional of the Year (AISA - Australian Information Security Association) and holds GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA certifications.

Comparte en:
linkedin brandsSocialx logo

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.

Tabla de contenido

Descargar PDF
Ver recurso
¿Interesado en más?

Chief Executive Officer, Chairman, and Co-Founder

learn more

Secure Code Warrior está aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Reserva una demostraciónDescargar
Comparte en:
linkedin brandsSocialx logo
Centro de recursos

Recursos para empezar

Más publicaciones
Centro de recursos

Recursos para empezar

Más publicaciones