Tras analizar los 5,6 millones de repositorios públicos de GitLab Cloud, un
ingeniero de seguridad descubrió más de 17,000 secretos expuestos en más de
2,800 dominios únicos.
GitLab es una plataforma Git basada en la web utilizada por desarrolladores de
software, personal de mantenimiento y equipos de DevOps para alojar código,
realizar operaciones de CI/CD, colaborar en el desarrollo y gestionar
repositorios.
Luke Marshall utilizó la herramienta de código abierto TruffleHog para
comprobar el código de los repositorios en busca de credenciales
confidenciales como claves API, contraseñas y tokens.
El investigador
analizó previamente Bitbucket, donde encontró 6.212 secretos distribuidos en 2,6 millones de repositorios.
También
revisó el conjunto de datos Common Crawl, utilizado para entrenar modelos de IA, que expuso 12.000 secretos válidos.
Marshall utilizó la API pública de GitLab para enumerar todos los repositorios
públicos de GitLab Cloud, utilizando un script de Python personalizado para
paginar todos los resultados y ordenarlos por ID de proyecto. Este proceso
devolvió 5,6 millones de repositorios no duplicados, cuyos nombres se enviaron
a un Servicio de Cola Simple (SQS) de AWS.
A continuación, una función de AWS Lambda extrajo el nombre del repositorio de
SQS, ejecutó TruffleHog y registró los resultados.
«Cada invocación de Lambda ejecutó un simple comando de escaneo de
TruffleHog con una concurrencia de 1000»,
describe Marshall.
«Esta configuración me permitió completar el escaneo de 5.600.000
repositorios en poco más de 24 horas».
El costo total de todos los repositorios públicos de GitLab Cloud utilizando
el método mencionado fue de U$S 770. El investigador encontró 17.430 secretos
activos verificados, casi el triple que en Bitbucket, y con una densidad de
secretos un 35% mayor (secretos por repositorio).
Los datos históricos muestran que la mayoría de los secretos filtrados son más
recientes que 2018. Sin embargo, Marshall también encontró algunos secretos
muy antiguos que datan de 2009 y que siguen siendo válidos hoy en día. La
mayor cantidad de secretos filtrados, más de 5.200, correspondieron a
credenciales de Google Cloud Platform (GCP), seguidas de claves de MongoDB,
tokens de bots de Telegram y claves de OpenAI.
El investigador también encontró algo más de 400 claves de GitLab filtradas en
los repositorios analizados.

Con el objetivo de una divulgación responsable y dado que los secretos
descubiertos estaban asociados a 2804 dominios únicos, Marshall recurrió a la
automatización para notificar a las partes afectadas y utilizó Claude Sonnet
3.7 con capacidad de búsqueda web y un script de Python para generar correos
electrónicos.
En el proceso, el investigador obtuvo múltiples recompensas por errores que
ascendieron a 9.000 dólares. El investigador informa que muchas organizaciones revocaron sus secretos en
respuesta a sus notificaciones. Sin embargo, un número no revelado de secretos
continúa expuesto en GitLab.
Fuente: BC

