Dependency review ve PR check
Dependency review and PR check
Bu derste neler öğreneceksin
- Dependency review'in PR workflow'una nasıl entegre olduğunu anlamak
- dependency-review-action yapılandırmasını öğrenmek
- PR'da yeni güvenlik açıklı bağımlılıkları bloklamayı kavramak
- fail-on-severity ve allow-licenses seçeneklerini bilmek
Dependency review nedir?
Dependency review, bir PR’da eklenen veya güncellenen bağımlılıklarda bilinen güvenlik açığı olup olmadığını PR açılırken (merge öncesinde) kontrol eder.
PR açıldı
↓
dependency-review-action çalışır
↓
Yeni bağımlılıklarda CVE var mı?
↓ Evet ↓ Hayır
CI başarısız CI başarılı
PR bloklanabilir PR devam eder
Dependabot alerts’tan farkı: Dependabot mevcut bağımlılıkları izler; dependency review yeni eklenen bağımlılıkları PR’da engeller.
dependency-review-action kurulumu
# .github/workflows/dependency-review.yml
name: Dependency Review
on:
pull_request:
branches: [main, develop]
permissions:
contents: read
pull-requests: write
jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/dependency-review-action@v4
with:
fail-on-severity: high
comment-summary-in-pr: always
deny-licenses: GPL-3.0, AGPL-3.0
Kritik seçenekler
| Seçenek | Açıklama |
|---|---|
fail-on-severity | Bu severity ve üzerinde CI başarısız olur (low/medium/high/critical) |
comment-summary-in-pr | PR’a özet yorum bırakır (always/on-failure) |
deny-licenses | Yasaklı lisansları olan paketleri blokla |
allow-licenses | Yalnızca bu lisanslara izin ver |
allow-ghsas | Belirli GHSA’yı görmezden gel (kabul edilmiş risk) |
Branch protection ile entegrasyon
PR’ı bloklamak için branch protection’a status check ekle:
Repo → Settings → Branches → main → Require status checks
→ "Dependency Review" check'ini zorunlu yap
Bu yapılandırmayla dependency review başarısız olursa PR merge edilemez.
Sınavda dependency review soruları
Senaryo: “Geliştiriciler güvenlik açıklı kütüphaneleri PR’lara eklemeye devam ediyor ve bu merge sonrası fark ediliyor. Nasıl önlerim?”
Cevap: dependency-review-action + branch protection status check = PR merge
öncesinde blokla.
Sırada ne var?
Dependency graph ve SBOM (Software Bill of Materials) export — supply chain görünürlüğünün en üst katmanı.