Kaynak Kod Analizi
Açığı dışarıdan denemek yerine kaynağında görüyoruz. Kod okunduğunda, bir saldırganın rastlantıyla bulacağı şey daha yayına çıkmadan önümüze düşer.
Teklif alınAçık, satırın kendisinde görünür.
Sahte bir örnek değil; okunabilen ama zararsız bir kod parçası üzerinden, bulgunun nerede durduğu ve rapora nasıl geçtiği gösterilir.
- 1export async function GET(req: Request) {
- 2 const id = new URL(req.url).searchParams.get("id");
- 3
- 4 // Kullanıcı kaydı doğrudan id ile getiriliyor
- 5 const kayit = await db.kullanici.bul(id);
- 6
- 7 return Response.json(kayit);
- 8}
Yetki kontrolü olmadan kayıt erişimi
- Konum
- api/kullanici/route.ts:5
- Etki
- id değerini değiştiren herkes başkasının kaydını okuyabilir.
- Öneri
- Sorguya oturum sahibinin yetki kontrolü eklenmeli.
Kod nasıl inceleniyor?
Otomatik tarama
Kod tabanı bilinen zafiyet kalıplarına karşı taranır; geniş yüzey hızlıca elenir.
Elle inceleme
Aracın yakalayamadığı iş mantığı hataları insan gözüyle okunur. Yetki kontrolü unutulmuş bir satır böyle bulunur.
Yanlış alarm ayıklama
Tarama çıktısı olduğu gibi teslim edilmez. Gerçekten sorun olanla gürültü ayrılır, ekibiniz boşa uğraşmaz.
Bağımlılık denetimi
Kullandığınız kütüphanelerin bilinen açıkları listelenir; sorun kendi kodunuzda olmayabilir.
Sır taraması
Koda gömülmüş parola, anahtar ve bağlantı bilgileri aranır; geçmiş sürümler de dahil.
Düzeltme önerisi
Her bulgu için hangi satırın nasıl değişmesi gerektiği yazılır. Geliştirici tarifle değil örnekle çalışır.
Elinize ne geçiyor
Bulgu listesi
Hangi dosyanın hangi satırında ne sorun var, etkisine göre sıralanmış.
Düzeltme önerisi
Her bulgu için hangi satırın nasıl değişmesi gerektiği; geliştirici tarifle değil örnekle çalışır.
Bağımlılık raporu
Kullandığınız kütüphanelerin bilinen açıkları ayrı bir listede.
Sır taraması sonucu
Koda gömülmüş parola, anahtar ve bağlantı bilgileri; geçmiş sürümler dahil.
Zorunluluktan çok, yayına çıkmadan yakalama işi
Doğrudan bağlayıcı bir kural yok
Kaynak kod analizi kurumları bağlayan ayrı bir mevzuat maddesine dayanmıyor. Zorunluluk iddia etmiyoruz; gerekçe, açığın dışarıdan bulunmadan önce kaynağında görülmesidir.
Tedarik zinciri sorumluluğu
7545 sayılı Kanun'un kurduğu rejim, kurumun kullandığı yazılımın güvenliğini de kapsıyor. Dışarıdan alınan bir yazılımın kodunun incelenmiş olması, bu sorumluluğun karşılanmasına dayanak oluşturur.
Sır taraması neden geçmişi de kapsar
Bir bulguya göre 2022'de koda sızmış geçerli sırların yüzde 64'ü hâlâ iptal edilmemiş durumda. Bir parola koddan silinse bile sürüm geçmişinde durmaya devam eder; tarama geçmiş sürümleri de kapsar.
Otomatik tarama açıkların tamamını bulmaz ve bulduklarının bir kısmı yanlış alarmdır. Bu yüzden elle inceleme ve ayıklama sürecin ayrılmaz parçasıdır.
Buradaki başlıklar bilgilendirme amaçlıdır. Kurumunuz için bağlayıcı olan yükümlülükler tabi olduğunuz mevzuata ve faaliyet alanınıza göre değişir.
Sık sorulanlar
Kaynak kod analizi (SAST) nedir, sızma testinden farkı nedir?
Kaynak kod analizi, uygulama üretime çıkmadan önce statik analiz araçlarıyla kod tabanının taranmasıdır; sızma testi ise çalışan sistemi dışarıdan test eder. OWASP'a göre statik analiz büyük kod tabanlarında ölçeklenmede ve SQL enjeksiyonu gibi bilinen açık türlerini bulmada güçlüyken, kimlik doğrulama ve erişim kontrolü gibi davranışsal sorunları yakalamakta zayıf kalıyor.
Kaynak kod analizi yaptırmak yasal bir zorunluluk mu?
Hayır, doğrudan bağlayıcı bir mevzuat maddesi bulunmuyor; kaynak kod analizi, sızma testinin bir katman öncesinde açığın üretime çıkmadan yakalanmasını sağlayan tamamlayıcı bir güvenlik pratiğidir. Buna karşın bağımlılık ve sır taraması sonuçları, genel siber güvenlik denetimlerinde dolaylı bir kanıt olarak kullanılabilir.
Statik analiz araçları kodda tüm güvenlik açıklarını bulur mu?
Hayır; OWASP bu araçların yüksek oranda yanlış pozitif ürettiğini ve kimlik doğrulama, erişim kontrolü, kriptografi kullanımı gibi davranışsal sorunları bulamadığını belirtiyor. Bu yüzden otomatik taramanın ardından bulguların gerçek olup olmadığını ayıklayan elle inceleme adımı gerekir.
Kodda unutulmuş API anahtarı veya parola nasıl tespit edilir?
Sır taraması, API anahtarı, parola ve token gibi bilgileri kodda ve git geçmişinde arar. GitGuardian'ın 2026 raporuna göre 2022'de sızmış geçerli sırların yüzde 64'ü hâlâ iptal edilmemiş durumda; bu da sırrı yalnızca koddan silmenin yetmediğini, ayrıca iptal edilip geçmişin temizlenmesi gerektiğini gösteriyor.
Kodunuzu inceleyelim.
Hangi dilde, ne büyüklükte bir kod tabanı olduğunu anlatın; kapsamı ve süreyi birlikte belirleyelim.
