Un atacante desconocido ha utilizado tokens OAuth (Open Authentication) robados para descargar datos de «docenas de organizaciones», según ha reconocido GitHub. Estos tokens se usan como un medio (habitualmente) seguro para permitir que la información del usuario pueda usarse en sitios web de terceros.
La compañía, subsidiaria de Microsoft, comenzó a investigar el ataque el pasado día 12, y desde entonces ha descubierto que los tokens comprometidos pertenecen al proveedor de PaaS Heroku, y a Travis CI, un sistema distribuido de integración continua (que hace medio año ya se vio implicado en otro incidente relacionado con datos de acceso).
«No creemos que el atacante haya obtenido estos tokens a través de una violación de los sistemas de GitHub, porque los tokens en cuestión no están almacenados por GitHub en sus formatos originales y utilizables».
«Estamos prácticamente seguros de que los tokens de usuario de las aplicaciones OAuth mantenidas por Heroku y Travis CI fueron robados y utilizados para descargar repositorios privados pertenecientes a docenas de organizaciones que estaban usando estas aplicaciones».
Una de las organizaciones afectadas fue NPM, el popular repositorio de paquetes NodeJS que es, a su vez, una subsidiaria de GitHub. Según la compañía, el atacante obtuvo acceso no autorizado a repositorios privados de NPM en GitHub.com y los descargó, por no mencionar que podría haber obtenido, potencialmente, acceso a los paquetes npm en el almacenamiento de S3 de AWS.
«En este momento, creemos que el atacante no modificó ningún paquete ni obtuvo acceso a ningún dato o credencial de la cuenta de usuario».
Integración con GitHub suspendida
Travis CI, tras haber reconocido el viernes que ciertos repositorios privados de sus clientes podrían haberse visto comprometidos como resultado del ataque anunció que revocaba todos los tokens y las claves de autenticación para evitar un mayor acceso a los sistemas de la compañía.
Sin embargo, el lunes publicaron una actualización de su boletín de seguridad aseverando que la clave oAuth robada «no proporciona acceso a ningún repositorio de clientes de Travis CI» y que no cuentan con ninguna «evidencia de intrusión en algún repositorio privado de nuestros clientes».
Por su parte, Heroku anunció que desde el pasado 16 de abril ha retirado el soporte para la integración de su plataforma con GitHub a raíz del incidente, y recomendó a sus usuarios que contemplen la opción de recurrir a la integración con otros proveedores de control de versiones como GitLab o Bitbucket.