Python Dili ve PyPI İçin Büyük Bir Güvenlik Riski
JFrog güvenlik araştırmacıları tarafından Python dilinin, PyPI paket sunucusunun ve Python Yazılım Vakfı’nın (PSF) GitHub depolarına yükseltilmiş erişim sağlayabilecek bir GitHub kişisel erişim belirteci sızdığını keşfettiğini bildirdi. Belirteci bulan JFrog, sızıntının Docker Hub’da barındırılan bir Docker konteynerinde kamuoyuna açık şekilde gerçekleştiğini söyledi.
Nasıl Fark Edildi?
JFrog şirketi, güvenlik araştırmaları yaparken GitHub’da konaklanan ve Docker Hub üzerinden erişime açık olan bir Docker konteynerinde GitHub kişisel erişim belirtesi buldu. Konteyner içerisindeki bir Python dosyasında (.pyc uzantılı) gizli anahtarın saklandığı fark edildi.
Belirtecin PyPI yönetim hesabına ait bir GitHub hesabına ait olduğu anlaşıldı. Konteynerdeki bu dosyanın normal şartlarda silinmesi gerekiyorken yanlışlıkla silinmediği ve böylece belirtecin sızdığı değerlendirildi.
Önemli Bir Soruşturma
JFrog, belirtecin kaynağını araştırdı. Belirtecin PyPI yönetim hesabına ait bir GitHub hesabına ait olduğu anlaşıldı. Soruşturma sonucunda belirtecin PyPI yönetim ekibinden Edd Durbin tarafından 2023 yılının Mart ayı öncesinde oluşturulduğu ve nasıl sızdığı belirlendi.
Edd Durbin, belirteci yerel olarak geliştirme yaparken GitHub API sınırlamalarıyla karşılaşınca kendi erişim belirtesini kullanmak yerine GitHub Uygulaması kurmaya üşendiğini, ancak bu değişikliklerin uzak sunucuya aktarılmaması gerektiğini açıkladı.
Dersler
Bu olay bizlere önemli dersler verdi. Öncelikle kişisel verilerin (erişim belirteçleri, parolalar vs.) herkese açık kaynak kod yönetim sistemlerinde saklanmaması gerektiğini hatırlattı.
Ayrıca geliştiriciler, yerel test amaçlı kullandıkları verilerin (belirteç, parola) üretim ortamına da aktarılmamasına özen göstermeli. Her değişikliğin saklı kalması gereken yerlerde kalması önem taşımaktadır.
Son olarak bu gibi önemli sızıntılar birçok kişi ve kuruma zarar verebilir. Sorumluluğumuz gereği bu tür verileri en üst düzeyde koruyup gizli tutmalıyız.