Tips para desarrollar software con IA

5 buenas prácticas para escribir código usando la IA generativa

Blog Tips para desarrollar software con IA

| 5 min de lectura

Contáctanos

Cuando se utiliza IA generativa para escribir código, las buenas prácticas a seguir incluyen siempre revisar el resultado, realizarle pruebas de seguridad, no alimentar la herramienta con datos de clientes o datos corporativos sensibles, asegurarse de estar utilizando una herramienta aprobada por tu empresa y tratar de no infringir las licencias de código abierto. Dado que la IA generativa ha llegado para quedarse como un aliado poderoso para la eficiencia de los proyectos de desarrollo, es importante comprobar que se implemente de forma segura.

"Cheat sheet Fluid Attacks - Buenas prácticas para desarrollar con IA"

Cheat sheet: Cinco buenas prácticas para desarrollar con IA generativa de forma segura

Revisar la respuesta tú mismo

Al igual que ocurre con los componentes de software de terceros y de código abierto, la IA ofrece una forma de agilizar los proyectos de desarrollo de software. Por ejemplo, puedes utilizar GitHub Copilot para escribir código rápidamente gracias a que autocompleta las funciones de software que deseas basándose en tus indicaciones. Una investigación de GitHub sugiere que la IA puede aumentar tu eficiencia en un 55%.

La IA generativa también tiene la capacidad de permitir que personas con conocimientos técnicos escasos desarrollen software. Es más, se ha sugerido que la IA podría realizar las tareas de los desarrolladores júnior y, aun así, servirles como herramienta de aprendizaje. Además, se espera que un número significativo de compañías utilicen la IA generativa para aliviar la carga de trabajo de los desarrolladores y asignarles otros proyectos más importantes.

Ten por seguro que la IA generativa es una herramienta de apoyo a tu trabajo. En su estado actual, no va a sustituirte. De hecho, siempre debes esperar que haya errores en el código generado por IA. Siempre deben realizarse revisiones. Examina bien el código, teniendo en cuenta las prácticas de codificación seguras. En caso de duda, pide a compañeros expertos que revisen el código generado por la IA y te den su opinión antes de hacer commit.

Realizar pruebas de seguridad al código generado por IA

La seguridad es un gran problema del código generado por IA. Afortunadamente, existen herramientas que pueden ayudarte a identificar sus vulnerabilidades. Hemos enumerado algunas que son libres y de código abierto (FOSS) en nuestro artículo principal sobre pruebas de seguridad, incluida nuestra propia herramienta. Si la aplicación que estás codificando está lista para ejecutarse, puedes evaluarla con pruebas de seguridad de aplicaciones dinámicas (DAST) además de hacerlo con pruebas de seguridad de aplicaciones estáticas (SAST). Las primeras atacarán tu aplicación interactuando con ella "desde fuera".

También ayuda mucho contar con hackers éticos que revisen el código y la aplicación en ejecución, ya que el escaneo de vulnerabilidades, un proceso completamente automatizado, es conocido por producir informes con altas tasas de falsos positivos y pasar por alto problemas de seguridad reales. Estos hackers, también conocidos como analistas de seguridad, pueden encontrar vulnerabilidades verdaderas que, de ser explotadas, tendrían un terrible impacto en la disponibilidad, confidencialidad e integridad de la información.

Una vez conocidas las vulnerabilidades, hay que remediarlas. De nuevo, puedes utilizar la IA generativa para arreglar el código. De hecho, recientemente hemos desplegado la función Autofix de nuestra extensión en VS Code. Puedes obtener una sugerencia de corrección de código con un solo clic. Pero incluso entonces tendrás que tener cuidado con el resultado, ya que esta función aprovecha la IA generativa y no puede escapar de sus limitaciones. Por lo tanto, debes revisar la sugerencia de corrección y someterla a pruebas de seguridad.

Si te interesa una prueba gratuita de pruebas de seguridad con nuestra herramienta automatizada, haz clic aquí para empezar.

Utilizar herramientas de IA aprobadas por tu compañía

Es importante que las organizaciones identifiquen y supervisen el uso de la IA generativa en caso de que la permitan. Tendrán que redactar políticas y directrices empresariales sobre el uso de la IA con la ayuda de sus equipos jurídicos y de propiedad intelectual. Dado que la IA puede cometer errores de la misma forma que lo han hecho los humanos al escribir código, la gobernanza existente puede servir de base. En un artículo específico del blog damos consejos sobre lo que se debe incluir en una política de IA generativa Estas son algunas medidas que las organizaciones deben adoptar:

  • Establecer las herramientas de IA que identifican como seguras, siendo conscientes de las limitaciones de esta tecnología.

  • Educar a sus empleados sobre el uso de las tecnologías de IA generativa y las políticas relacionadas con ella.

  • Establecer las soluciones de pruebas de seguridad que se utilizarán para mantener seguro el código generado por IA.

  • Monitorear para detectar cualquier infracción de la propiedad intelectual.

