El Secreto a Voces de GitHub: Tus Repos Eliminados y Privados no son tan Privados Como Crees

En Resumen

¿Alguna vez has hecho commit de algo que no deberías? Porque el jardín de GitHub tiene una maleza de privacidad creciendo sin control. Resulta que eliminar tus forks de GitHub o incluso repositorios enteros no borra realmente los datos. Esta jugosa información se mantiene fresca para ser recogida, accesible a cualquiera que sepa dónde buscar. Estamos hablando de claves API, información privada, el trabajo completo. Esto no es un bug, es una "feature", y está haciendo sudar a algunos. Vamos a sumergirnos en cómo funciona esto, por qué es un gran problema, y qué puedes hacer para proteger tu preciado código.

La Red de Repositorios de GitHub: Una Enredada Telaraña de Forks y Secretos

GitHub, el favorito de la colaboración open source, tiene un pequeño secreto. Gestiona los repositorios y sus forks como un árbol genealógico gigante, con el repositorio original como raíz. Suena bastante inocente, ¿verdad? Pero aquí está la trampa: cuando eliminas un repositorio público que ha sido forkeado, GitHub no se limita a eliminar todo el árbol. En cambio, simplemente reasigna la raíz a uno de los forks supervivientes. Esto significa que cualquier código commited al repositorio original, incluso después de un fork, puede ser accedido a través de cualquiera de sus forks. Sí, lo has leído bien. Eliminado no significa que haya desaparecido, sólo que… se ha reubicado.

Esto se vuelve aún más interesante con los repositorios privados. Imagina esto: Iniciaste un repo privado para un nuevo proyecto, lo forkeas para añadirle una salsa secreta que planeas monetizar, y luego liberas como open-source el repositorio original. Podrías asumir que esos commits privados se mantienen privados. Bueno, ¡sorpresa! Cualquier commit hecho al fork privado antes de que hicieras público el repositorio original sigue siendo visible. Hasta aquí llegó la salsa secreta.

Por Qué Esto Importa: Cuando el Open Source se Vuelve Demasiado Open

Las implicaciones aquí son enormes. ¿Esa clave API que accidentalmente pusiste en un commit? Sí, puede que siga por ahí, incluso si borraste el repo. ¿Esa información privada que creías guardada en un fork privado? Piénsalo de nuevo. Si alguien sabe dónde buscar, puede encontrarla. Este no es sólo un problema hipotético. Investigadores de seguridad ya han encontrado datos sensibles como claves API y claves privadas simplemente excavando en los repositorios públicos y forks de GitHub. ¿Y adivina qué? GitHub lo sabe. Incluso lo reconocen en su documentación, llamándolo una "decisión de diseño intencionada".

Ahora, antes de que agarres tus tridentes, es importante recordar que GitHub fue construido sobre los principios de la colaboración open source. Pero hay una diferencia entre la colaboración abierta y la exposición involuntaria de datos sensibles. Esta "feature" parece difuminar esa línea, y es un problema.

Lo Que Puedes Hacer: Proteger Tu Código en un Mundo de Forks Persistentes

Entonces, ¿qué debe hacer un desarrollador? Aquí tienes algunos consejos a tener en cuenta:

1. Trata los Repos Públicos Como Las Vegas: Asume Que Lo Que Pasa Allí, Allí Se Queda

Si haces commit en un repo público, considéralo público para siempre. Esto incluye los repositorios y forks eliminados. Comprueba dos y tres veces antes de enviar cualquier cosa sensible. Y si cometes un error, actúa rápido. Rota las claves API, elimina los datos sensibles y ponte en contacto con el soporte de GitHub si es necesario.

2. Los Repos Privados No Son Infalibles: Ten en Cuenta la Línea de Tiempo del Open Source

Si planeas liberar un proyecto como open source, ten en cuenta lo que haces commit en los forks privados. Cualquier commit realizado antes de que el proyecto se haga público podría quedar expuesto. Considera la posibilidad de mantener esas características supersecretas en un repositorio separado y verdaderamente privado hasta que estés listo para publicarlas.

3. GitHub, Tenemos Que Hablar: Abogar por el Cambio

Este problema no va a desaparecer por sí solo. Animemos a GitHub a reconsiderar esta decisión de diseño. Podemos empezar por concienciar, enviar feedback y abogar por controles de privacidad más estrictos. Después de todo, open source no tiene por qué significar sacrificar la seguridad.

Una Llamada de Atención para la Seguridad del Open Source

Todo este lío de GitHub es una llamada de atención para la comunidad open source. Es hora de empezar a pensar de forma diferente sobre cómo gestionamos la información sensible. No dejemos que la conveniencia del open source sea a costa de nuestra seguridad y privacidad. Así que adelante, compañeros desarrolladores, y programen con responsabilidad. Y quizás mantengan un ojo en esos forks, nunca se sabe quién podría estar acechando entre las ramas.

Fuente:

Anyone can Access Deleted and Private Repository Data on GitHub ◆ Truffle Security Co.
You can access data from deleted forks, deleted repositories and even private repositories on GitHub. And it is available forever. This is known by GitHub, and intentionally designed that way.

Comment using your social account:

You will be asked to grant read-only access to your public profile and email address only to verify your identity. We will never post to your account. Select your preferred social account to get started.
Service provided by Spectral Web Services.

  |