Modül 3 · Supply Chain Security · ⏱ 10 dakika

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çenekAçıklama
fail-on-severityBu severity ve üzerinde CI başarısız olur (low/medium/high/critical)
comment-summary-in-prPR’a özet yorum bırakır (always/on-failure)
deny-licensesYasaklı lisansları olan paketleri blokla
allow-licensesYalnızca bu lisanslara izin ver
allow-ghsasBelirli 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ı.