La empresa Aqua Security ha publicado los resultados de un estudio sobre la presencia de datos confidenciales en los registros de construcción, accesibles públicamente en el sistema de integración continua Travis CI. Los investigadores encontraron una forma de extraer 770 millones de registros de distintos proyectos. En una carga de prueba de 8 millones de registros, se identificaron aproximadamente 73,000 tokens, credenciales y claves de acceso relacionadas con varios servicios populares, incluidos GitHub, AWS y Docker Hub. La información revelada permite comprometer la infraestructura de muchos proyectos de código abierto; por ejemplo, una filtración similar recientemente llevó al hackeo de la infraestructura del proyecto NPM.
La filtración está relacionada con la posibilidad de acceder a los registros de usuarios del servicio gratuito Travis CI a través de su API estándar (por ejemplo, un registro de construcción se puede descargar mediante una URL como «https://api.travis-ci.org/v3/job/5248126/log.txt», donde el número 5248126 es el identificador del registro). Se utilizó otra API («https://api.travis-ci.org/logs/6976822»), que proporciona redirección para la descarga del registro por número secuencial, para determinar el rango de posibles identificadores de registros. Mediante un proceso de prueba, la investigación logró identificar aproximadamente 770 millones de registros, creados entre 2013 y mayo de 2022, durante la construcción de proyectos que caen bajo el plan tarifario gratuito.
El análisis de la muestra de prueba mostró que en muchos casos, los registros reflejan abiertamente los parámetros de acceso a los repositorios, API y almacenes, suficientes para acceder a repositorios privados, realizar cambios en el código o conectarse a entornos en la nube utilizados en la infraestructura. Por ejemplo, se encontraron tokens para conectarse a repositorios en GitHub, contraseñas para la implementación de construcciones en Docker Hub, claves de acceso a entornos de Amazon Web Services (AWS), y parámetros de conexión a bases de datos MySQL y PostgreSQL.
Es notable que filtraciones similares a través de API fueron documentadas por los investigadores en 2015 y 2019. Después de los incidentes anteriores, la empresa Travis implementó ciertas restricciones para dificultar la descarga masiva de datos y redujo el acceso a la API, pero estas limitaciones fueron eludidas. Además, Travis intentó limpiar los datos confidenciales de los registros, pero la limpieza fue solo parcial.
La filtración afectó principalmente a los usuarios de proyectos abiertos que tienen acceso gratuito al servicio de integración continua de Travis. Durante las verificaciones realizadas por algunos proveedores de servicios, se confirmó que aproximadamente la mitad de los tokens y claves extraídos de los registros siguen siendo funcionales. Se recomienda encarecidamente a todos los usuarios de la versión gratuita del servicio Travis CI que cambien sus claves de acceso de inmediato, así como que configuren la eliminación de los registros de compilación y verifiquen la ausencia de información confidencial en los registros.
Fuente: opennet.ru
