Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
76 yazı bulundu
Uçtan Uca: Bookstore Pipeline'ında Güvenlik Gate'leri, İstisna Yönetimi ve Ölçüm
Güvenlik SERİ 09

Uçtan Uca: Bookstore Pipeline'ında Güvenlik Gate'leri, İstisna Yönetimi ve Ölçüm

Gürültüsüz bir güvenlik pipeline'ı PR'da yalnız geliştiricinin dakikalar içinde düzeltebileceği kontrolleri, main'de derin kontrolleri çalıştırır; fix'i olan critical ve high bulgu kırar, gerisi sahibi ve bitiş tarihi olan istisnalarla izlenir. Bookstore'un tek workflow'unu, süresi dolan istisnayı yakalayan bir gate'i, zafiyet yaşı ve MTTR ölçümünü, OpenSSF Scorecard'ı ve kontrollerin OWASP Top 10:2025 eşlemesini gerçek çıktılarla gösteriyoruz.

14 Kas 2026 14 dk 4
İmzalama ve Provenance: Sigstore, Artifact Attestation'ları ve SLSA v1.2
Güvenlik SERİ 08

İmzalama ve Provenance: Sigstore, Artifact Attestation'ları ve SLSA v1.2

Bir image imzası içeriğin değişmediğini ve kimin imzaladığını, provenance ise hangi repo, workflow ve commit'ten üretildiğini kanıtlar; ikisi de ancak deploy anında doğrulanırsa işe yarar. Keyless Sigstore imzasını ve GitHub attestation'larını gerçek release'ler üzerinde doğruluyor, Bookstore image'ına SBOM attestation'ı bağlıyor, Kyverno ile imzasız ve tag'li image'ı reddediyor ve pipeline'ı SLSA v1.2'ye göre değerlendiriyoruz.

14 Kas 2026 11 dk 4
SBOM ve VEX: CycloneDX 1.7 ve SPDX 3 ile Ne Kullandığını Bilmek
Güvenlik SERİ 07

SBOM ve VEX: CycloneDX 1.7 ve SPDX 3 ile Ne Kullandığını Bilmek

SBOM, bir sürümün içindeki bileşenlerin makine okunur listesidir ve asıl değeri yeni bir CVE geldiğinde hangi ürünün hangi sürümünün etkilendiğini build almadan sorgulayabilmektir; VEX ise etkilenip etkilenmediğini gerekçesiyle beyan eder. Bookstore için .NET, Angular ve image SBOM'larını üretip doğruluyor, Dependency-Track'te sorguluyor ve OpenVEX ile CycloneDX VEX'i gerçek çıktılarla uyguluyoruz.

14 Kas 2026 13 dk 4
DAST: ZAP ile Çalışan Uygulamayı Taramak — Baseline, API Scan ve Authenticated Tarama
Güvenlik SERİ 06

DAST: ZAP ile Çalışan Uygulamayı Taramak — Baseline, API Scan ve Authenticated Tarama

DAST çalışan uygulamaya dışarıdan istek gönderip header, cookie, hata sızıntısı ve yansıyan girdi gibi davranış açıklarını bulur; ama yalnız ulaşabildiği endpoint'leri tarar ve authorization hatasını göremez. Bookstore.Api'yi ZAP 2.17 ile baseline, API scan ve Automation Framework planıyla tarıyor, token'lı taramada oturumun düştüğünü yakalamayı, bulguları integration teste çevirmeyi ve main'de çalışan DAST job'ını gerçek çıktılarla gösteriyoruz.

14 Kas 2026 15 dk 6
Container ve IaC Scanning: Image Zafiyetleri, Base Image Seçimi ve Manifest Taraması
Güvenlik SERİ 05

Container ve IaC Scanning: Image Zafiyetleri, Base Image Seçimi ve Manifest Taraması

Image taraması, deploy edilen artifact'taki işletim sistemi paketlerini ve uygulama bağımlılıklarını birlikte denetler; bulguların çoğu kullanılmayan paketlerden gelir ve chiseled, non-root bir base image bunları büyük ölçüde ortadan kaldırır. Bookstore image'ında 42 bulgunun 6'ya inişini, Trivy ile Grype'ın farkını, Mart 2026 Trivy olayından sonra tarayıcıyı SHA ve cosign imzasıyla doğrulamayı, Dockerfile, Kubernetes ve Terraform taramasını gerçek çıktılarla gösteriyoruz.

14 Kas 2026 13 dk 4
SAST: CodeQL, Semgrep ve .NET Security Analyzer'ları ile Kaynak Kodda Güvenlik Açığı Aramak
Güvenlik SERİ 04

SAST: CodeQL, Semgrep ve .NET Security Analyzer'ları ile Kaynak Kodda Güvenlik Açığı Aramak

SAST, kullanıcı girdisinin (source) tehlikeli bir çağrıya (sink) sanitizer'sız ulaştığı yolları arar; yalnız modellediği sink'leri görür ve iş kuralı ya da authorization eksikliği bulamaz. Bookstore'da CodeQL, Semgrep ve .NET security analyzer'larını aynı beş soruna karşı çalıştırıyor, kimin neyi bulduğunu, Bookstore'a özel test edilmiş bir Semgrep kuralını, false positive triage'ını ve yalnız yeni bulguyu kıran bir pipeline'ı gerçek çıktılarla gösteriyoruz.

