Tengo traccia degli Actions secrets di GitHub all’interno di uno dei miei database 1Password, eppure uno era sfuggito al mio salvataggio, evidentemente ritenuto “poco utile“. Per questo motivo ho voluto capire se potessi portare fuori da GitHub quel valore, il tutto senza però scriverlo da nessuna parte per evitare che ne rimanesse traccia all’interno del repository. Una via l’ho trovata e l’ho sperimentata con successo, serve semplicemente mettere in piedi un ulteriore file YAML (quindi una GitHub Action) da far girare, connettendoti poi a una shell Linux dove poter leggere ciò che ti serve. Ti spiego rapidamente come fare.
Amnesia.yml
L’ho chiamato così il file dell’azione GitHub che ho messo in piedi e fatto girare. Il codice è tutto frutto del lavoro di Danny Ben Shitrit che mi sono limitato semplicemente ad adattare alla mia specifica esigenza. Qui di seguito trovi il codice, subito dopo ti spiego cosa dovrai modificare tu nel tuo repository GitHub per arrivare allo stesso risultato:
name: Amnesia on: workflow_dispatch: jobs: debug: name: Debug runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v2 - name: Set up secret file env: SECRET_TEST: ${{ secrets.SECRET_TEST}} run: | echo $SECRET_TEST >> secrets.txt - name: Run tmate uses: mxschmitt/action-tmate@v2
Il codice qui sopra si baserà su un unico valore segreto da recuperare (SECRET_TEST
):
Inutile dire che ti basterà duplicare la riga che riporta quel parametro al suo interno per poter portare fuori ulteriori chiavi segrete di cui necessiti. Lo script YAML fa uso di tmate, un’azione che si propone come strumento di debug per le tue GitHub Actions via SSH, il funzionamento è tanto semplice quanto geniale e viene descritto all’interno della pagina web ufficiale che trovi all’indirizzo mxschmitt.github.io/action-tmate.
Facendo girare Amnesia manualmente, ti ritroverai a un certo punto a vedere un indirizzo al quale ti potrai connettere via SSH (c’è anche una versione accessibile via web che però reputo meno comoda):
Collegati (Terminale su Linux o macOS, Putty su Windows), premi su tastiera CTRL + C
per uscire dalla finestra di Welcome (dove vengono raccolte alcune informazioni sulla sessione) e dai una sbirciata al file secrets.txt
che hai creato all’interno dell’azione GitHub:
Uno strumento che non conoscevo ma che è davvero ben fatto e alla portata di chiunque per poter tornare in possesso di una chiave segreta non tenuta correttamente da parte! :-)
#StaySafe
Ringraziamenti: stackoverflow.com/a/63009069/2220346
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)