Kaynak kodunuzu satır satır denetliyoruz.
Otomatik SAST taramasını uzman manuel inceleme ile birleştirerek injection, kimlik doğrulama, kriptografi ve iş mantığı açıklarını kodun derinliklerinde tespit ediyoruz.
Kaynak Kod İncelemesi Hizmetleri
Manuel uzman inceleme ile otomatik SAST taramasını birleştirerek kaynak kodunuzu satır satır denetler; injection, kimlik doğrulama, kriptografi ve iş mantığı açıklarını üretime çıkmadan önce tespit ederiz.
SAST (Static Analysis)
Otomatik statik kod analizi ile zafiyetleri tespit edin
- Otomatik statik kod taraması
- Endüstri lideri SAST araçları
- CI/CD pipeline entegrasyonu
Manuel Kod İnceleme
Uzman güvenlik mühendisleri tarafından detaylı kod incelemesi
- İş mantığı zafiyet analizi
- Business logic flaw tespiti
- Kriptografi implementasyon incelemesi
Güvenli Kodlama Danışmanlığı
Geliştirme ekipleriniz için güvenli kodlama rehberliği
- Developer güvenlik eğitimleri
- Güvenli kodlama standartları
- Code review süreç geliştirme
Tespit Edilen Zafiyet Kategorileri
Injection Zafiyetleri
- SQL Injection
- NoSQL Injection
- Command Injection
Kimlik Doğrulama ve Oturum
- Broken authentication
- Session management sorunları
- JWT implementasyon hataları
Veri Güvenliği
- Sensitive data exposure
- Zayıf kriptografi
- Güvensiz veri depolama
İş Mantığı
- Business logic flaws
- Race condition
- Access control sorunları
Kod İnceleme Süreci
Kapsam Belirleme
İncelenecek kod ve kritik alanların belirlenmesi
Otomatik Tarama
SAST araçları ile ilk tarama
Manuel İnceleme
Uzman analizle detaylı kod incelemesi
Doğrulama
Bulguların doğrulanması ve önceliklendirme
Raporlama
Detaylı bulgular ve düzeltme önerileri
Desteklediğimiz Diller ve Framework'ler
Teslim Edilenler
Detaylı Güvenlik Raporu
Tüm bulgular, risk seviyeleri ve öneriler
Kod Seviyesi Öneriler
Satır bazında düzeltme önerileri
Güvenli Kodlama Rehberi
Projenize özel güvenli kodlama dökümanları
Re-test Hizmeti
Düzeltmelerin doğrulanması
Kaynak Kod Analizi mi, Sızma Testi mi? Hangisi Ne Zaman?
Kaynak kod analizi (white-box) bir açığın kod içinde tam olarak nerede doğduğunu gösterir: güvensiz bir SQL sorgusu, eksik yetki kontrolü ya da hatalı kriptografi çağrısı hangi satırda yazıldıysa oraya iner. SAST, kod tabanının tamamını satır satır statik olarak tarar — çalışan bir ortam gerektirmez, üretime çıkmadan önce ve tüm kod yollarında (erişilemeyen hata dalları dahil) sonuç verir. Bu yüzden kapsama oranı yüksektir ve düzeltme önerisi doğrudan sorumlu satıra bağlanır.
Sızma testi (black-box) ise çalışan uygulamayı bir saldırganın gözünden hedef alır: açığın çalışma zamanında gerçekten sömürülebilir olup olmadığını, zincirlenip zincirlenemeyeceğini ve iş etkisini kanıtlar. İkisi birbirinin yerine geçmez, tamamlar: kod analizi geniş kapsamla erken ve ucuza açıkları yakalar; sızma testi kalan açıkların gerçek-dünya istismar edilebilirliğini doğrular. En sağlam yaklaşım, güvenli geliştirme yaşam döngüsünde her ikisini de kullanmaktır.
Neden Kritik? Shift-Left Güvenlik Yaklaşımı
Bir güvenlik açığını tasarım ve geliştirme aşamasında yakalamak, üretime çıktıktan sonra düzeltmekten belirgin biçimde daha ucuz ve hızlıdır. Üretimdeki bir zafiyet; acil yama, olay müdahalesi, olası veri ihlali ve itibar kaybı anlamına gelirken, aynı açık kodda tespit edildiğinde çoğu zaman tek bir commit ile kapatılır. Shift-left yaklaşımı güvenliği yaşam döngüsünün başına çeker — açıkları oluştukları anda, geliştirici hâlâ ilgili kodun bağlamındayken kapatmayı hedefler.
Kaynak kod analizini CI/CD hattına bir kapı (gate) olarak entegre ederek her pull request'te statik taramayı otomatik çalıştırır, kritik bulguları birleştirme öncesinde engelleriz. Böylece güvenlik, sürüm hızını yavaşlatan bir engel değil, geliştirme akışının doğal bir parçası hâline gelir.
SAST + Manuel İnceleme: Neden İkisi Birlikte?
Otomatik SAST araçları geniş kod tabanlarını hızla tarar ve bilinen desenleri (injection, sabit kodlanmış sırlar, güvensiz API kullanımı) güvenilir biçimde yakalar. Ancak yalancı-pozitif (false positive) üretebilir ve bağlam gerektiren açıkları — bozuk iş mantığı, IDOR / yetkilendirme kusurları, hatalı kriptografi tasarımı, çok adımlı yetki atlatma — çoğunlukla kaçırır (false negative). Araç, kodun ne yaptığını görür; ne yapması gerektiğini bilmez.
Bu yüzden uzman mühendislerimiz SAST çıktısını manuel incelemeyle doğrular: yalancı-pozitifleri eler, gerçek risk taşıyan bulguları iş bağlamına göre önceliklendirir ve araçların göremediği mantık/tasarım kusurlarını elle tespit eder. İki katmanın birleşimi, tek başına hiçbirinin ulaşamayacağı bir doğruluk ve kapsam sağlar.
Uyumluluk ve Standartlar
Kaynak kod analizi, birçok güvenlik standardının doğrudan aradığı bir kontroldür. PCI-DSS v4.0.1'de Gereksinim 6.2.3, özel geliştirilen (bespoke/custom) yazılımın üretime alınmadan önce güvenli kod incelemesinden geçirilmesini şart koşar — bu inceleme kodu yazan kişiden bağımsız bir uzman tarafından veya otomatik araçlarla yapılabilir. Gereksinim 6.2.4 ise SQL injection, arabellek taşması ve erişim kontrolü / iş mantığı hataları gibi yaygın saldırıları önleyecek yazılım mühendisliği tekniklerinin tanımlanıp uygulanmasını ister. Not: PCI-DSS uyumluluğu bir kart-markası sözleşme yükümlülüğüdür; yasal bir mevzuat değildir, dolayısıyla yaptırımı da sözleşmesel kaynaklıdır.
ISO/IEC 27001:2022 tarafında, 2022 revizyonuyla gelen yeni kontrollerden A.8.28 "Güvenli kodlama", yazılım geliştirme boyunca güvenli kodlama ilkelerinin uygulanmasını öngörür; kod incelemesi bu kontrolün yerine getirildiğini gösteren temel kanıtlardan biridir. (2013→2022 geçiş süresi 31 Ekim 2025'te sona ermiştir; geçerli tüm sertifikalar artık 2022 sürümüne dayanır.) İncelemelerimizi OWASP ASVS, OWASP Top 10 ve CWE Top 25 ile eşleyerek raporlarız; ayrıca KVKK, BDDK ve EPDK gibi düzenlemelerin aradığı güvenli yazılım geliştirme yükümlülüklerinin karşılanmasını destekleriz.
Sık Sorulan Sorular
Kaynak kod analizi PCI-DSS için zorunlu mu?
PCI-DSS v4.0.1 Gereksinim 6.2.3, özel geliştirilen yazılımın üretime çıkmadan önce güvenli kod incelemesinden geçirilmesini şart koşar; bu inceleme kodu yazan kişiden bağımsız bir uzmanca ya da otomatik araçlarla yapılabilir. Dolayısıyla kart verisi işleyen ortamlar için kaynak kod analizi standart gereği beklenen bir kontroldür. Ancak PCI-DSS yasal bir mevzuat değil, bir kart-markası sözleşme yükümlülüğüdür — bu nedenle uyumsuzluğun yaptırımı devlet cezası değil, sözleşmesel (kart markaları / edinen banka kaynaklı) yaptırımdır.
Kaynak kod analizi ile sızma testi arasındaki fark nedir?
Kaynak kod analizi white-box bir yöntemdir: açığın kod içinde nerede doğduğunu gösterir, üretime çıkmadan önce çalışabilir ve erişilemeyen dallar dahil tüm kod yollarını kapsar. Sızma testi ise black-box çalışır: çalışan uygulamayı saldırganın gözünden hedef alıp açığın çalışma zamanında gerçekten sömürülebilir olduğunu kanıtlar. Kod analizi geniş kapsamla erken ve ucuza yakalar; sızma testi kalan açıkların gerçek istismar edilebilirliğini doğrular. İkisi birbirini tamamlar, yerine geçmez.
Tek başına SAST (otomatik tarama) yeterli mi?
Tek başına SAST yeterli değildir. Otomatik araçlar bilinen desenleri (injection, sabit kodlanmış sırlar, güvensiz API kullanımı) hızla ve güvenilir biçimde yakalar, ancak yalancı-pozitif üretir ve bağlam gerektiren açıkları — bozuk iş mantığı, IDOR / yetkilendirme kusurları, hatalı kriptografi tasarımı — sıklıkla kaçırır. Bu nedenle SAST çıktısı, yalancı-pozitifleri eleyen ve araçların göremediği mantık kusurlarını yakalayan uzman manuel incelemeyle doğrulanmalıdır.
Kaynak kod analizi SDLC'nin neresine entegre edilmeli?
En etkili yer, geliştirme yaşam döngüsünün mümkün olan en erken aşamasıdır (shift-left). Kaynak kod analizi CI/CD hattına bir kapı olarak entegre edilerek her pull request'te statik tarama otomatik çalıştırılır ve kritik bulgular birleştirme öncesinde engellenir. Ek olarak sürüm öncesi derinlemesine bir manuel inceleme, önemli değişikliklerden sonra tekrar edilir. Bir açığı kodda yakalamak, üretimde yakalamaktan belirgin biçimde daha ucuz ve hızlıdır.
Hangi programlama dillerini ve framework'leri inceliyorsunuz?
Java / Spring, C# / .NET, Python (Django / Flask), JavaScript / TypeScript / Node.js, PHP / Laravel, Go, Ruby / Rails, Swift / Objective-C ve Kotlin dahil geniş bir yelpazede kaynak kod analizi yapıyoruz. İncelemeyi yalnızca dile değil, kullanılan framework'e ve uygulamanın mimarisine göre uyarlar; her ekosistemin kendine özgü güvenlik desenlerini (ORM enjeksiyonu, template injection, güvensiz serileştirme vb.) hedefleriz.
Bulgular düzeltildikten sonra yeniden test (re-test) yapıyor musunuz?
Evet. Rapordaki her bulgu için kod seviyesinde düzeltme önerisi sunarız ve düzeltmeler uygulandıktan sonra bir re-test ile açıkların gerçekten kapatıldığını, yeni bir zafiyet açılmadığını doğrularız. Böylece uyumluluk denetimlerine ve iç güvenlik süreçlerine, açıkların giderildiğine dair kanıtlanabilir bir kayıt sunmuş olursunuz.
Kaynak Kodunuzu Güvence Altına Alın
Geliştirme aşamasında güvenlik açıklarını tespit edin ve maliyetleri düşürün