İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Güvenlik & Kimlik
  • GitHub Güvenliği: Küçük Repoda Büyük Açıkları Kapatmak
Geliştirici Araçları Güvenlik & Kimlik bağımlılık riski, CI/CD güvenliği, code scanning, Dependabot, GitHub güvenliği, secret scanning, zafiyet yönetimi Aşkın KILIÇ 30/03/2026 0 Yorumlar

GitHub Güvenliği: Küçük Repoda Büyük Açıkları Kapatmak

GitHub Güvenliği: Küçük Repoda Büyük Açıkları Kapatmak
📑 İçindekiler
  1. Neden Güvenlik Meselesini Ertelememek Lazım?
  2. Açınca Ne Değişiyor? GHAS'ı Doğru Kurmak
  3. Sızan Sırların Peşinde: Secret Scanning ve Revocation
  4. Kod Tarama ve Dependabot: Sessiz Riskleri Yakalamak
  5. Peki code scanning ne kadar güvenilir?
  6. Copilot Autofix gerçekten işe yarıyor mu?
  7. Bölgeye Göre Değişen Gerçekler: Startup mı Enterprise mı?
  8. Sahada Öğrendiklerim ve Pratik Tavsiyeler
  9. Sıkça Sorulan Sorular
  10. GitHub security features ücretsiz mi?
  11. Secret scanning neyi yakalar?
  12. Copilot Autofix tek başına yeter mi?
  13. Küçük ekipler önce hangi özelliği açmalı?
  14. Kaynaklar ve İleri Okuma

⏱️ 7 dk okuma📅 30 Mart 2026🔄 Güncelleme: 15 Temmuz 2026

Bakın şimdi, GitHub güvenliği deyince çoğu kişinin aklına önce “bize bir şey olmaz” hissi geliyor. Hani repo daha yeni açılmıştır, birkaç klasör vardır, iki de bağımlılık eklenmiştir… Tam orada işler sarpa sarabiliyor. Çünkü açıkların çoğu sizin yazdığınız koddan değil, çekip aldığınız paketlerden, yanlışlıkla commit edilen sırlardan ya da gözden kaçan bir workflow dosyasından çıkıyor.

Ben bunu ilk kez 2018’de İstanbul’da bir e-ticaret projesinde çok net gördüm. Takım “bu sadece test ortamı” diyerek birkaç API anahtarını repoya gömmüştü. Sonra biri branch’i public fork’layınca iş büyüdü. O gün şunu kafama kazıdım: güvenlik, proje büyüyünce başlanan bir şey değil; en başta kuruluyor.

GitHub’ın son yıllarda bu işi bayağı kolaylaştırdığını söyleyebilirim. Secret scanning, Dependabot, code scanning, Copilot Autofix gibi araçlar sayesinde, özellikle küçük ekiplerde bile “gözden kaçtı gitti” türü riskleri erken yakalamak mümkün oluyor. Kağıt üstünde süper; pratikte işe bazen biraz ayar istiyor. Ama yine de iş görüyor.

Neden Güvenlik Meselesini Ertelememek Lazım?

İşin aslı şu ki, zafiyet dediğimiz şey sadece büyük kurumların derdi değil. Bir kütüphaneyi projeye dahil ettiğiniz anda onun riskini de az çok sırtlanıyorsunuz. Ben 2021’de Ankara’da bir fintech müşterisinde bunu birebir yaşadım: uygulama gayet temiz görünüyordu ama transitif bağımlılıklardan biri eski sürümde kalmıştı. CVE listesinde kırmızı yanıp sönüyordu. Kod sizinki değildi ama patlayan sız oluyordunuz.

Bu yüzden küçük startup ile enterprise arasında fark var ama temel mantık aynı. Startup tarafında genelde hız baskın oluyor; “önce ürün çıksın” deniyor. Enterprise tarafta işe süreçler ağır ilerliyor — ki bu tartışılır — ama en azından denetim var. Yine de her iki dünyada da ortak nokta şu: güvenlik kapıyı çalmıyor, içeri dalıyor.

