De un vistazo
- Los paquetes maliciosos y vulnerables se bloquean en la instalación, en todos los dispositivos de la empresa, incluidos los de los no ingenieros que escriben código con herramientas de IA
- El escaneo de dependencias y contenedores se ejecuta en todos los repositorios y contenedores
- Una comprobación obligatoria de Aikido en GitHub evita que el código vulnerable llegue a producción
- Los desarrolladores se mantinen en su flujo de trabajo habitual en lugar de aprender otra herramienta
- Aikido alimenta la cadena de cumplimiento, creando tickets con fecha y haciendo que el incumplimiento de los SLA sea más visible
El nuevo riesgo era de código abierto y la configuración anterior solo supervisaba la producción
Too Good To Go, la empresa detrás del mercado más grande del mundo de excedentes de alimentos, utiliza Aikido para detectar paquetes de código abierto maliciosos y vulnerables antes de que lleguen al dispositivo de un desarrollador o a producción, y para mantener su labor de seguridad vinculada al cumplimiento.
Robert Christiansen, vicepresidente de ingeniería, es responsable de la ingeniería, la experiencia de los desarrolladores y el cumplimiento normativo en todos los equipos de software de la empresa. Too Good To Go gestiona su plataforma de comercialización de excedentes alimentarios desde 2016 y, en la actualidad, conecta a más de 150 millones de usuarios registrados con más de 200 000 socios comerciales activos en 20 países, todo ello con el respaldo de un departamento de ingeniería que forma parte de una empresa con una plantilla de aproximadamente 1 300 personas.
Hace año y medio, la prioridad del equipo era detener las bibliotecas infectadas antes de que llegaran a producción. En los últimos seis meses, los ataques a los paquetes de código abierto y a los desarrolladores que los instalan han aumentado rápidamente, y los proyectos de código abierto están sufriendo un aluvión de nuevas vulnerabilidades. El mayor riesgo actual se encuentra antes en la cadena: un paquete que compromete el dispositivo de un desarrollador antes de que se lance nada. Los desarrolladores suelen tener más acceso que nadie, lo que convierte a sus dispositivos en el objetivo más valioso.
La exposición también se extendió más allá de ingeniería. Personas de otras áreas de negocio han empezado a escribir código con herramientas de IA, descargando paquetes de Node y Python en dispositivos para los que ningún proceso de seguridad estaba preparado. Robert califica esto de aún más peligroso. Las herramientas existentes del equipo solo escaneaban después de la compilación, lo que protegía producción y dejaba el desarrollo desprotegido.
El cumplimiento normativo elevó aún más el listón. Too Good To Go trabaja bajo las normativas NIS2 y PCI, y PCI establece sus propios requisitos sobre la rapidez con la que el equipo debe reaccionar ante una vulnerabilidad. El equipo necesitaba un producto capaz de detener los problemas en el dispositivo y en tiempo de compilación, y demostrar que el seguimiento se realizó dentro de los plazos establecidos.
Una sola herramienta desde el dispositivo hasta el pipeline
Aikido Safe Chain se ejecuta ahora en todos los dispositivos de la organización. Comprueba si Node o Python están instalados y protege el paso de instalación, de modo que un paquete malicioso se detiene antes de instalarse, sin importar quién lo esté instalando. La protección de dispositivos cubre a las aproximadamente 160 personas que la empresa clasifica como personal de ingeniería, independientemente de si escriben código o no.
En el pipeline, cada cambio debe superar una comprobación de Aikido en GitHub antes de poder pasar a producción. Como esta verificación se integra en el flujo de desarrollo habitual, la seguridad nunca se convierte en un paso adicional que alguien deba recordar. Aikido realiza un seguimiento de las dependencias vulnerables y de las imágenes de contenedores en casi 200 repositorios y más de 200 contenedores, incluidas las profundas cadenas de dependencias transitivas que incluso las imágenes de Docker endurecidas suelen arrastrar.
Los desarrolladores cuya tarea es actualizar bibliotecas utilizan el plugin de IntelliJ para comprobar si un hallazgo es un problema real y si es probable que una actualización rompa algo antes de realizar modificaciones.
Los desarrolladores ni siquiera necesitan entrar en Aikido todo el tiempo; simplemente se ha convertido en parte de su flujo de trabajo.
Por qué Too Good To Go eligió Aikido
- Protección en el dispositivo y en tiempo de compilación (los dos flancos que la configuración anterior dejaba descubiertos)
- Una configuración rápida y de bajo esfuerzo
- Una interfaz sencilla y precios transparentes
Aikido detecta lo que de otro modo se pasaría por alto
El cambio más importante es lo que ya no se escapa. Safe Chain y la protección de dispositivos ya han bloqueado paquetes en los equipos de los desarrolladores, y cuando le preguntan a Robert si Aikido detecta amenazas reales, su respuesta es tajante: «Sin duda, está detectando cosas que de otro modo habrían pasado desapercibidas».
Ahora tenemos total visibilidad sobre qué bibliotecas necesitamos corregir, tanto en la infraestructura como en el código.
Robert destaca un resultado de negocio por encima del resto: el equipo no ha sufrido ningún incidente derivado de una biblioteca comprometida.
En cuanto al cumplimiento normativo, Aikido genera tickets con fechas asignadas, de modo que cuando una corrección se retrasa respecto a su SLA, todo el mundo puede verlo de inmediato. Dado que PCI establece expectativas estrictas sobre los tiempos de respuesta, ese registro ayuda a Too Good To Go a mantener el cumplimiento sin tener que perseguir los estados manualmente.
Cómo utiliza Too Good To Go Aikido hoy en día
Actualmente en uso
- análisis de dependencias
- Análisis de contenedores
- Aikido Safe Chain en toda la organización
- Protección de dispositivos en todo el departamento de ingeniería
- Verificación en el pipeline de GitHub
- El plugin de IntelliJ para los desarrolladores que implementan correcciones
Próximos planes
- Un modelo de severidad que asigna cada hallazgo a su exposición real, de modo que los servicios internos sin acceso a internet se parchean mensualmente, mientras que los expuestos se corrigen de inmediato
Evaluando
- pentesting de IA, que el ingeniero de seguridad del equipo quiere probar para poder realizar pruebas automatizadas con más frecuencia, complementando las pruebas de penetración que ya ejecutan cada año
Veredicto final
El producto fue fácil de configurar y funciona. Me alegro de haberlo adoptado y me habría encantado tenerlo antes.