14 Kas 2026 13 dk 4
Dependency Scanning Derinlemesine: NuGetAudit, npm audit, Dependabot ve Bulguları Önceliklendirmek
Güvenlik SERİ 03

Dependency Scanning Derinlemesine: NuGetAudit, npm audit, Dependabot ve Bulguları Önceliklendirmek

Dependency bulgularını CVSS skoruna göre sıralamak yetmez: aciliyeti KEV'deki sömürü kanıtı, EPSS'in 30 günlük sömürülme olasılığı ve kodun zafiyetli fonksiyona gerçekten ulaşıp ulaşmadığı belirler. Bookstore'da NuGetAudit'i repo seviyesinde ayarlıyor, .NET 10 package pruning'in false positive'i nasıl kaldırdığını, süreli NuGetAuditSuppress'i, EPSS/KEV sorgulayan bir triage aracını ve Dependabot'ta security ile version update'leri ayırmayı gerçek çıktılarla gösteriyoruz.

14 Kas 2026 13 dk 3
Secret Scanning: Pre-commit, Push Protection ve Sızan Secret'a İlk 30 Dakika
Güvenlik SERİ 02

Secret Scanning: Pre-commit, Push Protection ve Sızan Secret'a İlk 30 Dakika

Secret scanning tek bir araç değil, katmanlardır: geliştirici makinesinde pre-commit, pipeline'da PR commit aralığı, GitHub'da push protection ve tüm geçmişin periyodik taranması; sızıntı olursa sıra her zaman önce rotate, sonra etki analizi, en son geçmişi temizlemektir. gitleaks 8.30'un varsayılan kurallarının dev önekli iki secret'ı neden kaçırdığını, Bookstore'a özel kuralları, base64 tespitini ve git-filter-repo ile temizliği gerçek çıktılarla gösteriyoruz.

14 Kas 2026 13 dk 4
DevSecOps Nedir? Güvenlik Kontrollerini Pipeline'ın Doğru Yerine Koymak
Güvenlik SERİ 01

DevSecOps Nedir? Güvenlik Kontrollerini Pipeline'ın Doğru Yerine Koymak

DevSecOps, güvenlik kontrollerini pipeline'da ihtiyaç duydukları bilginin ilk ortaya çıktığı yere koymak ve bulguyu kodu yazan ekibe o anda döndürmektir: secret pre-commit'te, SAST ve SCA PR'da, image taraması main'de, DAST deploy'dan sonra. Bookstore pipeline'ının önce/sonra haritasını çıkarıyor, Semgrep baseline ile yalnız yeni bulguyu kırmayı gerçek çıktılarla gösteriyor ve kontrolleri NIST SSDF ile OWASP DSOMM'a eşliyoruz.

14 Kas 2026 14 dk 4
OWASP API Security Top 10: 2019'dan 2023'e Ne Değişti ve Eski Raporları Bugünün Diliyle Okumak
Güvenlik SERİ 11

OWASP API Security Top 10: 2019'dan 2023'e Ne Değişti ve Eski Raporları Bugünün Diliyle Okumak

2023 sürümünde Excessive Data Exposure ile Mass Assignment BOPLA'da birleşti, API2, API4 ve API9'un adı değişti, Injection ve Logging listeden çıktı, hassas iş akışları, SSRF ve güvensiz tüketim eklendi; bu yüzden eski bulgular numaraya göre değil anlama göre eşlenir. Eşleme tablosu, eski raporları çeviren ve değerlendirilmemiş kategorileri gösteren küçük bir araç ve yeni sürüm geldiğinde ne yapacağımız.

8 Kas 2026 11 dk 36
API Güvenliğini Sürekli Test Etmek ve İzlemek: Authorization Regresyonu, OpenAPI Tabanlı Tarama ve Abuse Telemetry
Güvenlik SERİ 10

API Güvenliğini Sürekli Test Etmek ve İzlemek: Authorization Regresyonu, OpenAPI Tabanlı Tarama ve Abuse Telemetry

API güvenliğini sürekli korumak için kontrolleri bir test piramidine yerleştirir, OpenAPI tabanlı bir tarayıcıyı yalnız kendi ortamına karşı çalıştırıp bulgularını regresyon testine çevirir ve reddedilen istekleri tenant bazında ölçersin. Schemathesis'in bulduğu sözleşme farkları ve iki 500, RespectNullableAnnotations ile sistematik düzeltme, OpenTelemetry metric'leri ve tek sayfalık kontrol listesi.

8 Kas 2026 13 dk 40
API8 ve API9: Yanlış Yapılandırma ve Envanter — OpenAPI'yi Envanter Olarak Kullanmak, Deprecation/Sunset Header'ları ve Shadow API'ler
Güvenlik SERİ 09

API8 ve API9: Yanlış Yapılandırma ve Envanter — OpenAPI'yi Envanter Olarak Kullanmak, Deprecation/Sunset Header'ları ve Shadow API'ler

API8'e karşı API'ye özgü bir kontrol listesini Production ortamında koşan testlere bağlarsın; API9'a karşı build sırasında üretilen OpenAPI dokümanını commit edilen bir envanter olarak kullanır ve eski sürümleri RFC 9745 Deprecation ve RFC 8594 Sunset header'larıyla emekliye ayırırsın. CORS ve middleware sırası, git diff ile habersiz endpoint ve saat dilimi tuzağı.

8 Kas 2026 11 dk 42
Blog Haritası