El día que recuperé el código fuente de la empresa
Este artículo detalla la experiencia de recuperar el código fuente perdido de una empresa que estaba conectado a AWS Amplify. Al cambiar el archivo amplify.yml, fue posible enviar el código fuente a un repositorio Git durante el proceso de compilación (build). Exploremos cómo funciona Amplify, centrándonos en los aspectos de seguridad y detallando cómo se expone el código fuente en el momento de la compilación.
Como desarrolladores, nos enfrentamos a algunas dificultades a diario: una empresa se puso en contacto conmigo para ofrecerme un servicio independiente para "pequeños ajustes". Sin embargo, no tenían acceso al código fuente desarrollado por el desarrollador anterior 😅. Entonces, ¿aceptarías el proyecto? ¿Hablarías de hacerlo desde cero? ¿Intentarías recuperar el código fuente?
Escenario
El código fuente se alojó en GitHub y se alojó en AWS a través de Amplify. No tenía acceso al repositorio, pero sí al panel de AWS.
Teoría
En algún momento, el código sale de GitHub y va a AWS para ser compilado y alojado para que podamos tener acceso. ¡Hay luz al final del túnel!
¿Qué es AWS Amplify?
AWS Amplify es un conjunto de herramientas y servicios que permiten a los desarrolladores crear aplicaciones escalables y seguras en la nube. Proporciona una interfaz fácil de usar para administrar recursos de backend y frontend, incluida la autenticación, las API, el almacenamiento y el alojamiento.
Puedes comenzar con Amplify configurando un repositorio para tu código fuente.
Ten en cuenta que debes autorizar a AWS Amplify para leer tu código y escribir el archivo amplify.yml, el archivo que controlará el proceso de compilación e implementación en Amplify y que puede personalizarse para satisfacer las necesidades específicas del proyecto.
Recuperación del código fuente
Como podemos ver, el código fuente queda expuesto a AWS Amplify para que se pueda realizar el build. En otras palabras, no conectes tu repositorio a ningún lugar ni a ninguna cuenta. En este caso, el desarrollador anterior que proporcionó el servicio creía que su código era inaccesible. Sin embargo, sabemos que esto no es cierto.
Las configuraciones de build quedan en un archivo yml y se puede modificar a través del panel de AWS o a través del propio repositorio, como podemos ver en la siguiente imagen:
Como no tenía acceso al repositorio, modifiqué este archivo a través del panel de AWS al que tenía acceso la empresa e incluí un paso antes del build que enviaba todo el código a un repositorio Git vacío, manteniendo así todo el historial de cambios al código fuente.
Con esto, descubrimos que el desarrollador estaba subcontratando el servicio a otro 🤡.
Estén atentos a las posibilidades, comprendan el funcionamiento y el concepto de las herramientas para utilizarlas de la mejor manera y salir de problemas como éste, siempre de forma ética.
¡Hasta luego!
Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.