Icônes SCW
héros bg sans séparateur
Blog

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

Pieter Danhieux
Publié le 01 février 2024
Dernière mise à jour le 6 mars 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.
Veuillez consulter la ressource
Veuillez consulter la ressource

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».

Souhaitez-vous en savoir davantage ?

Directeur général, président et cofondateur

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez réserver une démonstration.
Partager sur :
marques LinkedInSocialLogo x
auteur
Pieter Danhieux
Publié le 01 février 2024

Directeur général, président et cofondateur

Pieter Danhieux est un expert en sécurité mondialement reconnu, avec plus de 12 ans d'expérience en tant que consultant en sécurité et 8 ans en tant qu'instructeur principal pour SANS, enseignant des techniques offensives sur la façon de cibler et d'évaluer les organisations, les systèmes et les individus pour les faiblesses de sécurité. En 2016, il a été reconnu comme l'une des personnes les plus cool d'Australie dans le domaine de la technologie (Business Insider), a reçu le prix du professionnel de la cybersécurité de l'année (AISA - Australian Information Security Association) et détient les certifications GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

Partager sur :
marques LinkedInSocialLogo x
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.
Veuillez consulter la ressource
Veuillez consulter la ressource

Veuillez remplir le formulaire suivant pour télécharger le rapport.

Nous souhaiterions obtenir votre autorisation pour vous envoyer des informations sur nos produits ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Envoyer
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « d'analyse ». N'hésitez pas à les désactiver à nouveau une fois que vous avez terminé.
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.
Veuillez consulter le webinaire
Commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez consulter le rapportVeuillez réserver une démonstration.
Télécharger le PDF
Veuillez consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
auteur
Pieter Danhieux
Publié le 01 février 2024

Directeur général, président et cofondateur

Pieter Danhieux est un expert en sécurité mondialement reconnu, avec plus de 12 ans d'expérience en tant que consultant en sécurité et 8 ans en tant qu'instructeur principal pour SANS, enseignant des techniques offensives sur la façon de cibler et d'évaluer les organisations, les systèmes et les individus pour les faiblesses de sécurité. En 2016, il a été reconnu comme l'une des personnes les plus cool d'Australie dans le domaine de la technologie (Business Insider), a reçu le prix du professionnel de la cybersécurité de l'année (AISA - Australian Information Security Association) et détient les certifications GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

Partager sur :
marques LinkedInSocialLogo x

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.

Table des matières

Télécharger le PDF
Veuillez consulter la ressource
Souhaitez-vous en savoir davantage ?

Directeur général, président et cofondateur

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez réserver une démonstration.Télécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus de publications
Centre de ressources

Ressources pour débuter

Plus de publications