Genel Bakış
Yakın zamanda OpenAI, GitHub Actions iş akışlarına sızan kötü amaçlı bir Axios paketi nedeniyle macOS kod imzalama sertifikalarının güvenliğinin tehlikeye girdiğini duyurdu. Bu olay, modern yazılım geliştirme süreçlerinde kullanılan üçüncü taraf bağımlılıkların (dependency) ne kadar kritik bir güvenlik riski oluşturabileceğini göstermektedir. Bu makale, benzer bir saldırı durumunda sertifika rotasyonunun nasıl yapılacağını ve geliştirme süreçlerinin nasıl korunacağını açıklamaktadır.
Sorun Tanımı
Saldırganlar, popüler bir JavaScript kütüphanesi olan Axios'un kötü amaçlı bir sürümünü kullanarak CI/CD süreçlerine sızmışlardır. Bu süreçte kullanılan macOS kod imzalama sertifikaları, saldırganlar tarafından ele geçirilmiş veya manipüle edilmiş olabilir. Güvenli bir ortam için, tehlikeye giren sertifikaların derhal iptal edilmesi ve yenilenmesi gerekmektedir.
Çözüm Adımları
- Etkilenen Sertifikaları Belirleyin: Apple Developer portalı üzerinden etkilenen tüm sertifikaları listeleyin.
- Sertifikaları İptal Edin (Revoke): Apple Developer portalında ilgili sertifikaları seçerek 'Revoke' işlemini gerçekleştirin.
- Yeni Sertifika Oluşturun: Yeni bir Certificate Signing Request (CSR) oluşturarak yeni sertifikalar talep edin.
- CI/CD Pipeline Güncellemesi: GitHub Secrets veya diğer kasa (vault) sistemlerinde saklanan eski sertifikaları silin ve yenilerini güvenli bir şekilde yükleyin.
Komutlar
Yeni bir sertifika isteği oluşturmak için aşağıdaki OpenSSL komutlarını kullanabilirsiniz:
# Yeni bir anahtar ve CSR oluşturma
openssl req -new -newkey rsa:2048 -nodes -keyout developer.key -out developer.csr
# Mevcut sertifikaları listeleme (macOS Keychain)
security find-identity -v -p codesigning
Uyarı: Sertifika rotasyonu sırasında eski sertifikalarla imzalanmış tüm uygulamaların yeniden imzalanması gerekecektir. Aksi takdirde, macOS Gatekeeper bu uygulamaları reddedecektir.
En İyi Uygulamalar
Tedarik zinciri saldırılarını önlemek için bağımlılıkları sabitleyin (lockfile kullanımı) ve GitHub Actions'da 'hash' doğrulaması yapın. Bağımlılıklarınızı düzenli olarak tarayın ve şüpheli paket güncellemelerine karşı dikkatli olun.



