El incidente de Vercel fue una sofisticada cadena de ataque de supply chain que comenzó con la infección por malware Lumma Stealer en un empleado de Context.ai, un proveedor externo. Esta infección llevó a la exfiltración de tokens OAuth, incluyendo uno perteneciente a un empleado de Vercel. El atacante utilizó este token para acceder a la cuenta de Google Workspace del empleado de Vercel, y desde allí, pivotó a los sistemas internos de Vercel. La causa raíz principal fue la confianza implícita en las relaciones OAuth de terceros y el modelo de variables de entorno de Vercel, que por defecto no marcaba las variables como 'sensitive', dejándolas sin cifrar en reposo y accesibles internamente.
La cascada de fallos se amplificó por varias decisiones de diseño y operativas. Primero, la naturaleza de los tokens OAuth, que otorgan acceso persistente sin requerir contraseñas y sobreviven a las rotaciones de estas, permitió un acceso prolongado y discreto. Segundo, el modelo de variables de entorno de Vercel, donde las credenciales no marcadas explícitamente como 'sensitive' eran legibles con acceso interno, amplió el radio de explosión. Esto significa que, una vez dentro, el atacante pudo enumerar y acceder a credenciales de clientes sin controles adicionales. Tercero, la latencia entre la detección de credenciales filtradas (notificación de OpenAI el 10 de abril) y la divulgación pública de Vercel (19 de abril) creó una ventana de nueve días durante la cual las credenciales expuestas pudieron haber sido explotadas activamente.
Las salvaguardas tradicionales fallaron porque el ataque explotó relaciones de confianza legítimas (OAuth) que a menudo eluden los controles de seguridad perimetrales. Los sistemas de detección de intrusiones a menudo están calibrados para detectar ataques basados en credenciales tradicionales, no para el movimiento lateral a través de permisos de aplicaciones OAuth legítimas. La falta de cifrado por defecto para las variables de entorno 'no sensibles' y la necesidad de una opción explícita para la sensibilidad de las variables de entorno, en lugar de un enfoque de seguridad por defecto, contribuyeron significativamente a la magnitud del impacto. Este incidente subraya la necesidad de tratar las aplicaciones OAuth como proveedores de terceros y de diseñar sistemas asumiendo un compromiso del lado del proveedor.