LLMs: ¿Un enfoque (im)perfectamente humano de la codificación segura?
Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y sindicado aquí.
Desde que se empezó a hablar de las últimas herramientas de inteligencia artificial, los desarrolladores y los curiosos de la programación las han utilizado para generar código con sólo pulsar un botón. Los expertos en seguridad no tardaron en señalar que, en muchos casos, el código que se generaba era de mala calidad y vulnerable, y que en manos de personas poco concienciadas en materia de seguridad podría provocar una avalancha de aplicaciones y desarrollos web inseguros que llegaría a consumidores desprevenidos.
Y luego están los que tienen suficientes conocimientos de seguridad como para utilizarlos para, bueno, hacer el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe de la misma tecnología que se utiliza con fines nefastos. Phishing, vídeos de estafas falsas, creación de malware, travesuras de script kiddie en general... estas actividades perturbadoras se pueden conseguir mucho más rápido, con barreras de entrada más bajas.
No cabe duda de que hay muchos titulares que promocionan estas herramientas como revolucionarias o, al menos, como las mejores cuando se comparan con la habilidad humana "media". Aunque parece inevitable que la tecnología de IA al estilo 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 codificación, sus defectos son quizá su atributo más "humano".
En sus soluciones predominan los patrones de codificación deficientes
ChatGPT se basa en décadas de código y bases de conocimiento existentes, por lo que no es de extrañar que, a pesar de toda su maravilla y misterio, también sufra los mismos problemas comunes a los que se enfrenta la gente cuando navega por el código. Los patrones de codificación deficientes son el pan de cada día, y sigue haciendo falta un conductor consciente de la seguridad para generar ejemplos de codificación seguros haciendo las preguntas adecuadas y ofreciendo la ingeniería de consulta adecuada.
Incluso entonces, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde una perspectiva de seguridad; la tecnología es propensa a la alucinación, incluso inventando bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, como descubrió Mike Shema. Esto podría dar lugar a "alucinaciones" por parte de los actores de amenazas, que estarían encantados de crear malware disfrazado de la biblioteca inventada recomendada con total confianza por ChatGPT.
En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no hemos esperado que los desarrolladores sean lo suficientemente conscientes de la seguridad, ni nosotros, como industria, les hemos preparado adecuadamente para escribir código seguro por defecto. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación introducidos en ChatGPT, y podemos esperar resultados de seguridad similares, al menos al principio. Los desarrolladores tendrían que ser capaces de identificar los fallos de seguridad y, o bien corregirlos ellos mismos, o bien diseñar mejores avisos para obtener un resultado más sólido.
El primer estudio a gran escala realizado por investigadores de la Universidad de Stanford en el que se examina cómo interactúan los usuarios con un asistente de codificación de inteligencia artificial para resolver una serie de funciones relacionadas con la seguridad corrobora esta idea:
"Observamos que los participantes que tenían acceso al asistente de IA eran más propensos a introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, aunque también más propensos a calificar sus respuestas inseguras como seguras en comparación con los de nuestro grupo de control."
Esto habla de un nivel de confianza por defecto en el resultado de las herramientas de codificación de IA como productoras de código que siempre es intrínsecamente seguro, cuando en realidad no lo es.
Entre esto y las inevitables amenazas derivadas de la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar el listón de la calidad del código sin importar su origen.
El camino hacia el desastre de la filtración de datos está empedrado de buenas intenciones
No debería sorprendernos que los compañeros de codificación de IA sean populares, sobre todo porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, plazos más ajustados y la ambición de la innovación de una empresa descansando sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de concienciación sobre la seguridad a la hora de utilizar la IA para la codificación conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores que utilicen herramientas de IA/ML generarán más código, y su nivel de riesgo para la seguridad dependerá de su nivel de conocimientos. Las organizaciones deben ser muy conscientes de que las personas sin formación generarán sin duda código más rápidamente, pero también aumentarán la velocidad de la deuda técnica de seguridad.
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 construyera 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 el código, y utilizaba un patrón de codificación que podría dar lugar a una inyección SQL (aunque, hizo algún nivel de filtrado en los parámetros de entrada y escupió errores de base de datos). Todos los errores de novato por cualquier medida:

