Anthropic'in Claude Code Aracındaki Güvenlik Açığı: CI/CD Sırlarının Sızdırılması

Microsoft araştırmacıları, Anthropic'in Claude Code GitHub Action aracında keşfedilen bir güvenlik açığını duyurdu. Bu açıktan yararlanan saldırganlar, CI/CD sırlarını ele geçirebiliyordu.

4
4sysops
1 görüntülenme
Anthropic'in Claude Code Aracındaki Güvenlik Açığı: CI/CD Sırlarının Sızdırılması

Giriş

Microsoft araştırmacıları tarafından keşfedilen ve Anthropic'in Claude Code GitHub Action aracında bulunan bir güvenlik açığı, saldırganların CI/CD ortamından hassas sırları (secrets) sızdırmasına olanak tanıyordu. Bu açıklık, özellikle CI/CD (Continuous Integration/Continuous Deployment) süreçlerinde kullanılan API anahtarları, şifreler ve diğer gizli bilgilerin ele geçirilmesine yol açabilmekteydi.

Sorunun Tanımı

Güvenlik Açığının Kökeni

Claude Code, sandbox (kum havuzu) teknolojisi kullanarak komut çalıştırma işlemlerini izole ediyordu. Ancak, bu sandbox mekanizması dosya okuma işlemlerinde aynı koruma seviyesine sahip değildi. Bu durum, saldırganların zararlı girdilerle manipüle edilerek sistemdeki hassas dosyalara erişmesine olanak tanıyordu. Özellikle, ortam değişkenleri (environment variables) içerisinde saklanan API anahtarları, veritabanı şifreleri ve diğer kimlik bilgileri hedef alınabiliyordu.

Etki ve Riskler

Bu güvenlik açığından yararlanan saldırganlar aşağıdaki yeteneklere sahip olabiliyordu:

  • CI/CD sırlarının sızdırılması: API anahtarları, GitHub Token'ları ve diğer kimlik bilgileri ele geçirilebiliyordu.
  • Saldırganın kod enjeksiyonu: Saldırganlar, CI/CD boru hattına zararlı komutlar enjekte edebiliyor ve otomatik dağıtım süreçlerini bozabiliyordu.
  • Veri sızıntısı: Hassas verilerin çalınması veya manipüle edilmesi mümkün hale geliyordu.
  • Tedarik zinciri saldırıları: Saldırganlar, CI/CD aracılığıyla diğer sistemlere sıçrayabiliyordu.

Çözüm Adımları

1. Güvenlik Açığının Kapatılması

Anthropic ekibi, dosya okuma yetkilerini de sandbox mekanizmasına dahil ederek bu açıklığı giderdi. Aşağıdaki adımlar izlenerek güvenlik iyileştirmeleri gerçekleştirildi:

  1. Sandbox genişletmesi:

    Claude Code'un dosya okuma yetenekleri, komut çalıştırma yetenekleriyle aynı izolasyon seviyesine getirildi. Bu sayede, saldırganların hassas dosyalara erişimi engellendi.

  2. Yetki kısıtlamaları:

    Aşağıdaki komutlar kullanılarak dosya sistemi erişimi kısıtlandı:

    # Sandbox yapılandırmasında dosya okuma yetkilerini devre dışı bırakma
    {
      "file_reading_restricted": true,
      "sandbox_mode": "strict"
    }
    
    Uyarı: Bu yapılandırmanın doğru şekilde uygulanması kritik öneme sahiptir. Yanlış ayarlar, Claude Code'un fonksiyonelliğini bozabilir.
  3. Çevresel Değişkenlerin Korunması:

    CI/CD ortamındaki hassas değişkenlerin GitHub Secrets gibi güvenli depolama alanlarında saklanması önerilmektedir. Örnek:

    # GitHub Actions workflow dosyasında secrets kullanımı
    env:
      API_KEY: ${{ secrets.API_KEY }}
      DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
    

2. CI/CD Boru Hattının Güçlendirilmesi

Güvenlik açığının kapatılmasının yanı sıra, aşağıdaki adımlar izlenerek CI/CD boru hattının genel güvenliği artırılmalıdır:

  1. İki Faktörlü Kimlik Doğrulama (2FA):

    GitHub, GitLab ve diğer CI/CD platformlarında 2FA zorunlu hale getirilmelidir.

  2. Sınırlı Yetkiler:

    CI/CD araçlarına minimum yetki prensibi uygulanmalıdır. Örneğin, yalnızca gerekli repository'lere erişim verilmelidir.

  3. Günlük Denetimleri:

    CI/CD boru hattındaki tüm aktivitelerin günlük kayıtları tutulmalı ve düzenli olarak incelenmelidir.

  4. Güvenlik Testleri:

    CI/CD boru hattına güvenlik taramaları entegre edilmelidir. Örneğin, Trivy veya Snyk gibi araçlar kullanılarak bağımlılıklar taranabilir.

    # Trivy kullanarak bağımlılıkların taranması
    trivy fs --security-checks vuln .
    

3. Kullanıcıların Bilgilendirilmesi

Anthropic, güvenlik açığının kapatıldığını kullanıcılara duyurdu. Kullanıcıların aşağıdaki adımları izlemesi önerilmektedir:

  1. Güncellemeleri Kontrol Etme:

    Claude Code'un en son sürümüne güncellenmesi sağlanmalıdır. Güncellemeler, GitHub Releases sayfasından takip edilebilir.

  2. Sırların Gözden Geçirilmesi:

    CI/CD ortamındaki tüm sırların (secrets) gözden geçirilmesi ve gereksiz olanların kaldırılması önerilmektedir. Saldırganlar tarafından ele geçirilen sırların değiştirilmesi önemlidir.

  3. Güvenlik Denetimleri:

    CI/CD boru hattında güvenlik denetimleri gerçekleştirilmelidir. Örneğin, GitHub Advanced Security veya üçüncü taraf araçlar kullanılabilir.

Uygulama Örneği: Claude Code Güvenlik Ayarlarının Yapılandırılması

Aşağıdaki örnek, Claude Code'un güvenlik ayarlarının nasıl yapılandırılacağını göstermektedir:

# .claude/config.json dosyasında güvenlik ayarlarının tanımlanması
{
  "sandbox_mode": "strict",
  "file_reading_restricted": true,
  "allowed_directories": [
    "/tmp",
    "/home/user/workspace"
  ],
  "blocked_directories": [
    "/etc",
    "/root",
    "/home/user/.ssh"
  ]
}
İpucu: Güvenlik ayarlarını yapılandırırken, Claude Code'un temel fonksiyonelliğinin bozulmadığından emin olun. Gereksiz kısıtlamalar, aracın kullanımını zorlaştırabilir.

Sonuç

Microsoft araştırmacıları tarafından keşfedilen bu güvenlik açığı, CI/CD süreçlerinin ne kadar hassas olduğunu bir kez daha gözler önüne serdi. Anthropic'in hızlı müdahalesi ve güvenlik iyileştirmeleri sayesinde, saldırganların CI/CD sırlarına erişimi engellendi. Ancak, bu olayın ardından CI/CD güvenliğinin sürekli olarak izlenmesi ve güncellenmesi gerektiği unutulmamalıdır.

Geliştiricilerin ve sistem yöneticilerinin, güvenlik en iyi uygulamalarını takip etmeleri ve düzenli güvenlik denetimleri gerçekleştirmeleri önemlidir. Bu sayede, gelecekte benzer güvenlik açıklarının önüne geçilebilir ve CI/CD ortamları daha güvenli hale getirilebilir.

Kaynaklar

Kaynak

4sysops