Modül 6 · Privacy, Security, Administration · ⏱ 12 dakika

Dependabot ve secret scanning temelleri

Dependabot and secret scanning basics

Bu derste neler öğreneceksin

  • Dependabot alerts, updates ve version updates arasındaki farkı açıklamak
  • Secret scanning'in ne aradığını ve nasıl etkinleştirileceğini bilmek
  • Security advisories ve CVE'leri tanımak
  • GitHub'ın temel güvenlik özelliklerini (ücretsiz vs. GHAS) ayırt etmek

GitHub, repo güvenliğini desteklemek için yerleşik araçlar sunar. GH-900 sınavı bu araçların temellerini sorar — derin GHAS (GitHub Advanced Security) değil, entry-level güvenlik.

Dependabot

Dependabot, bağımlılıklardaki güvenlik açıklarını tespit eden ve otomatik güncelleme PR’ları oluşturan araçtır.

Dependabot’un üç bileşeni

BileşenAçıklama
Security alertsBilinen güvenlik açığı (CVE) olan bağımlılıkları bildirir
Security updatesGüvenlik açığını kapatmak için otomatik PR açar
Version updatesBağımlılıkları en son sürüme güncelleyen PR açar

Dependabot alerts etkinleştirmek

Public repo’larda otomatik aktif. Private repo için: Settings → Security → Dependabot alerts → Enable.

Uyarı gelince GitHub bildirim gönderir ve Security sekmesinde listelenir.

dependabot.yml

Version updates için .github/dependabot.yml konfigürasyon dosyası:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "monthly"

package-ecosystem desteklenen değerler: npm, pip, bundler, cargo, composer, docker, gradle, maven, nuget, github-actions ve daha fazlası.

Secret scanning

Secret scanning, repo’ya commit edilen API key, token, şifre gibi hassas bilgileri otomatik tespit eder.

Nasıl çalışır?

GitHub, 200’den fazla partner formatını (AWS key, Google API, Stripe token, GitHub PAT vb.) tanıyan pattern’ler kullanır. Eşleşince:

  1. Repo sahibine bildirim gider
  2. Token sağlayıcısına (AWS, Google vb.) otomatik bildirim gidebilir
  3. Sağlayıcı token’ı revoke edebilir

Push protection

Secret scanning push protection: Commit push edilmeden önce secret pattern eşleşmesi varsa push reddedilir. Bir güvenlik ağı görevi görür.

Etkinleştirmek: Settings → Security → Push protection → Enable.

Security advisories

Security advisory, bir repo’daki güvenlik açığına dair yapılandırılmış rapordur. CVE (Common Vulnerabilities and Exposures) ID talep edilebilir.

Oluşturmak: Security → Advisories → New draft security advisory.

Security tab genel bakış

Her repoda Security sekmesi şunları gösterir:

Bölümİçerik
Security overviewGenel güvenlik durumu
Security advisoriesBildirilen açıklar
Security policySECURITY.md dosyası
Dependabot alertsBağımlılık açıkları
Code scanning alertsCodeQL + üçüncü taraf
Secret scanning alertsTespit edilen secret’lar

Ücretsiz vs. GHAS özellikleri

ÖzellikFree / ProGHAS (Enterprise)
Dependabot alertsEvetEvet
Dependabot security updatesEvetEvet
Secret scanning (public)EvetEvet
Secret scanning (private)HayırEvet
Push protectionKısıtlıTam
Code scanning (CodeQL)Yalnızca publicTüm repo’lar
Advanced security dashboardHayırEvet

GH-900 sınavı derine inmez; temel özelliklerin farkında olmak yeterli.

Sınav perspektifinden dikkat noktaları

  • Dependabot alerts = uyarı; security updates = otomatik PR
  • dependabot.yml version updates için gerekli; security alerts için yok
  • Secret scanning push protection push sırasında çalışır — commit sonrası değil
  • SECURITY.md: güvenlik açığı bildirimi için iletişim bilgileri; Settings → Security policy’den de oluşturulabilir
  • Code scanning (CodeQL) GH-900’ün değil GH-500’ün konusudur; temel farkındalık yeterli

Sırada ne var?

Sonraki derste organizasyon, enterprise ve Enterprise Managed User (EMU) yapılarını ele alacağız.