EN: Read in English
Dunia C4: Perisai Pipeline
Kisah tj-actions
Anda akan belajar: bagaimana tag yang dialihkan membocorkan secret dari beribu pipeline pada Mac 2025.
Teks BM belum disemak oleh penutur asli.
Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026
Masalahnya
Anda guna action popular pada @v45. Anda tak pernah sentuh baris itu. Boleh kod yang ia jalankan masih berubah?
Pilih satu jawapan.
Tengok
Ketik setiap titik pada garis masa.
Tekan setiap titik serangan sebenar ini. Beribu pipeline jalankan kod jahat. Tiada siapa ubah fail workflow mereka sendiri.
Tengok
Tekan baris log yang masih bocorkan secret.
0 daripada 1 dijumpai
GitHub sembunyikan secret yang tepat sebagai ***. Kod jahat ubah setiap secret dulu: dikod dua kali. Teks yang berubah terlepas. Dalam repo awam, sesiapa boleh baca log ini. (Log ini contoh.)
Cuba
Susun serangan ini ikut urutan. Langkah pertama di atas.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Kod jahat cetak secret ke dalam log
- Sesiapa sahaja baca log awam itu
- Mereka alih tag versi ke commit jahat
- Penyerang dapat akses tulis ke repo action itu
- Pipeline jalankan
@v45dan dapat commit jahat
Cuba
Tag ikut sesiapa yang mengalihnya. SHA commit penuh tak boleh dialih.
Tekan setiap baris yang jalankan kod jahat pada 14 Mac.
0 daripada 2 dijumpai
Petunjuk
Tag yang nampak tepat tetap tag.Teka
Repo awam anda jalankannya pada 14 Mac. Apa anda buat dulu?
Pilih satu jawapan.
Semak
Apa setiap pasukan patut belajar daripada ini? Leret setiap pengajaran.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Pin action pihak ketiga pada SHA commit penuh
Anda berjaya!
Kini anda boleh terangkan bagaimana tag yang dialih membocorkan secret dari beribu pipeline.
Nak tahu lebih (pilihan)
Beberapa hari sebelum itu, reviewdog/action-setup juga digodam. Penyelidik rasa dua serangan ini berkait. Ingat: pin SHA hanya membantu jika ia tunjuk ke commit yang baik. Pin pada commit jahat itu sendiri tak membantu. Baca nasihat GitHub dan tulisan Semgrep (pautan di bawah).
English
You use a popular action at @v45. You never touch that line. Can the code it runs still change?
Tap through a real attack. Thousands of pipelines ran bad code. Nobody had changed their own workflow file.
GitHub hides an exact secret as ***. The bad code changed each secret first: encoded twice. Changed text slips past. On public repos, anyone could read these logs. (This log is an example.)
Put the attack in order. First step at the top.
Tags follow whoever moves them. A full commit SHA cannot move.
Your public repo ran it on 14 March. What do you do first?
What should every team learn from this? Swipe each lesson.
You can now explain how moved tags leaked secrets from thousands of pipelines.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: GitHub advisory GHSA-mrrh-fwg8-r2c3 (CVE-2025-30066) · Semgrep: tj-actions/changed-files is compromised · Secure use: using third-party actions
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?