GitHub Advanced Security burada devreye giriyor. Public repolarda bazı özellikler doğrudan kullanılabiliyor; private repolarda işe lisans konusu var. Bu ayrım önemli çünkü bazen ekipler ücretsiz olanla ücretli olanı karıştırıyor. Mesela secret scanning’i açıp bırakmak yetmiyor; uyarının nasıl ele alınacağını da önceden planlamak gerekiyor.

💡 Bilgi: GitHub güvenlik araçları sadece “bulduğunu gösteren” sistemler değil; doğru kurgulanırsa düzeltme akışını da hızlandırıyor. Yanı alarm çalıyor diye panik yok… ama alarmı susturmak için süreç lazım.

Açınca Ne Değişiyor? GHAS’ı Doğru Kurmak

GitHub repository ayarlarına girip Security bölümünden Advanced Security tarafını açtığınızda aslında oyunun kuralları değişiyor. Dependabot alerts ve security updates aktif olunca paket dünyasındaki riskleri daha erken görüyorsunuz. CodeQL analysis ile kodun içine gömülü riskler taranıyor. Secret Protection işe yanlışlıkla sızan anahtarları yakalamaya çalışıyor.

Ben AZ-500 çalışırken bu mantığı bulut tarafına çok benzetmiştim: ağda NSG neyse, repoda da security settings biraz o gibi davranıyor. Kapıyı açmazsanız hiçbir şey içeride dolaşamaz sanıyorsunuz ama gerçek hayat öyle değil; insanlar yine bir yol buluyor. Bu yüzden varsayılan ayarlarla yetinmemek lazım. Daha fazla bilgi için

Sızan Sırların Peşinde: Secret Scanning ve Revocation

Açık konuşayım, secret scanning bana göre en kilit parçalardan biri. Çünkü hata yapılınca bedeli hızlı gelir. Bir API key’in repo içinde gezmesi bazen sessiz sedasız olur; ta ki biri önü kullanana kadar… İşte o an oyun biter.

Bir secret bulunduğunda ilk refleks “sil geç” olmamalı; asıl yapılacak iş o anahtarı iptal etmek ve nerelerde kullanıldığını takip etmek olmalı.

Bunu ben ilk kez Bursa’daki bir üretim firmasında yaşadım (2022 sonbaharıydı). Geliştirici arkadaş yanlışlıkla Azure erişim bilgilerini test branch’ine koymuştu. Secret scanning uyarısı geldiğinde herkes “tamam sileriz” dedi ama ben özellikle revocation’a bastırdım çünkü silmek tek başına yetmezdi — anahtar başka yerde kopyalanmış olabilir diye düşündüm ve haklı çıktık.

Revocation burada emniyet kemeri gibi düşünülmeli. Eski anahtarı iptal etmeden devam ederseniz saldırgan hâlâ içeride olabilir.

# Örnek akış
1) Alert'i aç
2) Secret'ın nerede bulunduğunu doğrula
3) İlgili token / key'i iptal et
4) Yeni secret üret
5) Uygulama konfigürasyonunu güncelle
6) Gerekirse geçmiş commit'leri temizle
7) Benzer sızıntılar için repo genelinde tarama yap

Kod Tarama ve Dependabot: Sessiz Riskleri Yakalamak

Dependabot’u sevmemin nedeni basit: sıkıcı işi alıyor ve masadan kaldırıyor. Paket sürümü eskimiş mi? Bildiriyor. Düzeltme PR’ı açıyor mu? Evet açıyor! Ama burada körü körüne merge etmek de ayrı bela olabilir.

Bir arkadaşım geçen martta Berlin’deki startup’ında Dependabot PR’larını otomatik merge etmeye başlamıştı; kulağa hoş geliyor biliyorum. Test suite yarıda kaldığı için prod’da minik bir regresyon çıktı (çok büyük değildi ama moral bozdu). O yüzden benim tavrım net: otomasyon güzel fakat kapalı kutu olmamalı.

  • Kritik paketler: elle incelemeden merge etmeyin — ciddi fark yaratıyor.
  • Düşük riskli güncellemeler: otomasyona daha uygun olabilir — bunu es geçmeyin.
  • Büyük sürüm atlamaları: genelde test + review isteyin.
  • Zincir bağımlılıklar: transitive dependency kontrolünü unutmayın.

