Ders 3.7: Zehirlenmiş bir GitHub Action ve sızan CI sırları
CI hatları dağıtım anahtarlarına ve belirteçlere erişimi olan üçüncü taraf kodu çalıştırır. 14–15 Mart 2025'te saldırganlar, on binlerce depo tarafından kullanılan tj-actions/changed-files eyleminin sürüm etiketlerini, çalıştırıcının sırlarını iki kez base64 ile kodlanmış olarak iş günlüğüne yazdıran zararlı koda yönlendirdi (CVE-2025-30066). Eyleme etiketle başvuran her iş akışı onu çalıştırdı; herkese açık depolarda günlükleri herkes okuyabiliyordu. Laboratuvarda Northwind'in onu kullanan iş akışlarını, penceredeki çalıştırmaları, herkese açık bir günlükte sızan değeri ve hâlâ taşınabilir bir etiketle başvurulan diğer her eylemi buluyorsun.
17 dk
Bu derste öğreneceklerin
- Eylemlere etiketle başvurmanın neden riskli olduğunu açıklamak
- Ele geçirilmiş bir eylemi kullanan iş akışlarını bulmak
- Bir maruz kalma penceresindeki CI çalıştırmalarını seçmek
- Günlüklerde sızan sırları tanımak ve çözmek
- Eylemleri tam commit SHA'larına sabitlemek
Temel terimler
- GitHub Action
- Bir GitHub iş akışında, çoğu zaman üçüncü bir tarafça bakımı yapılan yeniden kullanılabilir adım.
- Etiket ve commit SHA
- Bir etiket (v45) başka bir commit'e taşınabilir; tam bir SHA her zaman aynı kod demektir.
- Çalıştırıcı (runner)
- Bir iş akışı işini, sırları bellekte olarak yürüten makine.
- Sır maskeleme
- CI bilinen sır değerlerini günlüklerde *** ile değiştirir; onları kodlamak bunu boşa çıkarır.
- Maruz kalma penceresi
- Zararlı sürümün sunulduğu dönem.
← Zarf şifreleme ve anahtar döndürme · Tüm dersler · Tehdit aktörleri ve motivasyonları →