Las aplicaciones que usan nombres de repositorios antiguos en GitHub como dependencias podrían estar llevando a los usuarios al malware. Esto es lo que necesita saber.
Cada vez es más evidente que el secuestro de GitHub representa un riesgo legítimo para los desarrolladores. Los piratas informáticos pueden aprovecharse de que los usuarios y las empresas cambien sus nombres de GitHub secuestrando un repositorio antiguo nombres con la esperanza de que los archivos maliciosos que agregan puedan ser obtenidos por aplicaciones que usan el código como un dependencia.
Entonces, es importante que tome medidas para proteger su propio proyecto de GitHub si recientemente cambió su nombre de usuario o hace referencia a otros repositorios como dependencias.
¿Qué es el RepoJacking?
El rebloqueo de GitHub es un tipo de explotación que puede tener lugar después de que el propietario de un repositorio cambie su nombre de usuario. La antigua combinación de nombre de usuario y nombre de repositorio está disponible, y un repjacker puede aprovechar sus dependencias al reclamar el nombre de usuario y
creando un repositorio con el mismo nombre.El secuestro puede plantear dos tipos distintos de riesgo:
- El rejacking puede hacer que una aplicación que de otro modo sería confiable no sea confiable. Si usa una aplicación que usa un repositorio de GitHub como dependencia y el propietario cambia el nombre del repositorio, usar la aplicación lo dejará vulnerable.
- El rejacking puede poner en riesgo una aplicación que está desarrollando. Si hace referencia a un repositorio de GitHub como una dependencia y no lo nota o no lo actualiza cuando se cambia el nombre del repositorio, su aplicación será vulnerable a las vulnerabilidades de secuestro.
El rejacking no representa un riesgo tremendo para los usuarios, pero existe una razón legítima para creer que podría servir como mecanismo para un ataque grave a la cadena de suministro. Si una aplicación tiene una dependencia que hace referencia a un repositorio reconquistado, solicitará y recibirá código de los reconquistadores que puede contener malware.
Si desarrollas en GitHub, saber cómo puedes minimizar el riesgo de ataques a la cadena de suministro y el rejacking, tanto en términos de ser el repositorio secuestrado como de ser un tercero con dependencias, es vital.
Cómo minimizar el riesgo de repojacking
Los ataques de rebloqueo se basan en un mecanismo extremadamente predecible: los secuestradores toman el control de un repositorio no reclamado y luego se aprovechan de cualquier aplicación que haga referencia a él como una dependencia. Por suerte, esto hace que el secuestro sea fácil de combatir.
Crear Clones Privados de Repositorios
Clonar un repositorio es una excelente manera de minimizar el riesgo asociado con las dependencias en su proyecto porque tendrá control absoluto sobre su copia privada. Puede crear una copia privada de un repositorio público mediante la clonación simple y la duplicación, como se documenta en GitHub.
Realice un seguimiento de las dependencias de su proyecto con cuidado
Si decide que prefiere evitar el problema y hacer referencia a repositorios públicos, debe asegurarse de auditar las dependencias de su proyecto con frecuencia. Comprobar el estado de sus dependencias varias veces al año le llevará menos de una hora como máximo y le ahorrará mucho estrés.
Reconsidere cambiar el nombre de su cuenta
Idealmente, mantener su nombre de usuario actualizado no sería motivo de preocupación. Sin embargo, dado el riesgo de un nuevo secuestro, debe considerar mantener su nombre desactualizado. Si debe cambiar su nombre de usuario, debe reclamar y reservar el nombre anterior registrando otra cuenta.
Use los recursos externos sabiamente
Las dependencias representan un riesgo inherente porque crean puntos de acceso de terceros en su aplicación. Si bien por lo general valen la pena el tiempo que ahorran, es crucial auditar periódicamente las dependencias de su proyecto. También debe tomar otras medidas de seguridad, como usar la autenticación SSH, para evitar vulnerabilidades.