Profundización: Navegar por las vulnerabilidades generadas por los asistentes de codificación de IA

Publicado el 11 de diciembre de 2023
por Laura Verheyde
ESTUDIO DE CASO

Profundización: Navegar por las vulnerabilidades generadas por los asistentes de codificación de IA

Publicado el 11 de diciembre de 2023
por Laura Verheyde
Ver recurso
Ver recurso

Se mire por donde se mire, existe una fijación constante con la tecnología de IA en casi todas las verticales. Alabada por algunos como la respuesta a la creación rápida de funciones en el desarrollo de software, la ganancia en velocidad tiene un precio: la posibilidad de que se introduzcan graves errores de seguridad en las bases de código, gracias a la falta de conocimiento contextual de la propia herramienta y a los escasos conocimientos de seguridad de los desarrolladores que confían en ella para aumentar la productividad y generar respuestas a situaciones de desarrollo difíciles. 

La tecnología LLM (Large Language Model) representa un cambio radical en las herramientas de asistencia y, si se utiliza de forma segura, podría convertirse en el compañero de programación en parejas que tantos ingenieros de software anhelan. Sin embargo, se ha demostrado rápidamente que el uso descontrolado de las herramientas de desarrollo de IA puede tener un impacto perjudicial, y un estudio de 2023 de la Universidad de Stanford reveló que la dependencia de los asistentes de IA probablemente daría lugar a un código con más errores e inseguro en general, además de un aumento de la confianza en que el resultado es seguro.

Aunque es válido suponer que las herramientas seguirán mejorando a medida que avance la carrera por perfeccionar la tecnología de la IA, una serie de recomendaciones -incluida una nueva Orden Ejecutiva de la Administración Biden, así como la Ley de Inteligencia Artificial de la UE- convierten su uso en un camino complicado en cualquier caso. Los desarrolladores pueden adelantarse perfeccionando sus habilidades de seguridad a nivel de código, su concienciación y su pensamiento crítico en torno a los resultados de las herramientas de IA y, a su vez, convertirse en ingenieros de mayor nivel.

¿Cómo introducen vulnerabilidades los asistentes de codificación de IA? Juega a nuestra NUEVA misión pública y compruébelo usted mismo.

Ejemplo: Cross-site scripting (XSS) en 'ChatterGPT'.

Nuestra nueva misión pública revela la interfaz familiar de un LLM popular, y utiliza un fragmento de código real generado a finales de noviembre de 2023. Los usuarios pueden interpretar este fragmento e investigar cualquier posible fallo de seguridad si se utilizara para el fin previsto.

Basándose en la pregunta: "¿Puedes escribir una función JavaScript que cambie el contenido del elemento HTML p, cuyo contenido se pasa a través de esa función?", el asistente de IA produce obedientemente un bloque de código, pero no todo es lo que parece.

¿Has jugado ya al desafío? Si no es así, inténtalo ahora antes de seguir leyendo.

... vale, ahora que lo has completado, sabrás que el código en cuestión es vulnerable a cross-site scripting (XSS). 

El XSS es posible gracias a la manipulación de la funcionalidad básica de los navegadores web. Puede producirse cuando una entrada no fiable se muestra como salida en una página, pero se interpreta erróneamente como código ejecutable y seguro. Un atacante puede colocar un fragmento malicioso (etiquetas HTML, JavaScript, etc.) dentro de un parámetro de entrada que, cuando se devuelve al navegador, se ejecuta en lugar de mostrarse como datos.

Uso seguro de los asistentes de codificación de IA en el desarrollo de software

Una encuesta reciente realizada a equipos de desarrollo en activo reveló que casi todos ellos (el 96 %) han empezado a utilizar asistentes de IA en su flujo de trabajo, y que el 80 % incluso se salta las políticas de seguridad para mantenerlos en su conjunto de herramientas. Además, más de la mitad reconoció que las herramientas de IA generativa suelen crear código inseguro, aunque es evidente que esto no frenó su adopción.

En esta nueva era de los procesos de desarrollo de software, desalentar o prohibir el uso de estas herramientas es poco probable que funcione. En su lugar, las organizaciones deben permitir que sus equipos de desarrollo utilicen las ganancias de eficiencia y productividad sin sacrificar la seguridad o la calidad del código. Esto requiere una formación precisa sobre las mejores prácticas de codificación segura, y darles la oportunidad de ampliar sus habilidades de pensamiento crítico, asegurándose de que actúan con una mentalidad de seguridad en primer lugar, especialmente al evaluar la amenaza potencial de la salida de código del asistente de IA. 

Para saber más

Para XSS en general, consulte nuestra guía completa.

¿Quiere saber más sobre cómo escribir código seguro y mitigar los riesgos? Pruebe gratis nuestro desafío de inyección XSS.

Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach, que le ayudará a mantenerse al día de las mejores prácticas de codificación segura.

¿Quiere saber más? Descargue nuestro último libro blanco.
Ver recurso
Ver recurso

Misión: Cross-site scripting (XSS) en 'ChatterGPT'.

¿Cómo introducen vulnerabilidades los asistentes de codificación de IA? Juega a nuestra NUEVA misión pública y compruébalo tú mismo. Esta misión revela la interfaz familiar de un popular LLM, y utiliza un fragmento de código real generado a finales de noviembre de 2023. Los usuarios pueden interpretar este fragmento e investigar cualquier posible fallo de seguridad si se utilizara para el fin previsto.

Prueba la misión
Autor