Otras indicaciones aseguraron que se enmendaran los errores, pero se necesitan conocimientos importantes de seguridad para corregirlos. El uso generalizado y sin control de estas herramientas no es mejor que soltar a desarrolladores junior en tus proyectos, y si este código está construyendo infraestructura sensible o procesando datos personales, entonces estamos ante una bomba de relojería.
Por supuesto, al igual que los desarrolladores junior aumentan sin duda sus habilidades con el tiempo, esperamos que las capacidades de la IA/ML mejoren. Dentro de un año, puede que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, eso tendrá el efecto de aumentar drásticamente la habilidad de seguridad requerida para rastrear los errores de seguridad más graves, ocultos y no triviales que todavía está en peligro de producir.
Seguimos estando mal preparados para detectar y corregir las vulnerabilidades de seguridad, y la IA aumenta la brecha.
Aunque se ha hablado mucho de "cambiar a la izquierda" durante muchos años, el hecho es que, en la mayoría de las organizaciones, hay una falta significativa de conocimientos prácticos de seguridad entre la cohorte de desarrollo, y debemos trabajar más duro para proporcionar las herramientas adecuadas y la educación para ayudarles en su camino.
En la actualidad, no estamos preparados para los errores de seguridad que estamos acostumbrados a encontrar, por no hablar de los nuevos problemas derivados de la IA, como la inyección inmediata y la alucinación en cuclillas, que representan vectores de ataque completamente nuevos que están listos para despegar como un reguero de pólvora. Las herramientas de codificación de IA representan el futuro del arsenal de codificación de un desarrollador, pero la educación para manejar estas armas de productividad de forma segura debe llegar ahora.
.png)


