Contenido Exclusivo

Seis consideraciones para reducir vulnerabilidades de software desarrollado por IA

Dado que una persona promedio pasa casi siete horas al día en línea, las organizaciones dependen cada vez más de los servicios digitales. Por lo tanto, están buscando formas de acelerar la innovación impulsada por software para satisfacer las necesidades de clientes y empleados.

Con este fin, muchos están explorando el potencial de los copilotos habilitados por IA generativa para acelerar la prestación de servicios digitales. Si bien estos enfoques tienen ventajas, el código generado por IA puede comportarse de maneras inesperadas si los desarrolladores no los revisan minuciosamente. Sin controles efectivos, las organizaciones que adopten estas prácticas podrían poner en riesgo la confiabilidad y seguridad de su software.

En este contexto, detectamos seis razones clave por las que el código generado por IA podría dificultar el mantenimiento de la confiabilidad y seguridad del software a largo plazo y aumentar los problemas de calidad del código en el futuro inmediato.

  1. Se basa en el aprendizaje probabilístico. El código generado por IA se forma a partir de una combinación probabilística de múltiples fuentes de código aprendidas previamente, que pueden contener contenido desactualizado o no ejecutarse juntas. Este problema aún no se ha convertido en un problema importante, ya que hasta ahora la IA ha tenido buenas fuentes de información seleccionada por humanos de sitios de codificación como Stack Overflow. Sin embargo, a medida que los desarrolladores adopten código generado por IA, es probable que su motivación para mantener estos sitios actualizados se deteriore. Por lo tanto, la calidad de los datos de los que aprende la IA se degradará.
  2. No puede asumir toda la responsabilidad. En las prácticas de entrega actuales, los desarrolladores son responsables de mantener la calidad, la seguridad y la funcionalidad del código. Si bien ayuda, la IA generativa no elimina esta responsabilidad de los desarrolladores porque no pueden preguntarse a sí mismos: “¿Esto parece correcto?”. El riesgo es que, con las crecientes cargas de trabajo y la necesidad de innovar más rápido, los desarrolladores, que ya son propensos a errores humanos, pueden tomar atajos y confiar ciegamente en el código generado por la IA, lo que facilita la aparición de fallas o vulnerabilidades.
  3. Amplifica los problemas de copiar y pegar. Ya se reconoce como una mala práctica que los desarrolladores aceleren la entrega copiando y pegando fragmentos de código, ya que deteriora la capacidad de mantenimiento y aumenta el riesgo de que se repliquen o pasen por alto errores o vulnerabilidades. Los generadores de código de IA amplifican ese proceso drásticamente, ya que esencialmente automatizan el proceso de copiar y pegar a velocidades más altas.
  4. Siguen existiendo limitaciones de tiempo. Los equipos de desarrollo que ya están sobrecargados no tienen tiempo para verificar manualmente cada línea de código que crea la IA generativa. Con el tiempo, es probable que la calidad del código se degrade, ya que los copilotos apoyan e incluso aprenden de malos hábitos, como la duplicación de código y los problemas de replicación de otros repositorios o bibliotecas.
  5. No se puede confiar en la IA para revisar los resultados. Algunos desarrolladores intentarán gestionar la calidad del código generado por IA utilizando IA generativa adicional para escanear, refactorizar y solucionar problemas. Si bien esto puede proporcionar algún valor táctico en el futuro, estas herramientas están sujetas a los mismos problemas de aprendizaje probabilístico que los generadores de códigos originales asistidos por IA.
  6. Aumenta la deserción. Investigadores de la Universidad de Cornell también han destacado que el uso reiterativo de la IA puede reducir la calidad del resultado con el tiempo. Esto sugiere que la calidad del software se degradará a medida que la IA replica continuamente los patrones aprendidos en cada repetición del mismo código. A su vez, esto aumentará la rotación de código: cuanto más se reescribe, más errores se introducen. Lo que da como pronóstico que el volumen de código nuevo que los desarrolladores revierten o actualizan dentro de las dos primeras semanas de implementación se duplicará en 2024 en comparación con antes de que la IA generativa entrara en uso generalizado.

Para abordar estos riesgos, las organizaciones deben inmunizar sus aplicaciones contra códigos vulnerables y protegerlas activamente de la imprevisibilidad del código generado por IA. De la misma manera que una persona necesita un sistema inmunológico sano para combatir infecciones, los servicios digitales necesitan protegerse automáticamente de códigos de mala calidad que debilitan su seguridad o confiabilidad.

La forma más eficaz de desarrollar esta inmunidad es automatizar el proceso de detección de vulnerabilidades y evaluación del riesgo y luego aplicar políticas que puedan bloquear los ataques desde la aplicación, de forma similar a como funciona una vacuna en el cuerpo humano. Esto evita que se ejecuten en tiempo de ejecución nuevas cargas de trabajo o vulnerabilidades autoinfligidas que reducen la calidad o la seguridad del código, reduciendo así los riesgos.

-Bernd Greifeneder, CTO y fundador de Dynatrace

Lo Más Reciente

Tenable descubre nuevas técnicas de ataque en software de código abierto

El equipo de investigación de seguridad en la nube...

Shopperbot: robot mexicano que ayuda a tomar mejores decisiones de compra

Como parte de las soluciones para impulsar la hiperpersonalización...

Los ‘Scam-Yourself Attacks’ aumentan 614% en el tercer trimestre del año: informe

Los 'Scam-Yourself Attacks' o "ataques de estafa”, en los...

Newsletter

Recibe lo último en noticias e información exclusiva.

Mireya Cortés
Mireya Cortés
Editora CIO Ediworld Online. La puedes contactar en mcortes@ediworld.com.mx

Tenable descubre nuevas técnicas de ataque en software de código abierto

El equipo de investigación de seguridad en la nube de Tenable descubrió nuevas técnicas de ataque en los Lenguajes Específicos de Dominio (DSLs, por...

“Mejorar la visibilidad en el ecosistema tecnológico, interno y de cara al cliente” : José Armando López Flores, CISO de Crediclub

“Queremos ser esa institución financiera que cubra con las expectativas de los clientes a través de garantizarles que su patrimonio estará seguro”. Con el objetivo...

Shopperbot: robot mexicano que ayuda a tomar mejores decisiones de compra

Como parte de las soluciones para impulsar la hiperpersonalización en la atención al cliente por medio de la tecnología, PepsiCo México desarrolló a Shopperbot....