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
Asistentes de codificación de IA: Guía de navegación segura para la próxima generación de desarrolladores
Los grandes modelos lingüísticos ofrecen ventajas irresistibles en velocidad y productividad, pero también introducen riesgos innegables para la empresa. Las barandillas de seguridad tradicionales no bastan para controlar el diluvio. Los desarrolladores necesitan conocimientos de seguridad precisos y verificados para identificar y prevenir los fallos de seguridad desde el principio del ciclo de vida de desarrollo del software.
Seguridad desde el diseño: Definición de las mejores prácticas, capacitación de los desarrolladores y evaluación comparativa de los resultados de la seguridad preventiva
En este documento de investigación, los cofundadores Secure Code Warrior , Pieter Danhieux y el Dr. Matias Madou, Ph.D., junto con los expertos colaboradores, Chris Inglis, ex Director Nacional Cibernético de EE.UU. (ahora Asesor Estratégico de Paladin Capital Group), y Devin Lynch, Director Senior, Paladin Global Institute, revelarán los hallazgos clave de más de veinte entrevistas en profundidad con líderes de seguridad empresarial, incluyendo CISOs, un VP de Seguridad de Aplicaciones y profesionales de seguridad de software.
Recursos para empezar
Más de 10.000 actividades de aprendizaje sobre código seguro: Una década de gestión de riesgos para desarrolladores
Más de 10 000 actividades de aprendizaje de código seguro y una década ayudando a los desarrolladores a reducir riesgos, mejorar la calidad del código y abordar con confianza el desarrollo asistido por IA.
Estableciendo el estándar: SCW publica reglas de seguridad de codificación de IA gratuitas en GitHub
El desarrollo asistido por IA ya no es una posibilidad: ya está aquí y está transformando rápidamente la forma de escribir software. Herramientas como GitHub Copilot, Cline, Roo, Cursor, Aider y Windsurf están transformando a los desarrolladores en sus propios copilotos, permitiendo iteraciones más rápidas y acelerando todo, desde la creación de prototipos hasta grandes proyectos de refactorización.
Cierre el círculo de las vulnerabilidades con Secure Code Warrior + HackerOne
Secure Code Warrior se complace en anunciar nuestra nueva integración con HackerOne, líder en soluciones de seguridad ofensiva. Juntos, estamos construyendo un ecosistema potente e integrado. HackerOne señala dónde se producen realmente las vulnerabilidades en entornos reales, exponiendo el "qué" y el "dónde" de los problemas de seguridad.