Aunque parece inevitable que la tecnología de IA al estilo LLM cambie nuestra forma de abordar muchos aspectos del trabajo -no sólo el desarrollo de software-, debemos dar un paso atrás y considerar los riesgos más allá de los titulares. Y como compañera de codificación, sus defectos son quizá su atributo más "humano".
Director General, Presidente y Cofundador

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDirector General, Presidente y Cofundador
Pieter Danhieux es un experto en seguridad mundialmente reconocido, con más de 12 años de experiencia como consultor de seguridad y 8 años como instructor principal de SANS enseñando técnicas ofensivas sobre cómo atacar y evaluar organizaciones, sistemas y personas en busca de debilidades de seguridad. En 2016, fue reconocido como una de las personas más cool de la tecnología en Australia (Business Insider), galardonado como Profesional de Seguridad Cibernética del Año (AISA - Asociación Australiana de Seguridad de la Información) y tiene certificaciones GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.


Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y sindicado aquí.
Desde que se empezó a hablar de las últimas herramientas de inteligencia artificial, los desarrolladores y los curiosos de la programación las han utilizado para generar código con sólo pulsar un botón. Los expertos en seguridad no tardaron en señalar que, en muchos casos, el código que se generaba era de mala calidad y vulnerable, y que en manos de personas poco concienciadas en materia de seguridad podría provocar una avalancha de aplicaciones y desarrollos web inseguros que llegaría a consumidores desprevenidos.
Y luego están los que tienen suficientes conocimientos de seguridad como para utilizarlos para, bueno, hacer el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe de la misma tecnología que se utiliza con fines nefastos. Phishing, vídeos de estafas falsas, creación de malware, travesuras de script kiddie en general... estas actividades perturbadoras se pueden conseguir mucho más rápido, con barreras de entrada más bajas.
No cabe duda de que hay muchos titulares que promocionan estas herramientas como revolucionarias o, al menos, como las mejores cuando se comparan con la habilidad humana "media". Aunque parece inevitable que la tecnología de IA al estilo 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 codificación, sus defectos son quizá su atributo más "humano".
En sus soluciones predominan los patrones de codificación deficientes
ChatGPT se basa en décadas de código y bases de conocimiento existentes, por lo que no es de extrañar que, a pesar de toda su maravilla y misterio, también sufra los mismos problemas comunes a los que se enfrenta la gente cuando navega por el código. Los patrones de codificación deficientes son el pan de cada día, y sigue haciendo falta un conductor consciente de la seguridad para generar ejemplos de codificación seguros haciendo las preguntas adecuadas y ofreciendo la ingeniería de consulta adecuada.
Incluso entonces, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde una perspectiva de seguridad; la tecnología es propensa a la alucinación, incluso inventando bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, como descubrió Mike Shema. Esto podría dar lugar a "alucinaciones" por parte de los actores de amenazas, que estarían encantados de crear malware disfrazado de la biblioteca inventada recomendada con total confianza por ChatGPT.
En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no hemos esperado que los desarrolladores sean lo suficientemente conscientes de la seguridad, ni nosotros, como industria, les hemos preparado adecuadamente para escribir código seguro por defecto. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación introducidos en ChatGPT, y podemos esperar resultados de seguridad similares, al menos al principio. Los desarrolladores tendrían que ser capaces de identificar los fallos de seguridad y, o bien corregirlos ellos mismos, o bien diseñar mejores avisos para obtener un resultado más sólido.
El primer estudio a gran escala realizado por investigadores de la Universidad de Stanford en el que se examina cómo interactúan los usuarios con un asistente de codificación de inteligencia artificial para resolver una serie de funciones relacionadas con la seguridad corrobora esta idea:
"Observamos que los participantes que tenían acceso al asistente de IA eran más propensos a introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, aunque también más propensos a calificar sus respuestas inseguras como seguras en comparación con los de nuestro grupo de control."
Esto habla de un nivel de confianza por defecto en el resultado de las herramientas de codificación de IA como productoras de código que siempre es intrínsecamente seguro, cuando en realidad no lo es.
Entre esto y las inevitables amenazas derivadas de la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar el listón de la calidad del código sin importar su origen.
El camino hacia el desastre de la filtración de datos está empedrado de buenas intenciones
No debería sorprendernos que los compañeros de codificación de IA sean populares, sobre todo porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, plazos más ajustados y la ambición de la innovación de una empresa descansando sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de concienciación sobre la seguridad a la hora de utilizar la IA para la codificación conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores que utilicen herramientas de IA/ML generarán más código, y su nivel de riesgo para la seguridad dependerá de su nivel de conocimientos. Las organizaciones deben ser muy conscientes de que las personas sin formación generarán sin duda código más rápidamente, pero también aumentarán la velocidad de la deuda técnica de seguridad.
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 construyera 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 el código, y utilizaba un patrón de codificación que podría dar lugar a una inyección SQL (aunque, hizo algún nivel de filtrado en los parámetros de entrada y escupió errores de base de datos). Todos los errores de novato por cualquier medida:

