Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

78
Views
¿Está bien usar GitHub Secrets con un repositorio público?

Tengo un repositorio privado con una acción de GitHub que envía el código a un depósito de AWS S3 cuando hay un nuevo envío a la rama principal. Necesito un par de claves de acceso para poder enviar los contenidos y los almaceno como GitHub Secrets y hago referencia a ellos como variables de entorno en el script de compilación. Ahora me gustaría hacer público este repositorio en un futuro cercano, y me preguntaba si es algo seguro de hacer. El flujo de trabajo (.github/workflows/main.yml) en sí mismo para la acción es de hecho visible públicamente y lo que hace, pero solo tiene el comando único aws s3 cp myfile s3://my-bucket y absolutamente ninguna clave de acceso en el código en sí.

¿Es seguro usar GitHub Secrets para las acciones en un repositorio público? Soy el único propietario y el único contribuyente, esto no cambiará en el futuro. Es posible que cambie a CodePipeline con un webhook más tarde, pero primero quería probar GitHub Actions. Gracias.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Sí, los secretos son seguros para usar en repositorios públicos, pero hay algunas cosas con las que debe tener cuidado.

  • Todos los secretos se enmascaran automáticamente en los registros de compilación y se muestran como *** . Sin embargo, si durante su flujo de trabajo crea una credencial confidencial a partir de un secreto (por ejemplo, base64 una clave API), entonces debe enmascarar el nuevo valor para que no se filtre en el registro de compilación.

     echo "::add-mask::My sensitive value"
  • Si está muy preocupado por la seguridad de sus secretos, también le sugiero que no use acciones de GitHub de terceros directamente siguiendo las etiquetas o ramas de la acción. Bifurque la acción y use su bifurcación en los flujos de trabajo. Esto evitará la posibilidad de que alguien modifique una acción que está utilizando para capturar los secretos que utiliza la acción y enviarlos a algún servidor externo bajo su control.

    Alternativamente, use la acción directamente y haga referencia al hash de confirmación para la versión a la que desea apuntar.

     - uses: thirdparty/foo-action@172ec762f2ac8e050062398456fccd30444f8f30
  • Utilice la autenticación de dos factores (2FA) en su cuenta. Si su cuenta está comprometida, es trivial que un atacante cree un flujo de trabajo y exporte sus secretos.

  • Los colaboradores del repositorio o cualquier usuario de la organización con acceso de write pueden crear un flujo de trabajo para exportar secretos. Así que administre el acceso a su repositorio con cuidado.

Puntos relacionados con las solicitudes de extracción:

  • Los eventos pull_request del repositorio público activados por bifurcaciones no tienen acceso a los secretos, excepto por el GITHUB_TOKEN predeterminado . Además, GITHUB_TOKEN tiene acceso de solo lectura cuando un repositorio bifurcado desencadena un evento . Estas son restricciones intencionales aplicadas por GitHub Actions para evitar que un atacante cree una solicitud de extracción que contenga un flujo de trabajo que capture secretos o use secretos para realizar operaciones.
  • El evento pull_request_target no tiene restricciones secretas para eventos activados por bifurcaciones. De forma predeterminada, verifica la última confirmación en la rama base, pero es posible verificar la solicitud de extracción HEAD. La elección de hacer esto requiere extrema precaución. Pasar secretos a cualquier código que pueda modificarse en una solicitud de extracción podría permitir que un atacante escriba código para exportar secretos.
over 4 years ago · Santiago Trujillo Report

0

Sí, parece que sí. Según Github , tiene políticas de control de acceso a nivel de organización para quién puede acceder a sus secretos.

Para los secretos almacenados a nivel de organización, puede usar políticas de acceso para controlar qué repositorios pueden usar secretos de organización. Los secretos a nivel de organización le permiten compartir secretos entre varios repositorios, lo que reduce la necesidad de crear secretos duplicados. Actualizar un secreto de organización en una ubicación también garantiza que el cambio surta efecto en todos los flujos de trabajo del repositorio que usan ese secreto.

Que el repositorio sea público o privado no afecta esto, y eso tiene sentido. Los proyectos públicos también necesitan secretos.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!