Deberás estar al tanto de los requisitos de tu supervisor o de otras personas de tu compañía (p. ej., líder, jefe de producto, CTO, gerencia) para informarles que estás utilizando herramientas de IA generativa. Si no estás seguro de si puedes utilizarlas o cuáles de ellas son adecuadas, pregunta.

Inicia ahora las pruebas de seguridad de Fluid Attacks

No usar datos de clientes o propiedad intelectual en motores públicos de GPT

No envíes datos confidenciales de tu compañía o de sus clientes que puedan ser ingresados en una nube que está mucho más allá de tu control. Básicamente, el motor GPT se basaría en estos datos y acabaría sugiriéndolos a usuarios ajenos a tu compañía. Además, se recomienda a los desarrolladores de todo el mundo no introducir datos sensibles en los motores de GPT, ya que se han producido fugas de datos. (Contando algunas relacionadas con ChatGPT: Samsung expuso tres veces sus propios secretos; la explotación de una librería de código abierto defectuosa dio a los atacantes acceso al historial de chat de otros usuarios; más de 100.000 cuentas fueron robadas una vez.) Por lo tanto, ten en cuenta cualquier política de tu organización que detalle cómo utilizar las herramientas de IA generativa para el desarrollo.

Tener cuidado con el copyright del código abierto con que se entrenó la IA

¿Existe la posibilidad de que estés copiando el trabajo de otra persona al utilizar los resultados de la IA generativa? Los problemas de violación de derechos de autor (cuando el resultado copia textualmente elementos protegidos por derechos de autor de software existente) y las violaciones de licencias de código abierto (p. ej., no proporcionar los avisos y declaraciones de atribución requeridos) son nuevos y deben analizarse caso por caso (ya existe una compleja demanda contra Copilot).

Es cierto que Copilot, por ejemplo, se ha entrenado con tantos repositorios de GitHub que el código que sugiere puede no parecerse exactamente a ningún código concreto protegido por derechos de autor o que requiera créditos según su licencia de código abierto. Aun así, existe un riesgo de infracción, y no se mitiga fácilmente, ya que Copilot elimina en sus sugerencias la información sobre derechos de autor, gestión y licencia que exigen algunas licencias de código abierto.

Lo que te recomendamos es que pienses si podrías obtener las funciones que necesitas utilizando librerías de código abierto conscientemente. Puedes seguir nuestros consejos para elegir bien el software de código abierto. Por cierto, existen herramientas que te ayudarán a averiguar si hay algún problema con el código de terceros que introduzcas en tu proyecto. Al realizar análisis de composición de software (SCA), estas herramientas identifican los componentes que tienen vulnerabilidades conocidas y plantean posibles conflictos de licencia. Al probar nuestra herramienta de forma gratuita obtendrás estos análisis, así como SAST y DAST. Empieza ahora y no olvides descargar nuestro plugin en VS Code para localizar fácilmente el código vulnerable y obtener sugerencias de corrección de código a través de IA generativa.

Suscríbete a nuestro blog

Recibe el boletín semanal de Fluid Attacks.

Blog posts recomendados

Quizá te interesen los siguientes posts similares.

Foto por mitchell kavan en Unsplash

Poniendo en práctica el modelo zero trust

Foto por Brian Kelly en Unsplash

Te necesitamos, pero no podemos darte dinero

Foto por Sean Pollock en Unsplash

Los robos de datos que dejaron su huella para siempre

Foto por Roy Muz en Unsplash

Lecciones aprendidas de los cisnes negros

Foto por Florian Schmetz en Unsplash

La mejor ofensa es una buena defensa

Foto por Valery Fedotov en Unsplash

Un problema de infraestructura digital que aún muchos ignoran

Foto por Sebastian Pociecha en Unsplash

Hechos históricos que te incitarán a actuar

Inicia tu prueba gratuita de 21 días

Descubre las ventajas de nuestra solución Hacking Continuo, de la cual ya disfrutan cientos de organizaciones.

Inicia tu prueba gratuita de 21 días
Fluid Logo Footer

Hackeando software durante más de 20 años

Fluid Attacks analiza aplicaciones y otros sistemas, abarcando todas las fases de desarrollo de software. Nuestro equipo ayuda a los clientes a identificar y gestionar rápidamente las vulnerabilidades para reducir el riesgo de ciberincidentes y desplegar tecnología segura.

Copyright © 0 Fluid Attacks. We hack your software. Todos los derechos reservados.