Otras indicaciones aseguraron que se enmendaran los errores, pero se necesitan conocimientos importantes de seguridad para corregirlos. El uso generalizado y sin control de estas herramientas no es mejor que soltar a desarrolladores junior en tus proyectos, y si este código está construyendo infraestructura sensible o procesando datos personales, entonces estamos ante una bomba de relojería.
Por supuesto, al igual que los desarrolladores junior aumentan sin duda sus habilidades con el tiempo, esperamos que las capacidades de la IA/ML mejoren. Dentro de un año, puede que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, eso tendrá el efecto de aumentar drásticamente la habilidad de seguridad requerida para rastrear los errores de seguridad más graves, ocultos y no triviales que todavía está en peligro de producir.
Seguimos estando mal preparados para detectar y corregir las vulnerabilidades de seguridad, y la IA aumenta la brecha.
Aunque se ha hablado mucho de "cambiar a la izquierda" durante muchos años, el hecho es que, en la mayoría de las organizaciones, hay una falta significativa de conocimientos prácticos de seguridad entre la cohorte de desarrollo, y debemos trabajar más duro para proporcionar las herramientas adecuadas y la educación para ayudarles en su camino.
En la actualidad, no estamos preparados para los errores de seguridad que estamos acostumbrados a encontrar, por no hablar de los nuevos problemas derivados de la IA, como la inyección inmediata y la alucinación en cuclillas, que representan vectores de ataque completamente nuevos que están listos para despegar como un reguero de pólvora. Las herramientas de codificación de IA representan el futuro del arsenal de codificación de un desarrollador, pero la educación para manejar estas armas de productividad de forma segura debe llegar ahora.
.png)

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y sindicado aquí.
Desde que se empezó a hablar de las últimas herramientas de inteligencia artificial, los desarrolladores y los curiosos de la programación las han utilizado para generar código con sólo pulsar un botón. Los expertos en seguridad no tardaron en señalar que, en muchos casos, el código que se generaba era de mala calidad y vulnerable, y que en manos de personas poco concienciadas en materia de seguridad podría provocar una avalancha de aplicaciones y desarrollos web inseguros que llegaría a consumidores desprevenidos.
Y luego están los que tienen suficientes conocimientos de seguridad como para utilizarlos para, bueno, hacer el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe de la misma tecnología que se utiliza con fines nefastos. Phishing, vídeos de estafas falsas, creación de malware, travesuras de script kiddie en general... estas actividades perturbadoras se pueden conseguir mucho más rápido, con barreras de entrada más bajas.
No cabe duda de que hay muchos titulares que promocionan estas herramientas como revolucionarias o, al menos, como las mejores cuando se comparan con la habilidad humana "media". Aunque parece inevitable que la tecnología de IA al estilo 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 codificación, sus defectos son quizá su atributo más "humano".
En sus soluciones predominan los patrones de codificación deficientes
ChatGPT se basa en décadas de código y bases de conocimiento existentes, por lo que no es de extrañar que, a pesar de toda su maravilla y misterio, también sufra los mismos problemas comunes a los que se enfrenta la gente cuando navega por el código. Los patrones de codificación deficientes son el pan de cada día, y sigue haciendo falta un conductor consciente de la seguridad para generar ejemplos de codificación seguros haciendo las preguntas adecuadas y ofreciendo la ingeniería de consulta adecuada.
Incluso entonces, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde una perspectiva de seguridad; la tecnología es propensa a la alucinación, incluso inventando bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, como descubrió Mike Shema. Esto podría dar lugar a "alucinaciones" por parte de los actores de amenazas, que estarían encantados de crear malware disfrazado de la biblioteca inventada recomendada con total confianza por ChatGPT.
En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no hemos esperado que los desarrolladores sean lo suficientemente conscientes de la seguridad, ni nosotros, como industria, les hemos preparado adecuadamente para escribir código seguro por defecto. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación introducidos en ChatGPT, y podemos esperar resultados de seguridad similares, al menos al principio. Los desarrolladores tendrían que ser capaces de identificar los fallos de seguridad y, o bien corregirlos ellos mismos, o bien diseñar mejores avisos para obtener un resultado más sólido.
El primer estudio a gran escala realizado por investigadores de la Universidad de Stanford en el que se examina cómo interactúan los usuarios con un asistente de codificación de inteligencia artificial para resolver una serie de funciones relacionadas con la seguridad corrobora esta idea:
"Observamos que los participantes que tenían acceso al asistente de IA eran más propensos a introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, aunque también más propensos a calificar sus respuestas inseguras como seguras en comparación con los de nuestro grupo de control."
Esto habla de un nivel de confianza por defecto en el resultado de las herramientas de codificación de IA como productoras de código que siempre es intrínsecamente seguro, cuando en realidad no lo es.
Entre esto y las inevitables amenazas derivadas de la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar el listón de la calidad del código sin importar su origen.
El camino hacia el desastre de la filtración de datos está empedrado de buenas intenciones
No debería sorprendernos que los compañeros de codificación de IA sean populares, sobre todo porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, plazos más ajustados y la ambición de la innovación de una empresa descansando sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de concienciación sobre la seguridad a la hora de utilizar la IA para la codificación conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores que utilicen herramientas de IA/ML generarán más código, y su nivel de riesgo para la seguridad dependerá de su nivel de conocimientos. Las organizaciones deben ser muy conscientes de que las personas sin formación generarán sin duda código más rápidamente, pero también aumentarán la velocidad de la deuda técnica de seguridad.
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 construyera 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 el código, y utilizaba un patrón de codificación que podría dar lugar a una inyección SQL (aunque, hizo algún nivel de filtrado en los parámetros de entrada y escupió errores de base de datos). Todos los errores de novato por cualquier medida:

