Cyber Security Academy · Ders

Yazılım Bileşimi Analizi (SCA)

OWASP Dependency-Check, Snyk veya GitHub Dependabot ile bağımlılıkları bilinen CVE'lere karşı tarayın.

2. ders / 413 adım

Yazılım Bileşimi Analizi (SCA), CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.

SCA Nedir?

Yazılım Bileşimi Analizi (SCA), projenizdeki açık kaynaklı bağımlılıkları belirler ve bunları güvenlik açığı veritabanlarına (NVD, CVE, GitHub Advisory) göre denetler. Ayrıca lisans uyumluluğu sorunlarını da işaretler.

Üçüncü Taraf Bağımlılıkları Neden Risklidir?

Modern uygulamalar yüzlerce açık kaynaklı kitaplık kullanır. Güvenlik açığı içeren tek bir kitaplık tüm uygulamayı riske atabilir. 2021'deki Log4Shell güvenlik açığı (CVE-2021-44228), yaygın olarak kullanılan tek bir günlük kaydı kitaplığı nedeniyle milyonlarca Java uygulamasını etkiledi.

SCA Araçları

Yaygın SCA araçları:

# npm audit (Node.js):
npm audit
npm audit fix

# pip-audit (Python):
pip-audit

# OWASP Dependency-Check:
dependency-check.sh --project myapp --scan ./

# Snyk:
snyk test
snyk monitor

Dependabot ve Renovate

Otomatik bağımlılık güncelleme araçları:

  • Dependabot (GitHub) — güvenlik açığı içeren bağımlılıkları güncellemek için otomatik olarak PR'lar açar
  • Renovate — daha fazla yapılandırma seçeneği sunar ve daha fazla kayıt deposunu destekler

Bunları her depoda etkinleştirin — bağımlılık güncellemelerini izleme konusundaki manuel yükü azaltırlar.

CVE Önem Derecesini Anlama

Bir bağımlılıktaki her güvenlik açığı sizin bağlamınızda istismar edilebilir değildir. Şunları değerlendirin:

  • Güvenlik açığı içeren kod yoluna kullanımınız sırasında erişilebilir mi?
  • Uygulamanız bu işlevselliği dışarıya açıyor mu?
  • WAF veya başka bir denetim bunu azaltıyor mu?

CVSS puanı bir başlangıç noktasıdır — gerçek riski bağlam belirler.

Geçişli Bağımlılıklar

Doğrudan bağımlılıkların kendilerine ait (geçişli) bağımlılıkları vardır. Hiç duymadığınız bir kitaplıktaki güvenlik açığı yine de sizi etkileyebilir. SCA araçları bağımlılık ağacının tamamını eşler. Ağacı incelemek için npm ls veya pip show -r requirements.txt komutunu çalıştırın.

npm ls --all | grep "vulnerable-pkg"
pip show requests | grep Requires

Yazılım Malzeme Listesi (SBOM)

Bir SBOM, bir yazılım ürünündeki tüm bileşenlerin resmi envanteridir. 14028 sayılı Yürütme Emri (US), US hükümetine satılan yazılımlar için SBOM'ları zorunlu kılar. Biçimler: SPDX, CycloneDX.

# Generate SBOM with syft:
syft . -o cyclonedx-json > sbom.json
# Scan SBOM for vulnerabilities:
grype sbom:./sbom.json

Lisans Uyumluluğu

SCA lisansları da denetler. Ticari yazılımlardaki GPL lisanslı bağımlılıklar, kodunuzu açık kaynak yapmanızı gerektirebilir. LGPL, MIT ve Apache 2.0 genellikle izin vericidir. Hukuk ekiplerinin bağımlılık lisanslarını görebilmesi gerekir — SCA bunu otomatik olarak sağlar.

Tedarik Zinciri Saldırıları

Saldırganlar, popüler açık kaynaklı paketlere kötü amaçlı kod ekler:

  • Yazım benzerliği istismarı: reqeusts yerine requests
  • Ele geçirilmiş bakım sorumlusu hesapları (SolarWinds tarzı)
  • Bağımlılık karmaşası: özel paket adlarının herkese açık kayıt deposuna sızdırılması

Bütünlük doğrulamasıyla (sağlama toplamları, kilit dosyaları) birlikte kullanılan SCA bu riski azaltır.

Kilit Dosyaları

Kilit dosyaları (package-lock.json, Pipfile.lock) tam sürümleri sabitler ve sağlama toplamlarını doğrular. Kilit dosyalarını kaynak denetimine kaydedin. Üretim derlemelerinde kilit dosyası denetimlerini atlamak için asla npm install --legacy-peer-deps kullanmayın.

CI/CD İşlem Hattında SCA

SCA'yı zorunlu bir CI kapısı olarak entegre edin:

# GitHub Actions example:
- name: Run npm audit
  run: npm audit --audit-level=high
# Fail build on HIGH/CRITICAL findings
# Use --audit-level=moderate for stricter posture

Hızlı Kontrol: SCA

Yazılım Bileşimi Analizi'nin (SCA) temel amacı nedir?

Ders Özeti

SCA, bilinen CVE'ler, lisans sorunları ve tedarik zinciri riskleri için proje bağımlılıklarını tarar. Geçişli bağımlılıklar nedeniyle kritik öneme sahiptir — bir kitaplığın bağımlılığındaki güvenlik açığı da sizi etkiler. Otomatik güncellemeler için Dependabot/Renovate'i etkinleştirin. Tedarik zinciri görünürlüğü için SBOM'lar (SPDX/CycloneDX) oluşturun. Kilit dosyaları sürümleri sabitler ve sağlama toplamlarını doğrular. Önem derecesi eşikleriyle birlikte bir CI kapısı olarak entegre edin.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Cyber Security Academy öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
76
Dersler
303

Sıkça Sorulan Sorular

“Yazılım Bileşimi Analizi (SCA)” dersi ücretsiz mi?

Evet — “Yazılım Bileşimi Analizi (SCA)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.

“Yazılım Bileşimi Analizi (SCA)” dersinde ne öğreneceğim?

OWASP Dependency-Check, Snyk veya GitHub Dependabot ile bağımlılıkları bilinen CVE'lere karşı tarayın. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Yazılım Bileşimi Analizi (SCA)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. CI/CD İşlem Hatlarında SAST ve DAST
  2. Yazılım Bileşimi Analizi (SCA)
  3. Gizli Bilgi Taraması ve Sabit Kodlanmış Kimlik Bilgileri
  4. Güvenlik Öncüleri ve Tehdit Modellemesi
← Cyber Security Academy Sayfasına Dön