EN: Read in English
Dunia C4: Perisai Pipeline
Secret dalam log
Anda akan belajar: cara GitHub sembunyikan secret dalam log, di mana ia gagal, dan apa perlu buat bila bocor.
Teks BM belum disemak oleh penutur asli.
Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026
Masalahnya
Deploy anda gagal. Untuk nyahpepijat, anda cetak token dalam satu langkah. Repo anda awam. Siapa boleh baca log itu?
Pilih satu jawapan.
Tengok
Pilih satu event. Tekan Run dan tengok tali sawat.
Talian deploy. Satu langkah cetak token. Lognya tunjuk Using token ***.
Fail workflow .github/workflows/deploy.yml
name: Deploy on: push: branches: [main] permissions: contents: read jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - run: npm ci - run: echo "Using token ${{ secrets.CLOUDFLARE_API_TOKEN }}" - run: npx wrangler deploy env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
Tali sawat
Push ke main · main
Jalankannya, kemudian tekan stesen echo untuk baca lognya. GitHub tukar token itu kepada ***. Ini masking: Hitamkan secret dalam buku log: GitHub tunjuk *** dan bukan teks secret yang tepat. (penutupan): pen hitam dalam buku log.
Tengok
Penutup hanya cari teks secret yang tepat. Ubah teks itu, dan ia terlepas. Tersembunyi, atau bocor?
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Satu langkah cetak $TOKEN seadanya
Cuba
Buat nilai rahsia baharu dalam satu langkah? Tutup ia sendiri, sebelum apa-apa mencetaknya.
Tekan baris yang suruh GitHub sembunyikan nilai baharu itu.
0 daripada 1 dijumpai
Teka
Token sebenar muncul dalam log awam, tanpa ditutup. Apa anda buat dulu?
Pilih satu jawapan.
Semak
Bersihkan selepas bocor. Susun langkah ikut urutan.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Buang baris yang mencetaknya
- Simpan nilai baharu sebagai secret repo
- Batalkan secret yang bocor dan buat yang baharu
- Padam log run itu
Anda berjaya!
Kini anda boleh jauhkan secret daripada log, dan bersihkan bila satu terlepas.
Nak tahu lebih (pilihan)
Serangan tj-actions cetak secret yang dikod dua kali, jadi penutup terlepas. Juga: jangan hantar secret pada baris arahan. Program lain pada runner boleh nampak. Hantar melalui env:. Tersekat nanti? Pusat Bantuan ada aliran “secret terpapar dalam log”.
English
Your deploy fails. To debug it, you print the token in a step. Your repo is public. Who can read that log?
Run it, then tap the echo station to read its log. GitHub swapped the token for ***. This is masking: a black marker in the logbook.
The mask only finds the exact secret text. Change the text, and it slips past. Hidden, or leaked?
Made a new secret value in a step? Mask it yourself, before anything prints it.
A real token shows up in a public log, not masked. What do you do first?
Clean up after the leak. Put the steps in order.
You can now keep secrets out of logs, and clean up leaks.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Workflow commands: masking a value · Secure use: using secrets
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?