Laura Verheyde

Laura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.

¿Quieres más?

Sumérjase en nuestras últimas ideas sobre codificación segura en el blog.

Nuestra amplia biblioteca de recursos tiene como objetivo potenciar el enfoque humano de la mejora de la codificación segura.

Ver blog
¿Quieres más?

Obtenga las últimas investigaciones sobre la seguridad impulsada por los desarrolladores

Nuestra amplia biblioteca de recursos está repleta de recursos útiles, desde libros blancos hasta seminarios web, que le ayudarán a iniciarse en la codificación segura orientada a los desarrolladores. Explórela ahora.

Centro de recursos

Profundización: Navegar por las vulnerabilidades generadas por los asistentes de codificación de IA

Publicado el 11 de diciembre de 2023
Por Laura Verheyde

Se mire por donde se mire, existe una fijación constante con la tecnología de IA en casi todas las verticales. Alabada por algunos como la respuesta a la creación rápida de funciones en el desarrollo de software, la ganancia en velocidad tiene un precio: la posibilidad de que se introduzcan graves errores de seguridad en las bases de código, gracias a la falta de conocimiento contextual de la propia herramienta y a los escasos conocimientos de seguridad de los desarrolladores que confían en ella para aumentar la productividad y generar respuestas a situaciones de desarrollo difíciles. 

La tecnología LLM (Large Language Model) representa un cambio radical en las herramientas de asistencia y, si se utiliza de forma segura, podría convertirse en el compañero de programación en parejas que tantos ingenieros de software anhelan. Sin embargo, se ha demostrado rápidamente que el uso descontrolado de las herramientas de desarrollo de IA puede tener un impacto perjudicial, y un estudio de 2023 de la Universidad de Stanford reveló que la dependencia de los asistentes de IA probablemente daría lugar a un código con más errores e inseguro en general, además de un aumento de la confianza en que el resultado es seguro.

Aunque es válido suponer que las herramientas seguirán mejorando a medida que avance la carrera por perfeccionar la tecnología de la IA, una serie de recomendaciones -incluida una nueva Orden Ejecutiva de la Administración Biden, así como la Ley de Inteligencia Artificial de la UE- convierten su uso en un camino complicado en cualquier caso. Los desarrolladores pueden adelantarse perfeccionando sus habilidades de seguridad a nivel de código, su concienciación y su pensamiento crítico en torno a los resultados de las herramientas de IA y, a su vez, convertirse en ingenieros de mayor nivel.

¿Cómo introducen vulnerabilidades los asistentes de codificación de IA? Juega a nuestra NUEVA misión pública y compruébelo usted mismo.

Ejemplo: Cross-site scripting (XSS) en 'ChatterGPT'.

Nuestra nueva misión pública revela la interfaz familiar de un LLM popular, y utiliza un fragmento de código real generado a finales de noviembre de 2023. Los usuarios pueden interpretar este fragmento e investigar cualquier posible fallo de seguridad si se utilizara para el fin previsto.

Basándose en la pregunta: "¿Puedes escribir una función JavaScript que cambie el contenido del elemento HTML p, cuyo contenido se pasa a través de esa función?", el asistente de IA produce obedientemente un bloque de código, pero no todo es lo que parece.

¿Has jugado ya al desafío? Si no es así, inténtalo ahora antes de seguir leyendo.

... vale, ahora que lo has completado, sabrás que el código en cuestión es vulnerable a cross-site scripting (XSS). 

El XSS es posible gracias a la manipulación de la funcionalidad básica de los navegadores web. Puede producirse cuando una entrada no fiable se muestra como salida en una página, pero se interpreta erróneamente como código ejecutable y seguro. Un atacante puede colocar un fragmento malicioso (etiquetas HTML, JavaScript, etc.) dentro de un parámetro de entrada que, cuando se devuelve al navegador, se ejecuta en lugar de mostrarse como datos.

Uso seguro de los asistentes de codificación de IA en el desarrollo de software

Una encuesta reciente realizada a equipos de desarrollo en activo reveló que casi todos ellos (el 96 %) han empezado a utilizar asistentes de IA en su flujo de trabajo, y que el 80 % incluso se salta las políticas de seguridad para mantenerlos en su conjunto de herramientas. Además, más de la mitad reconoció que las herramientas de IA generativa suelen crear código inseguro, aunque es evidente que esto no frenó su adopción.

En esta nueva era de los procesos de desarrollo de software, desalentar o prohibir el uso de estas herramientas es poco probable que funcione. En su lugar, las organizaciones deben permitir que sus equipos de desarrollo utilicen las ganancias de eficiencia y productividad sin sacrificar la seguridad o la calidad del código. Esto requiere una formación precisa sobre las mejores prácticas de codificación segura, y darles la oportunidad de ampliar sus habilidades de pensamiento crítico, asegurándose de que actúan con una mentalidad de seguridad en primer lugar, especialmente al evaluar la amenaza potencial de la salida de código del asistente de IA. 

Para saber más

Para XSS en general, consulte nuestra guía completa.

¿Quiere saber más sobre cómo escribir código seguro y mitigar los riesgos? Pruebe gratis nuestro desafío de inyección XSS.

Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach, que le ayudará a mantenerse al día de las mejores prácticas de codificación segura.

¿Quiere saber más? Descargue nuestro último libro blanco.

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

Enviar
Para enviar el formulario, habilite las cookies "Analytics". Siéntase libre de desactivarlas de nuevo una vez que haya terminado.