Noticias de seguridad e inteligencia artificial

Credenciales y claves de API filtradas · Por FireAI Security & Research Team · Publicado

Truffle Security encuentra 543,699 credenciales en repositorios públicos de GitHub que todavía funcionan

Truffle Security probó credenciales halladas en 224 millones de repositorios públicos y reporta 543,699 aún válidas, con una exposición mediana de 784 días. Qué implica para quien programa en Mac.

A key icon beside the FireAI activity mascot, illustrating Truffle Security finding 543,699 credentials in public GitHub repositories that still authenticate.

Truffle Security reporta que encontró 543,699 credenciales únicas en repositorios públicos de GitHub que todavía permitían autenticarse cuando las probó el 27 y el 28 de julio de 2026 [1]. BleepingComputer informó sobre los hallazgos el 30 de septiembre de 2026 [2]. Las credenciales contabilizadas incluyen claves de nube, cadenas de conexión a bases de datos y claves de servicios de IA [1].

Contexto

GitHub activó la protección de push para todos los usuarios en febrero de 2024, una protección que no cubre todos los formatos de credenciales [1] [2]. El análisis de Truffle Security plantea una pregunta distinta a la de un escaneo de commits nuevos: qué credenciales de un corpus público existente siguen activas y cuánto tiempo estuvieron públicas [1].

Hallazgos

El corpus abarcó 224,553,295 repositorios y 58,467,468,698 archivos del conjunto de datos The Stack v3. Truffle Security probó cada credencial candidata contra el servicio que la emitió y contabilizó las credenciales por su valor, de modo que una clave encontrada en 62 repositorios cuenta una sola vez [1]. El rastreo cubrió solo la rama predeterminada y se cerró el 7 de agosto de 2025 [1].

La antigüedad mediana de una credencial activa en un repositorio público fue de 784 días, y el percentil 90 fue de 6.3 años; la más antigua se subió en 2009 y todavía funciona [1]. Entre las credenciales activas había 69,041 cuentas de servicio de Google Cloud, 33,343 claves de API de Google y 31,374 claves de Gemini, y 51,067 cadenas de conexión de MongoDB estaban en una categoría que la protección de push no bloquea [1].

La supervivencia varió según el proveedor. De 101,886 tokens de npm subidos, 1 seguía activo, y de 73,048 tokens de GitHub subidos, 260 lo estaban; en el caso de las cadenas de conexión de Postgres, 11,465 de 12,985 estaban activas, es decir, el 88 por ciento [1]. La conclusión de Truffle Security es que lo que las distingue es si el proveedor tiene un proceso que toma un token filtrado y lo invalida [1].

Sobre la protección de push, el reporte afirma que poco menos de 200,000 de las credenciales activas se subieron después de que se activó de forma predeterminada, que el 51.8 por ciento de las credenciales activas pertenece a categorías que no reconoce, y que el grupo protegido disminuyó un 53 por ciento mientras que el grupo sin protección disminuyó un 7 por ciento [1] [2].

Implicaciones para usuarios de Mac

Los datos describen repositorios, no computadoras, y las fuentes no indican qué sistemas operativos usaban los desarrolladores. Lo relevante para un usuario de Mac es la credencial: una clave que está en un repositorio público puede usarse desde cualquier lugar, sin importar qué dispositivo la creó. La cifra de claves de Gemini es un ejemplo de claves de servicios de IA que aparecen en los mismos datos que las claves de nube [1].

La metodología también limita lo que muestran las cifras. Todo lo que se eliminó con un force push, se movió a una rama no predeterminada, o se subió y se revirtió antes de agosto de 2025 es invisible para el método, así que la cifra es un recuento de lo que se encontró, no de todo lo expuesto [1].

Recomendaciones

  1. Considera comprometida una credencial desde el momento en que se sube, la haya marcado algo o no, y primero rótala y después limpia el historial, como aconseja el reporte [1].
  2. Rota cualquier clave que se haya subido alguna vez, incluso en ramas antiguas y en repositorios que después se hicieron privados, ya que la credencial activa mediana llevaba 784 días pública [1].
  3. Prefiere credenciales que caduquen automáticamente; el resumen de BleepingComputer incluye la caducidad automática de los secretos activos entre las medidas [2].
  4. Guarda las claves en un almacén de secretos o en variables de entorno fuera del repositorio, y escanea el historial de un repositorio antes de hacerlo público.

Relevancia para FireAI

FireAI es un firewall para una Mac. Identifica una app por su firma de código o su ruta y aplica reglas por app a las conexiones que esa app abre, y la página Actividad enumera qué apps se conectaron y a dónde. Eso ayuda a ver qué programas de la Mac llaman a un servicio de nube o de IA, y a escribir una regla para que solo la app prevista llegue a él.

FireAI no escanea repositorios ni archivos en busca de credenciales, no ve lo que contiene una solicitud dentro de una conexión cifrada, y no tiene visibilidad de una clave usada desde otra computadora. No puede revocar ni rotar una clave, y no puede eliminar una credencial que ya se publicó. Revocar la clave con su proveedor es el control que corresponde a los hallazgos de este reporte.

Limitaciones

Las cifras provienen de la metodología y el conjunto de datos de Truffle Security. Las dos fuentes describen la distribución de antigüedad con palabras distintas: BleepingComputer la expresa como cerca de una décima parte de las credenciales funcionales con más de 6.3 años de antigüedad, y Truffle Security como un percentil 90 de 6.3 años [1] [2]. La fecha en que se subió un archivo es el único reloj por archivo que ofrece el corpus, así que las antigüedades son aproximadas [1].

El rastreo del conjunto de datos se cerró en agosto de 2025 y las pruebas de validez se hicieron en julio de 2026, así que algunas credenciales del recuento estuvieron expuestas durante años antes de la prueba, y el reporte no puede decir quién las usó, si alguien lo hizo [1].

Prueba FireAI, de HisnLabs gratis durante 17 días.

Fuentes

  1. Truffle Security: 543,699 credentials in public GitHub repos still work, and nobody revoked them
  2. BleepingComputer, 30 September 2026: Over 543,000 valid credentials exposed in public GitHub repositories