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.
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 monitorDependabot 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 RequiresYazı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.jsonLisans 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ı:
reqeustsyerinerequests - 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 postureHı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.
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
- CI/CD İşlem Hatlarında SAST ve DAST
- Yazılım Bileşimi Analizi (SCA)
- Gizli Bilgi Taraması ve Sabit Kodlanmış Kimlik Bilgileri
- Güvenlik Öncüleri ve Tehdit Modellemesi