Código generado con IAs y seguridad: necesita mejorar
Para sopresa de nadie la pregunta surge de manera inmediata: Is Your AI-Generated Code Really Secure? y la respuesta también lo parece: si los ejemplos de los libros, los foros, y casi todo lo que hay disponible es inseguro, en general, será difícil que nada que se entrene con ello lo sea (por lo menos de momento).
A research done by academia claims that AI code generation is the leading cause for top 10 vulnerabilities and nearly 40% of code has security bugs.
El entrenamiento:
But, AI models are trained on every bit of information available on the internet. The code quality, reliability, security, and more might differ from that which is generated by human developers. A model trained on web development examples may contain poor data validation practices, for instance.
Y luego nos detallan algunos fallos comunes.
- Inferencia de tipos y validación de entradas El entrenamiento:
 
But, AI models are trained on every bit of information available on the internet. The code quality, reliability, security, and more might differ from that which is generated by human developers. A model trained on web development examples may contain poor data validation practices, for instance.
Y luego nos detallan algunos fallos comunes.
- Inferencia de tipos y validación de entradas.
 
- Type Inference and Input Validations are Not Enforced
 
- Contexto y estados compartidos de forma no estándar entre clases y objetos.
 
- Non-Standard State and Context Sharing Between Classes/Objects
 
- Implementaciones malas para el manejo de datos y técnicas para compartir.
 
- Weak Implementation of Data Handling and Sharing Techniques
 
- Gestión inadecuada de la autorización y la gestión de secretos.
 
- Inadequate Secrets and Auth Handling
 
- Dependencias desactualizadas con uso de funcionalidades obsoletas
 
- Outdated Dependencies with Deprecated Functionality Usage
 
Los consejos para mejorar esta situación serían:
- Revisión del código por gente especializada (¡como con los humanos!)
 
Code review with security and architecture teams should be a standard part of your life cycle.
- Integración de las pruebas de seguridad y validación en las herramientas de control de versiones.
 
Integrate automated security testing and validation steps in version control tools.
- Inclusión de comprobaciones de cumplimiento y dependencias en los indicardores.
 
Include dependency and compliance checks in testing KPIs.
- Adopción de arquitecturas sin confianza (zero trust) y herramientas de seguridad dinámicas.
 
Adopt Zero-Trust architecture with static and dynamic security testing tools.
- Aprovechar las prácticas DevSecOps Y la IA en la sombra.
 
Leverage DevSecOps practices and shadow AI.
Aprovechar los sistemas automáticos (en este caso recomiendan Github Actions) para pasar las pruebas que se consideren oportunas sobre el código.
Handling Unsafe AI-Generated Code with a Simple Github Action