Peki code scanning ne kadar güvenilir?

Kodu statik analizle taramak faydalı ama kusursuz değil. Bazen false positive çıkarıyor ve insanın canını sıkıyor; özellikle legacy kodlarda bu durum bayağı yorucu oluyor.

Ben AZ-305 hazırlığında mimarı tasarım düşünürken hep şunu hatırlıyorum: iyi analiz aracı size karar verdirmez, karar vermeyi kolaylaştırır. CodeQL de böyle çalışıyor aslında. Sinyal veriyor ama son sözü yine sız söylüyorsunuz.

Copilot Autofix gerçekten işe yarıyor mu?

Evet, bazı senaryolarda fena değil hatta bayağı işe yarıyor. Hele basit zafiyetlerde önerdiği düzeltmeler vakit kazandırabiliyor. Ama her öneriyi kutsal metin gibi görmek hata olur.

Geçen ay Logosoft’ta bir müşteride denedik; hızlıca çözülmüş görünen bir fix vardı ama edge-case testi yapılınca ek kontrol gerektiği ortaya çıktı. Yanı yardımcı evet, kurtarıcı bazen… ama tek başına yeterli değil.

Bölgeye Göre Değişen Gerçekler: Startup mı Enterprise mı?

Küçük startup ile kurumsal yapı arasında security kültürü aynı şekilde işlemiyor — zaten işlemesi de gerekmiyor belki de.

Startup tarafında hedef hızlı öğrenmek olduğu için minimum viable security yaklaşımı iyi sonuç verebilir. Mesela yalnızca public exposure azaltma ve dependency takibi bile büyük fark yaratır.

Ama enterprise tarafta işin içine governance girer; loglama, rol bazlı erişim ve onay mekanizmaları devreye girer. Burada mesele tool sayısı değil, uyumlu çalışma şekli.

Sahada Öğrendiklerim ve Pratik Tavsiyeler

Güvenlik aracını kurmak kolaydır, sürdürülebilir hâle getirmek zor kısmıdır. Ben kendi projelerimde genelde şöyle ilerliyorum: önce exposure alanlarını daraltıyorum, sonra alert sahiplerini belirliyorum, ardından da triage sürecini sadeleştiriyorum. Bu üçlü oturunca sistem rahatlıyor.

Buradaki asıl mesele şu: araçlar birbirine bağlı olsun, insanlar da ne yapacağını bilsin.

  1. Triage sahibi belirleyin: Uyarıya kim bakacak belli olsun.
  2. SLA tanımlayın: Kritik alert kaç saatte ele alınacak?
  3. Eğitim verin: Geliştirici secret ile config farkını bilmeli.
  4. Düzenli raporlayın: “Sadece araç” yaklaşımından kaçının.

Sıkça Sorulan Sorular

GitHub security features ücretsiz mi?

Evet, public repository’lerde bazı temel özellikler ücretsiz kullanılabiliyor. Private repo tarafında işe GitHub Advanced Security lisansı gerekebiliyor.

Secret scanning neyi yakalar?

API key’leri, token’ları, sertifikaları veya başka hassas bilgileri tespit etmeye çalışır. Yanlış pozitif çıkabilir ama ciddiye almak gerekir.

Copilot Autofix tek başına yeter mi?

Hayır. Bazı durumlarda hızlı yardım sağlar ama insan incelemesi hâlâ gerekli. Kritik sistemlerde önerilen düzeltmeleri test etmeden uygulamamak lazım.

Küçük ekipler önce hangi özelliği açmalı?

Başlangıç için secret scanning + Dependabot iyi bir ikili olur. Sonra code scanning’i eklemek mantıklı. Hepsini aynı anda kusursuz yapmak yerine aşamalı gitmek daha sağlıklı.

Kaynaklar ve İleri Okuma

