Selamlar,
LiteLLM tedarik zinciri saldırısında saldırganın elinde üç geliştiriciye ait GitHub CLI OAuth token'ı vardı. Bunlardan biri organizasyon sahibi yetkisindeydi; branch koruması bu token ile aşıldı. Bu yazıda GitHub CLI'nin resmi gh auth status komutunu kullanarak kendi makinelerinizdeki token durumunu nasıl kontrol edeceğinizi anlatıyorum.
Konuda anlatılacaklar
- gh auth status ne gösterir?
- JSON çıktısı ve otomasyon
- Token hijyeni için pratik kurallar
- Sızma şüphesinde yapılacaklar
gh auth status
Resmi kılavuza göre komut, bilinen her GitHub host'unda aktif hesabı ve kimlik doğrulama durumunu gösterir. Her hesap için durum test edilir; sorunlar çıktıya eklenir. Süresi dolmuş veya dolmak üzere olan ve yenilenebilen token'lar, --no-refresh verilmedikçe otomatik yenilenir. Herhangi bir hesapta kimlik doğrulama sorunu varsa komut çıkış kodu 1 ile biter (JSON modu hariç).
# Tum host ve hesaplar
gh auth status
# Yalnizca aktif hesap
gh auth status --active
# Belirli host
gh auth status --hostname github.com
# JSON (otomasyon icin); token'i da eklemek icin --show-token
gh auth status --json hosts
# DIKKAT: --show-token token'i duz metin basar; ekran paylasiminda kullanmayinNe aramalısınız?
- Beklemediğiniz ekstra hesaplar veya host'lar
- Organizasyon sahibi / admin yetkili hesapların geliştirici laptop'larında uzun süre durması
- CI dışında kişisel makinelerde duran yüksek yetkili token'lar
- Eski, kullanılmayan host girişleri
Pratik hijyen kuralları
- Yüksek yetkili (org owner) hesaplarla günlük geliştirme yapmayın; ayrı bir "günlük" hesap kullanın.
- gh auth logout ile kullanılmayan girişleri kapatın; github.com/settings/applications üzerinden yetkilendirilmiş OAuth uygulamalarını gözden geçirin.
- Token'ların YZ asistanı yanıtlarına veya loglara düşebileceğini varsayın (LiteLLM'in olay sonrası değerlendirmesi tam da bunu işaret ediyor). Loglarda Authorization / gho_ / ghp_ araması yapın.
- CI için fine-grained veya environment-scoped token kullanın; laptop OAuth token'ını CI'ya taşımayın.
# Basit periyodik kontrol (kendi makineniz)
gh auth status --active 2>&1 | tee ~/gh-auth-check-$(date +%F).log
# Beklenmeyen hesap varsa alarm (ornek)
gh auth status --json hosts --jq '.hosts[].accounts[].username' |
grep -vE '^(sizin_beklenen_kullanici)$' && echo "beklenmeyen hesap" || trueOrganizasyonunuzda org owner hesabıyla günlük commit atan var mı? Ayrı günlük hesap politikası uyguluyor musunuz?
Yasal uyarı
Bu yazı bilgilendirme ve savunma amaçlıdır. Anlatılan kontrolleri yalnızca kendi sistemlerinizde veya yazılı izinle yapın. İzinsiz erişim, tarama ve sömürü girişimleri TCK 243-245 kapsamında suçtur. TurkTeam white-hat bir topluluktur; çalıntı veri, hesap, combo/log paylaşımı ve hack hizmeti talepleri forum kurallarına aykırıdır.
Kaynaklar