CodeQL Nedir ?

0 Replies 84 Views
·

Leave a rating: CodeQL Nedir ?

You have already rated this thread. Re-rating it will remove your existing rating or review.

Rating:

Raters: CodeQL Nedir ?

Participants
Thread Starter #0

🧠


🔐 Giriş


Modern yazılım projelerinde güvenlik açıklarını kod yazımı sırasında tespit etmek, siber saldırılara karşı en etkili savunmalardan biridir. İşte tam bu noktada GitHub’ın sunduğu güçlü bir analiz aracı devreye girer: CodeQL.


CodeQL, kaynak kod üzerinde sorgulama (query) yapılmasına olanak tanıyan bir analiz motorudur. Güvenlik açığı oluşturabilecek desenleri algılar ve geliştiricileri proaktif olarak uyarır.




🚀 CodeQL Nedir?


CodeQL, kodu veri tabanına dönüştürerek analiz etmenizi sağlayan statik analiz (Static Code Analysis) aracıdır. GitHub tarafından geliştirilmiş olup, geliştiricilerin veya güvenlik araştırmacılarının kod üzerinde SQL-benzeri sorgular yazarak güvenlik açıklarını tespit etmesine olanak sağlar.

Basitçe: Kodunuzu veriye çevirir ve o veri üzerinde “kodda hatalı desen var mı?” sorguları çalıştırırsınız.



🧪 CodeQL Nasıl Çalışır?


1. Kod Veritabanına Dönüştürülür


CodeQL, projenizi analiz ederek her bir fonksiyon, değişken, sınıf ve dosyayı tablo yapısına dönüştürür.


2. Sorgulama Yapılır (Query)


Kodun bu veri tabanı üzerinde CVE temelli veya özel yazılmış CodeQL sorguları çalıştırılır. Örneğin:


CODE
123from Function f
where f.getName() = "eval"
select f, "eval fonksiyonu kullanılmış, bu potansiyel bir güvenlik açığıdır."


3. Uyarılar Oluşur

Eğer kodda zafiyet barındıran desenler tespit edilirse GitHub size Security tab altında uyarı olarak gösterir.

🔐 CodeQL ile Tespit Edilebilecek Güvenlik Açıkları

Açık TürüAçıklama
SQL InjectionKullanıcı girdisinin filtrelenmeden sorguya girmesi
XSS (Cross Site Scripting)HTML'e zararlı veri enjekte edilmesi
Komut Enjeksiyonueval(), exec() gibi kritik işlevlerin kötü kullanımı
Hardcoded CredentialsKod içinde gömülü şifre veya anahtar bulunması
İzinsiz Dosya ErişimiKullanıcının dosya sistemi üzerinde yetkisiz erişimi

🧰 CodeQL'i Kimler Kullanabilir?

  • Geliştiriciler: Kodlarını yazarken statik analizle güvenliği entegre edebilir.
  • Siber Güvenlik Uzmanları: Açık kaynak projelerde zafiyet taraması yapabilir.
  • Bug Bounty Avcıları: CodeQL ile güvenlik araştırmaları yapabilir.
  • DevSecOps Mühendisleri: CI/CD süreçlerine CodeQL entegre ederek güvenlik katmanı oluşturabilir.

🧩 Desteklenen Diller

CodeQL, birçok popüler dili destekler:
  • C/C++
  • Java
  • JavaScript / TypeScript
  • Python
  • Go
  • Ruby
  • C#
💡 Yeni dil destekleri GitHub tarafından sürekli geliştirilmektedir.

⚙️ GitHub'da CodeQL Nasıl Kullanılır?

  1. GitHub Security tabına girin
  2. "Enable Code scanning" seçeneğini tıklayın
  3. GitHub Actions ile CodeQL’i yapılandırın
  4. Her push veya pull request’te otomatik analiz başlatılır

🎯 Avantajları

  • ✅ Otomatik analiz ve güvenlik açığı tespiti
  • 📊 Özelleştirilebilir sorgularla esnek denetim
  • 🔄 CI/CD entegrasyonu ile sürekli güvenlik
  • 🔐 Açık kaynak projelerde ücretsiz kullanımı

📌 Sonuç

CodeQL, günümüz yazılım geliştirme süreçlerine entegre edilmesi gereken güçlü bir güvenlik aracıdır. Kodunuzu daha yazarken analiz etmenizi sağlar, manuel hataları otomatik yakalar ve potansiyel zafiyetleri erken aşamada bildirir. GitHub ile tam entegre çalışan CodeQL, modern DevSecOps anlayışının temel taşlarından biridir.
[IMG width="249px" size="1050x1050"]https://i.hizliresim.com/a6d55tm.png[/IMG]

You must be logged in to reply.

0 quotes selected