Otras indicaciones aseguraron que se enmendaran los errores, pero se necesitan conocimientos importantes de seguridad para corregirlos. El uso generalizado y sin control de estas herramientas no es mejor que soltar a desarrolladores junior en tus proyectos, y si este código está construyendo infraestructura sensible o procesando datos personales, entonces estamos ante una bomba de relojería.
Por supuesto, al igual que los desarrolladores junior aumentan sin duda sus habilidades con el tiempo, esperamos que las capacidades de la IA/ML mejoren. Dentro de un año, puede que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, eso tendrá el efecto de aumentar drásticamente la habilidad de seguridad requerida para rastrear los errores de seguridad más graves, ocultos y no triviales que todavía está en peligro de producir.
Seguimos estando mal preparados para detectar y corregir las vulnerabilidades de seguridad, y la IA aumenta la brecha.
Aunque se ha hablado mucho de "cambiar a la izquierda" durante muchos años, el hecho es que, en la mayoría de las organizaciones, hay una falta significativa de conocimientos prácticos de seguridad entre la cohorte de desarrollo, y debemos trabajar más duro para proporcionar las herramientas adecuadas y la educación para ayudarles en su camino.
En la actualidad, no estamos preparados para los errores de seguridad que estamos acostumbrados a encontrar, por no hablar de los nuevos problemas derivados de la IA, como la inyección inmediata y la alucinación en cuclillas, que representan vectores de ataque completamente nuevos que están listos para despegar como un reguero de pólvora. Las herramientas de codificación de IA representan el futuro del arsenal de codificación de un desarrollador, pero la educación para manejar estas armas de productividad de forma segura debe llegar ahora.
.png)

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónDirector General, Presidente y Cofundador
Pieter Danhieux es un experto en seguridad mundialmente reconocido, con más de 12 años de experiencia como consultor de seguridad y 8 años como instructor principal de SANS enseñando técnicas ofensivas sobre cómo atacar y evaluar organizaciones, sistemas y personas en busca de debilidades de seguridad. En 2016, fue reconocido como una de las personas más cool de la tecnología en Australia (Business Insider), galardonado como Profesional de Seguridad Cibernética del Año (AISA - Asociación Australiana de Seguridad de la Información) y tiene certificaciones GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y sindicado aquí.
Desde que se empezó a hablar de las últimas herramientas de inteligencia artificial, los desarrolladores y los curiosos de la programación las han utilizado para generar código con sólo pulsar un botón. Los expertos en seguridad no tardaron en señalar que, en muchos casos, el código que se generaba era de mala calidad y vulnerable, y que en manos de personas poco concienciadas en materia de seguridad podría provocar una avalancha de aplicaciones y desarrollos web inseguros que llegaría a consumidores desprevenidos.
Y luego están los que tienen suficientes conocimientos de seguridad como para utilizarlos para, bueno, hacer el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe de la misma tecnología que se utiliza con fines nefastos. Phishing, vídeos de estafas falsas, creación de malware, travesuras de script kiddie en general... estas actividades perturbadoras se pueden conseguir mucho más rápido, con barreras de entrada más bajas.
No cabe duda de que hay muchos titulares que promocionan estas herramientas como revolucionarias o, al menos, como las mejores cuando se comparan con la habilidad humana "media". Aunque parece inevitable que la tecnología de IA al estilo 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 codificación, sus defectos son quizá su atributo más "humano".
En sus soluciones predominan los patrones de codificación deficientes
ChatGPT se basa en décadas de código y bases de conocimiento existentes, por lo que no es de extrañar que, a pesar de toda su maravilla y misterio, también sufra los mismos problemas comunes a los que se enfrenta la gente cuando navega por el código. Los patrones de codificación deficientes son el pan de cada día, y sigue haciendo falta un conductor consciente de la seguridad para generar ejemplos de codificación seguros haciendo las preguntas adecuadas y ofreciendo la ingeniería de consulta adecuada.
Incluso entonces, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde una perspectiva de seguridad; la tecnología es propensa a la alucinación, incluso inventando bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, como descubrió Mike Shema. Esto podría dar lugar a "alucinaciones" por parte de los actores de amenazas, que estarían encantados de crear malware disfrazado de la biblioteca inventada recomendada con total confianza por ChatGPT.
En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no hemos esperado que los desarrolladores sean lo suficientemente conscientes de la seguridad, ni nosotros, como industria, les hemos preparado adecuadamente para escribir código seguro por defecto. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación introducidos en ChatGPT, y podemos esperar resultados de seguridad similares, al menos al principio. Los desarrolladores tendrían que ser capaces de identificar los fallos de seguridad y, o bien corregirlos ellos mismos, o bien diseñar mejores avisos para obtener un resultado más sólido.
El primer estudio a gran escala realizado por investigadores de la Universidad de Stanford en el que se examina cómo interactúan los usuarios con un asistente de codificación de inteligencia artificial para resolver una serie de funciones relacionadas con la seguridad corrobora esta idea:
"Observamos que los participantes que tenían acceso al asistente de IA eran más propensos a introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, aunque también más propensos a calificar sus respuestas inseguras como seguras en comparación con los de nuestro grupo de control."
Esto habla de un nivel de confianza por defecto en el resultado de las herramientas de codificación de IA como productoras de código que siempre es intrínsecamente seguro, cuando en realidad no lo es.
Entre esto y las inevitables amenazas derivadas de la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar el listón de la calidad del código sin importar su origen.
El camino hacia el desastre de la filtración de datos está empedrado de buenas intenciones
No debería sorprendernos que los compañeros de codificación de IA sean populares, sobre todo porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, plazos más ajustados y la ambición de la innovación de una empresa descansando sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de concienciación sobre la seguridad a la hora de utilizar la IA para la codificación conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores que utilicen herramientas de IA/ML generarán más código, y su nivel de riesgo para la seguridad dependerá de su nivel de conocimientos. Las organizaciones deben ser muy conscientes de que las personas sin formación generarán sin duda código más rápidamente, pero también aumentarán la velocidad de la deuda técnica de seguridad.
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 construyera 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 el código, y utilizaba un patrón de codificación que podría dar lugar a una inyección SQL (aunque, hizo algún nivel de filtrado en los parámetros de entrada y escupió errores de base de datos). Todos los errores de novato por cualquier medida:

Otras indicaciones aseguraron que se enmendaran los errores, pero se necesitan conocimientos importantes de seguridad para corregirlos. El uso generalizado y sin control de estas herramientas no es mejor que soltar a desarrolladores junior en tus proyectos, y si este código está construyendo infraestructura sensible o procesando datos personales, entonces estamos ante una bomba de relojería.
Por supuesto, al igual que los desarrolladores junior aumentan sin duda sus habilidades con el tiempo, esperamos que las capacidades de la IA/ML mejoren. Dentro de un año, puede que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, eso tendrá el efecto de aumentar drásticamente la habilidad de seguridad requerida para rastrear los errores de seguridad más graves, ocultos y no triviales que todavía está en peligro de producir.
Seguimos estando mal preparados para detectar y corregir las vulnerabilidades de seguridad, y la IA aumenta la brecha.
Aunque se ha hablado mucho de "cambiar a la izquierda" durante muchos años, el hecho es que, en la mayoría de las organizaciones, hay una falta significativa de conocimientos prácticos de seguridad entre la cohorte de desarrollo, y debemos trabajar más duro para proporcionar las herramientas adecuadas y la educación para ayudarles en su camino.
En la actualidad, no estamos preparados para los errores de seguridad que estamos acostumbrados a encontrar, por no hablar de los nuevos problemas derivados de la IA, como la inyección inmediata y la alucinación en cuclillas, que representan vectores de ataque completamente nuevos que están listos para despegar como un reguero de pólvora. Las herramientas de codificación de IA representan el futuro del arsenal de codificación de un desarrollador, pero la educación para manejar estas armas de productividad de forma segura debe llegar ahora.
.png)
Índice
Director General, Presidente y Cofundador

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Temas y contenidos de la formación sobre código seguro
Nuestro contenido, líder en el sector, evoluciona constantemente para adaptarse al cambiante panorama del desarrollo de software teniendo en cuenta su función. Temas que cubren todo, desde IA a XQuery Injection, ofrecidos para una variedad de roles desde Arquitectos e Ingenieros a Product Managers y QA. Eche un vistazo a lo que ofrece nuestro catálogo de contenidos por tema y función.
Búsqueda: Aprendizaje líder en la industria para mantener a los desarrolladores por delante mitigando el riesgo.
Quests es una learning platform que ayuda a los desarrolladores a mitigar los riesgos de seguridad del software mediante la mejora de sus habilidades de codificación segura. Con rutas de aprendizaje curadas, desafíos prácticos y actividades interactivas, capacita a los desarrolladores para identificar y prevenir vulnerabilidades.
La potencia de OpenText Fortify + Secure Code Warrior
OpenText Fortify y Secure Code Warrior unen sus fuerzas para ayudar a las empresas a reducir riesgos, transformar a los desarrolladores en campeones de la seguridad y fomentar la confianza de los clientes. Más información aquí.
Recursos para empezar
Inyección indirecta y riesgos de seguridad de las herramientas de codificación agéntica
Cómo se engañó a un agente de codificación para que escribiera código propenso a inyecciones SQL, instalara herramientas de shell y tal vez incluso acechara a su usuario.
La Década de los Defensores: Secure Code Warrior Cumple Diez Años
Secure Code Warriorha permanecido unido, dirigiendo el barco a través de cada lección, triunfo y contratiempo durante toda una década. Estamos creciendo y listos para afrontar nuestro próximo capítulo, SCW 2.0, como líderes en gestión de riesgos para desarrolladores.
10 predicciones clave: Secure Code Warrior sobre la influencia de la IA y el diseño seguro en 2025
Las organizaciones se enfrentan a decisiones difíciles sobre el uso de la IA para apoyar la productividad a largo plazo, la sostenibilidad y el retorno de la inversión en seguridad. En los últimos años nos ha quedado claro que la IA nunca sustituirá por completo el papel del desarrollador. Desde las asociaciones entre IA y desarrolladores hasta las crecientes presiones (y confusión) en torno a las expectativas de seguridad por diseño, echemos un vistazo más de cerca a lo que podemos esperar durante el próximo año.