3 puan yazan GN⁺ 2025-03-16 | 2 yorum | WhatsApp'ta paylaş
  • Her branch’teki değişiklikleri izlemek için kullanılan popüler bir GitHub Action’da, ele geçirilmiş bir commit üzerinden CI/CD secret’larını sızdırma girişimi yaşandı
  • 23.000 repo etkilendi; GitHub bu action’ı kaldırdı ve artık kullanılamıyor
  • Alternatif bir action ile değiştirin ve herkese açık workflow loglarında secret’ların açığa çıkmış olma ihtimali bulunduğundan kontrol edip anahtar rotasyonu mutlaka yapın
  • StepSecurity’nin Harden-Runner aracı olayı tespit etti; güvenliği güçlendirilmiş alternatif action olan step-security/changed-files ücretsiz olarak sunuluyor

Olay özeti

  • tj-actions/changed-files, 23.000’den fazla depoda kullanılıyor ve ele geçirildi
    • Saldırganlar action kodunu değiştirdi ve sürüm etiketlerini kötü amaçlı bir commit’e yeniden yönlendirdi
    • Bunun sonucunda GitHub Actions build loglarına CI/CD secret’ları yazdırıldı
  • Herkese açık workflow loglarında secret’ların açığa çıkmış olma ihtimali var
  • Harden-Runner, beklenmeyen bir endpoint tespit ettikten sonra sorunu buldu
  • Kötü amaçlı Python script’i, Runner Worker sürecinden secret’ları dump edecek şekilde çalıştı
  • Tüm etiketler aynı kötü amaçlı commit hash’ine (0e58ed8671d6b60d0890c21b07f8835ace038e67) işaret edecek şekilde ayarlandı

GitHub’un müdahalesi

  • GitHub, tj-actions/changed-files action’ını kaldırdı ve kullanımını durdurdu
  • Resmî CVE kaydı CVE-2025-30066 olarak yayımlandı

Nasıl toparlanılır

  • 1. StepSecurity tarafından sağlanan güvenli alternatif action’ı kullanın

    • tj-actions/changed-files action’ını step-security/changed-files@v45 ile değiştirin
  • 2. Tüm tj-actions/changed-files referanslarını kaldırın

    • Kod tabanında tj-actions/changed-files referanslarını arayıp kaldırın:
      git grep -l "tj-actions/changed-files"  
      
  • 3. GitHub Actions workflow çalıştırma loglarını denetleyin

    • Son çalıştırma loglarında secret sızıntısı olup olmadığını kontrol etmek gerekiyor
    • Sızdırılmış secret bulunursa hemen rotasyon (sıfırlama) yapın
  • 4. GitHub Actions izinli liste ayarı yapın

  • Yalnızca güvenilir GitHub Actions’ların çalışmasına izin verecek şekilde allowlist yapılandırın:
    • GitHub ayarlarında şu bölümden yapılandırabilirsiniz:
      • Settings → Actions → Allow select actions
  • 5. StepSecurity Harden-Runner’ı yapılandırın

    • Harden-Runner üzerinden ağ trafiği ve workflow yürütmelerinin izlenmesi yapılandırılabilir

Sonraki adımlar

  • Sorun GitHub’a bildirildi → GitHub issue: #2463
  • tj-actions/changed-files deposu silindi
  • CVE-2025-30066 olarak resmî kayda geçti
  • Benzer güvenlik sorunları, StepSecurity Harden-Runner ile tespit edilip önlenebilir
  • Güvenlik durumunu güçlendirmek ve gerçek zamanlı izleme yapmak için Harden-Runner kurulumu öneriliyor

2 yorum

 
dl57934 2025-03-16

Dün gece çalışmıyordu ama şimdi yine düzelmiş görünüyor

 
GN⁺ 2025-03-16
Hacker News görüşleri
  • Renovate'in yazarı ve bakımcısı saldırı senaryosunu açıklıyor

    • Saldırgan, tj-actions/changed-files deposunda yazma yetkisine sahipti
    • Saldırgan, yakın tarihli commit'i gizlemek için Renovate commit'ini spoof etti
    • Bu spoof işlemi PR'leri kandırmak için değil, yalnızca kafa karışıklığı yaratmak içindi
    • Commit, Unverified olarak işaretlendi ve çoğu kişi yalnızca imzalı commit'leri zorunlu kılmıyor
    • Gerçek Renovate Bot, bağımlılıkları güncellemek için PR öneriyor
    • Bazı kişiler otomatik birleştirmeyi etkinleştirdi, ancak bu varsayılan ayar değil
    • Bu olay, birçok kişinin git etiketlerinin değişmez olduğunu yanlış düşündüğünü hatırlatıyor
  • Son yıllarda üçüncü taraf bağımlılıklara ve eklentilere duyulan güven azalıyor

    • npm paketinin çok fazla bağımlılığı varsa kurulmuyor
    • vscode veya chrome eklentileri kurul miyor
    • Kötü amaçlı kod eklenmesi veya lisansın değiştirilmesi sık görülüyor
    • eslint'in bağımlılık ağacına bakınca her şeye güvenilip güvenilemeyeceği sorgulanıyor
  • Depo yeniden çevrimiçi oldu ve geliştirici bir açıklama yaptı

    • Saldırı, @tj-actions-bot hesabının PAT token'ından kaynaklandı
    • Hesap güvenliği güçlendirildi ve GitHub, ele geçirilen PAT'yi iptal etti
  • Clickhouse üzerinde github_events incelenerek saldırıda kullanılan hesap doğrulandı

    • "2ft2dKo28UazTZ", "mmvojwip" hesapları şüpheli görünüyor
  • CI/CD çalıştırma yönteminin GitHub'daki rastgele depoları listelemeye dayanması şok edici

    • LLM'lerin artışıyla sorun daha da ciddileşiyor
    • Kritik işler manuel olarak yürütülmeli
  • StepSecurity'nin kurucu ortaklarından biri güvenlik olayını nasıl tespit ettiğini açıklıyor

    • Harden-Runner, GitHub Actions iş akışlarının ağ çağrılarını izleyerek anormallikleri tespit etti
  • GitHub Actions'ın varsayılan kullanım biçiminde değişmez olmayan git etiketlerinin kullanılması sorun yaratıyor

    • SHA-1 hashing algoritması çakışmalara yol açabileceği için SHA-256 desteği gerekiyor
  • Değişmez GitHub Actions kullanıma sunulacak

    • Actions'ları fork etmek veya commit hash'i kullanmak gerekiyor
  • maven-lockfile projesi otomatik birleştirilen PR'yi açıklıyor

    • Gerçek Renovate Bot, sahte Renovate Bot'un commit'ini otomatik olarak birleştirdi
  • GitHub Actions, bağımlılıklar için lockfile kullanmalı

    • Semver gösterimi, sorunu çözmek için iyi bir çözüm