GitHub Code Security Resmî Dokümantasyonu
GitHub Secret Scanning Rehberi
GitHub Code Scanning Rehberi
GitHub Security Bloğu
GitHub Actions’da Özel Runner İmajları: Kontrol Artık Sizde!
Açık Kaynak Güvenlik Açıkları: 2025’te Neler Değişti?
GitHub Credential Revocation API ile Sızıntılara Anında Fren: Yeni Destekler ve Gerçek Hayat Senaryoları

🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

Copilot Code Review: Daha İyi Araç Neden Kötü Sonuç Verdi?
Copilot Code Review: Daha İyi Araç Neden Kötü Sonuç Verdi?13 Tem 2026
Claude Opus 4.7 Copilot'a Geldi: İlk İzlenimler
Claude Opus 4.7 Copilot'a Geldi: İlk İzlenimler16 Nis 2026
Teams’te Çalışan Ajanlar: İşin Olduğu Yerde Başlamak
Teams’te Çalışan Ajanlar: İşin Olduğu Yerde Başlamak8 Haz 2026
Visual Studio'da Çözüm Bazlı Renk Teması Nasıl Ayarlanır
Visual Studio'da Çözüm Bazlı Renk Teması Nasıl Ayarlanır2 Eyl 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket bağımlılık riski CI/CD güvenliği code scanning Dependabot GitHub güvenliği secret scanning zafiyet yönetimi
Önceki yazı

Kubernetes’te AI Dönemi: Microsoft’un KubeCon 2026 Hamlesi

Sonraki yazı

azd Mart 2026: AI Ajanları ve Copilot’la Yeni Dönem

İlginizi Çekebilir

Azure Cosmos DB RBAC: Tek Kişilik Projede Gerekli mi?
Aşkın KILIÇ 0

Azure Cosmos DB RBAC: Tek Kişilik Projede Gerekli mi?

05/10/2026
GPT-6 Model Seçimi: Reasoning Effort ve Araç Uyumu
Aşkın KILIÇ 0

GPT-6 Model Seçimi: Reasoning Effort ve Araç Uyumu

05/10/2026
Work IQ Developer Tools ile Copilot Plugin Paketleme
Aşkın KILIÇ 0

Work IQ Developer Tools ile Copilot Plugin Paketleme

04/10/2026

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Azure Virtual Desktop'ta 0x5000057 ve 0x807: Vaka Analizi
    05/10/2026 Azure Virtual Desktop’ta 0x5000057 ve 0x807: Vaka Analizi
  • MSTest 4.5 ile UWP ve WinUI 3'te UI Thread Testleri
    05/10/2026 MSTest 4.5 ile UWP ve WinUI 3’te UI Thread Testleri
  • Azure Cosmos DB RBAC: Tek Kişilik Projede Gerekli mi?
    05/10/2026 Azure Cosmos DB RBAC: Tek Kişilik Projede Gerekli mi?
  • GPT-6 Model Seçimi: Reasoning Effort ve Araç Uyumu
    05/10/2026 GPT-6 Model Seçimi: Reasoning Effort ve Araç Uyumu
  • Cosmos DB Mirroring: VNet Gateway ile Kapalı Ağda Kurulum
    05/10/2026 Cosmos DB Mirroring: VNet Gateway ile Kapalı Ağda Kurulum
  • 25 Dolar Altında Yapay Zeka Uygulaması mı? İşte Nasıl Yapılır!
    10/03/2026 25 Dolara Yapay Zeka Uygulaması Nasıl Yapılır?
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
    18/03/2026 Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL bulut bilişim CI/CD code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry otomasyon performans Pull Request RAG REST API SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 469 yazı 🏗️ Bulut Altyapı 378 yazı 🤖 Yapay Zeka 314 yazı 🔧 DevOps 260 yazı ☁️ Microsoft Azure 254 yazı 🔒 Güvenlik & Kimlik 214 yazı 🏢 Kurumsal Teknoloji 96 yazı 📊 Veri & Analitik 66 yazı 🐳 Konteyner & Kubernetes 61 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Kubernetes’te AI Dönemi: Micro...
    azd Mart 2026: AI Ajanları ve ... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS