Un hacker desconocido obtuvo el control administrativo de Sourcegraph, un servicio basado en inteligencia artificial utilizado por desarrolladores de Uber, Reddit, Dropbox y otras empresas, y lo utilizó para proporcionar acceso gratuito a recursos que normalmente habrían requerido un pago.
En el proceso, los piratas informáticos pueden haber accedido a información personal perteneciente a los usuarios de Sourcegraph, dijo Diego Comas, jefe de seguridad de Sourcegraph, en una publicación el miércoles. Para los usuarios pagos, la información expuesta incluía claves de licencia y los nombres y direcciones de correo electrónico de los titulares de las claves de licencia. Para los usuarios que no pagaban, se limitaba a las direcciones de correo electrónico asociadas a sus cuentas. El código privado, los correos electrónicos, las contraseñas, los nombres de usuario u otra información personal eran inaccesibles.
Gratuita para todos
El pirata informático obtuvo acceso administrativo al obtener una clave de autenticación que un desarrollador de Sourcegraph incluyó accidentalmente en un código publicado en una instancia pública de Sourcegraph alojada en Sourcegraph.com. Después de crear una cuenta de usuario normal en Sourcegraph, el hacker utilizó el token para elevar los privilegios de la cuenta a los de un administrador. El token de acceso apareció en una solicitud de extracción publicada el 14 de julio, la cuenta de usuario se creó el 28 de agosto y la elevación a administrador se produjo el 30 de agosto.
«El usuario malintencionado, o alguien conectado a él, creó una aplicación proxy que permite a los usuarios llamar directamente a las API de Sourcegraph y aprovechar el LLM subyacente. [large language model]”, escribió Comas. “Los usuarios recibieron instrucciones de crear cuentas gratuitas en Sourcegraph.com, generar tokens de acceso y luego solicitar al usuario malicioso que aumentara considerablemente su límite de tasa. El 30 de agosto (2023-08-30 13:25:54 UTC), el equipo de seguridad de Sourcegraph identificó al usuario administrador del sitio malicioso, revocó su acceso e inició una investigación interna tanto para la mitigación como para los próximos pasos”.
El recurso gratuito para todos generó un aumento en las llamadas a las interfaces de programación de Sourcegraph, que normalmente tienen una tarifa limitada para las cuentas gratuitas.
«La promesa de acceso gratuito a la API de Sourcegraph impulsó a muchos a crear cuentas y comenzar a usar la aplicación proxy», escribió Comas. “La aplicación y las instrucciones sobre cómo usarla llegaron rápidamente a la web y generaron cerca de 2 millones de visitas. A medida que más usuarios descubrieron la aplicación proxy, crearon cuentas gratuitas en Sourcegraph.com, agregaron sus tokens de acceso y accedieron a las API de Sourcegraph de forma ilegítima”.
El personal de Sourcegraph finalmente identificó el aumento de actividad como “aislado e inorgánico” y comenzó a investigar la causa. Comas dijo que el análisis de código automatizado de la compañía y otros sistemas de control interno «no lograron detectar el token de acceso que se envió al repositorio». Comas no dio más detalles.
El token brindaba a los usuarios la posibilidad de ver, modificar o copiar los datos expuestos, pero Comas dijo que la investigación no concluyó si eso realmente sucedió. Si bien la mayoría de los datos estaban disponibles para todos los usuarios pagos y comunitarios, la cantidad de claves de licencia expuestas se limitó a 20.
La publicación involuntaria por parte de desarrolladores de credenciales privadas en código disponible públicamente ha sido un problema que afecta a las empresas en línea durante más de una década. Estas credenciales pueden incluir claves de cifrado privadas, contraseñas y tokens de autenticación. En la era de los repositorios de código de acceso público como GitHub, las credenciales nunca deben incluirse en las confirmaciones. En lugar de ello, deberían almacenarse únicamente en servidores restringidos.