Otomatik güvenlik

Tamamlandı

Burada, GitHub depo yöneticileri tarafından kullanılabilen bir depodaki güvenlik denetimlerini otomatikleştirmenin bazı yollarını ele alıyoruz.

Güvenlik açıklarıyla güncel olmayan bağımlılıkları algılama ve düzeltme

Günümüzde neredeyse her projenin dış paketlere bağımlılığı vardır. Bu bileşenler üretkenlik açısından önemli avantajlar sunsa da diğer güvenlik risklerine neden olabilir. Özellikle her bağımlılığın izlenmesi ve korunması zor olabilecek kendi bağımlılıkları olduğu göz önünde bulundurulduğunda, bu paketlerin ve güvenlik açığı durumlarının en üst düzeye çıkmaları zaman alabilir. Neyse ki GitHub bu iş yükünü azaltan özellikler sağlar.

Depo bağımlılığı grafları

Her deponun içerdiği varsayılan bir özellik bağımlılık grafikleridir. GitHub, package.json, requirements.txt vb. gibi genel paket bildirimlerini tarar. Bu grafikler, proje sahiplerinin projelerinin bağımlı olduğu tüm bağımlılıkları özyinelemeli olarak izlemesine olanak sağlar.

GitHub bağımlılık grafiğinin ekran görüntüsü.

Desteklenen bağımlılık bildirimlerinin listesi için bkz . Bağımlılık grafiği hakkında.

Dependabot uyarıları

Görsel bağımlılık grafıyla bile, bir projenin sahip olduğu her bağımlılık için güvenlikle ilgili dikkat edilmesi gereken en güncel noktaları takip etmek zorlayıcı olabilir. GitHub, bu ek yükü azaltmak için bağımlılık graflarınızı sizin için izleyen Dependabot uyarıları sağlar. Daha sonra, bilinen güvenlik açığı listelerindeki sürümlerle hedef sürümlerin çapraz başvurusunu yapar. Bir risk keşfedildiğinde projeye uyarı gönderilir. Analiz için giriş GitHub Güvenlik Danışmanları'ndan gelir.

Güvenlik açığı olan bağımlılıklar için Dependabot uyarılarının ekran görüntüsü.

Dependabot ile otomatikleştirilmiş bağımlılık güncelleştirmeleri

Bağımlılık uyarısı, proje katılımcısının sorunlu paket başvurularını önerilen sürüme çarpmasına ve doğrulama için bir çekme isteği oluşturmasına neden olabilir. Bu eforu otomatikleştirmenin bir yolu olsa mükemmel olmaz mıydı? O halde güzel bir haberimiz var! Dependabot bunu yapar. Bağımlılık uyarılarını tarar ve katkıda bulunanın isteği doğrulayabilmesi ve isteği birleştirebilmesi için çekme istekleri oluşturur.

Dependabot'un esnekliği hakkında daha fazla bilgi edinmek için bkz . Dependabot güvenlik güncelleştirmelerini yapılandırma.

Otomatik kod taraması

Dependabot’un bağımlılık uyarıları için deponuzu taramasına benzer biçimde, GitHub deposundaki kodun güvenlik açıklarını ve hatalarını analiz etmek ve bulmak için kod taramasını kullanabilirsiniz. Kod taramanın çeşitli avantajları vardır. Mevcut sorunları veya olası güvenlik açıklarını bulmak, önceliklendirmek ve düzeltmeleri önceliklendirmek için kullanabilirsiniz. Ayrıca geliştiricilerin koda yeni güvenlik sorunları eklemesini önlemeye yardımcı olma açısından da yararlıdır.

Kod taramasının bir diğer avantajı da CodeQL’yi kullanabilmesidir. CodeQL, kodu veri olarak sorgulamanıza olanak tanır ve bu sayede özel sorgular oluşturabilir veya açık kaynak topluluğu tarafından tutulan sorguları kullanabilirsiniz. Kod tarama, deponuzdaki kodun nasıl tarandığını özelleştirme ve koruma özgürlüğü sağlar.

GitHub deposunun güvenlik sekmesinde kod tarama uyarılarını ve iş akışlarını etkinleştirebilirsiniz:

Daha fazla bilgi için bağlantılar içeren ilke, öneri ve uyarı listesinin ekran görüntüsü.

Kod tarama ve CodeQL hakkında daha fazla bilgi edinin.

Gizli dizi taraması

GitHub deposundaki diğer bir otomatik tarama özelliği gizli dizi taramasıdır. Önceki güvenlik taraması özelliklerine benzer şekilde, gizli dizi taraması da depo içinde işlenmiş, bilinen gizli dizileri ve kimlik bilgilerini arar. Bu tarama, sahte davranışları engellemek ve hassas verilerin bütünlüğünü güvenlik altına almak için yapılır. Varsayılan olarak, gizli dizi taraması genel depolarda gerçekleşir ve depo yöneticileri veya kuruluş sahipleri tarafından özel depolarda gizli dizi taramayı etkinleştirebilirsiniz.

Gizli dizi taraması bir kimlik bilgileri kümesi algıladığında GitHub, gizli diziyi veren hizmet sağlayıcısına bildirir. Hizmet sağlayıcısı kimlik bilgilerini doğrular. Ardından, gizli diziyi iptal etmelerine, yeni bir gizli dizi yayınlamalarına veya doğrudan size ulaşmalarına karar verir. Eylem, sizin veya hizmet sağlayıcısının ilişkili risklerine bağlıdır.

Genel ve özel depolar için gizli dizi tarama hakkında daha fazla bilgi edinin.