LLM’ler ve Güvensiz Kod Üretimi: Varsayılan Senaryo
Backslash Security’nin son araştırması, GPT-4.1 gibi Büyük Dil Modellerinin (LLM’ler) ve diğer yaygın olarak kullanılan modellerin, varsayılan olarak güvensiz kod üretme eğiliminde olduğunu ortaya koymuştur. Bu, güvenlik üzerine odaklanan belirli talimatlar veya yönergeler olmaksızın, bu yapay zeka sistemleri tarafından üretilen kodun genellikle yaygın zayıflıklara ve istismarlara karşı savunmasız olduğu anlamına gelir. Ancak araştırma, ek güvenlik rehberliği sağlayarak veya kural tabanlı yönetişim uygulayarak üretilen kodun güvenliğinin önemli ölçüde iyileştirilebileceğini de göstermektedir.
Bu konuyu daha ayrıntılı olarak araştırmak için Backslash Security, Agentic Entegre Geliştirme Ortamları (IDE’ler) için tasarlanmış Kurallar ve Uzantılar ile birlikte Model Bağlam Protokolü (MCP) Sunucusunu başlattığını duyurdu. Bu araçlar, LLM tarafından oluşturulan kodda tespit edilen güvenlik açıklarını gidermeyi ve geliştiricilere daha güvenli uygulamalar oluşturma araçları sağlamayı amaçlamaktadır.
Backslash Security, OpenAI’ın GPT modelleri, Anthropic’in Claude’u ve Google’ın Gemini’si de dahil olmak üzere popüler LLM’lerin yedi farklı versiyonu üzerinde bir dizi test gerçekleştirdi. Amaç, çeşitli istem tekniklerinin modellerin güvenli kod üretme yeteneğini nasıl etkilediğini değerlendirmekti. Kod çıktısının güvenliği, yaygın yazılım açıklarını temsil eden on Ortak Zayıflık Numaralandırması (CWE) kullanım durumuna karşı dayanıklılığına göre değerlendirildi.
Bu testlerin sonuçları, oluşturulan kodun güvenliğinin daha karmaşık istem teknikleriyle iyileştiğini sürekli olarak gösterdi. Ancak, kapsayıcı tema, test edilen tüm LLM’lerin kendi başlarına bırakıldıklarında genellikle güvensiz kod ürettiğiydi. Bu, bu modellerin varsayılan konfigürasyonlarında güvenliğe öncelik vermediğini ve genellikle yaygın kodlama zayıflıklarını ele almadığını göstermektedir.
Naif İstekler: Savunmasızlığın Tarifi
Güvenlik hususlarından açıkça bahsetmeyen basit, “naif” isteklerle sunulduğunda, test edilen tüm LLM’ler, on ortak CWE’den en az dördüne karşı savunmasız olan güvensiz kod üretti. Bu, belirli bir rehberlik olmadan çalışırken bu modellerde güvenlik bilincinin doğasında olmadığını vurgulamaktadır.
Güvenlik Odaklı İsteklerin Etkisi
Genel olarak güvenlik ihtiyacını belirten istekler, daha güvenli sonuçlara yol açtı ve LLM’lerin açıkça talimat verildiğinde daha güvenli kod üretebildiğini gösterdi. Dahası, Açık Web Uygulaması Güvenlik Projesi (OWASP) en iyi uygulamalarına uygun kod isteyen istekler daha da iyi sonuçlar verdi. OWASP, yazılımın güvenliğini iyileştirmek için çalışan kar amacı gütmeyen bir kuruluştur. Ancak, bu daha karmaşık istemlerle bile, test edilen yedi LLM’den beşinde bazı kod güvenlik açıkları devam etti ve LLM’ler ile sürekli olarak güvenli kod oluşturmanın zorluklarının altını çizdi.
Kural Tabanlı İstekler: Güvenli Koda Giden Yol
Güvenli kod oluşturmak için en etkili yaklaşım, belirli CWE’leri ele almak için Backslash tarafından belirtilen kurallara bağlı istekleri içeriyordu. Bu kural tabanlı istekler, güvenli ve test edilen CWE’lere karşı savunmasız olmayan kodlarla sonuçlandı. Bu, LLM’lere belirli, hedefe yönelik rehberlik sağlamanın, oluşturulan kodun güvenliğini sağlamak için çok önemli olduğunu göstermektedir.
LLM’ler Arasında Performans Varyasyonları
Genel olarak, OpenAI’ın GPT-4o’su tüm isteklerde en düşük performansı sergiledi ve “naif” istekler kullanırken sadece 1/10 güvenli kod sonucu elde etti. Güvenli kod üretmesi istendiğinde bile, yine de on sorundan sekizine karşı savunmasız güvensiz çıktılar üretti. GPT-4.1, naif isteklerle önemli ölçüde daha iyi performans göstermedi ve 1,5/10 puan aldı.
Buna karşılık, Claude 3.7 Sonnet, test edilen GenAI araçları arasında en iyi performans gösteren olarak ortaya çıktı. Naif istekler kullanarak 6/10 ve güvenlik odaklı istekler kullanırken mükemmel 10/10 puan aldı. Bu, bazı LLM’lerin açık talimatların yokluğunda bile güvenlik hususlarını ele almak için daha donanımlı olduğunu göstermektedir.
Backslash Security’nin Güvenli Vibe Kodlama İçin Çözümleri
LLM istem testi ile ortaya çıkan sorunları ele almak için Backslash Security, güvenli vibe kodlamayı etkinleştirmek için tasarlanmış çeşitli yeni özellikler sunuyor. Vibe kodlama, LLM’ler gibi yapay zeka araçlarını kullanarak kod üretme uygulamasına atıfta bulunur.
Backslash AI Kuralları ve Politikaları
Backslash AI Kuralları ve Politikaları, CWE kapsamını sağlamak için isteklere eklenebilen makine tarafından okunabilir kurallar sağlar. Bu kurallar, popüler bir kod düzenleyicisi olan Cursor gibi araçlarla kullanılabilir. Ek olarak, AI politikaları, Backslash platformu aracılığıyla IDE’lerde hangi AI kurallarının aktif olduğunu kontrol ederek kuruluşların güvenlik ayarlarını özelleştirmesine olanak tanır.
Backslash IDE Uzantısı
Backslash IDE Uzantısı, doğrudan geliştiricilerin mevcut iş akışlarına entegre olur ve hem insanlar hem de AI tarafından yazılan kod üzerinde Backslash güvenlik incelemeleri almalarına olanak tanır. Bu entegrasyon, güvenlik hususlarının geliştirme süreci boyunca ele alınmasını sağlamak içinçok önemlidir.
Backslash Model Bağlam Protokolü (MCP) Sunucusu
Backslash Model Bağlam Protokolü (MCP) Sunucusu, MCP standardına uygun bağlam duyarlı bir API’dir. Backslash’ı AI araçlarına bağlayarak güvenli kodlama, tarama ve düzeltmeleri etkinleştirir. MCP standardı, AI araçlarının iletişim kurması ve bilgi paylaşması için ortak bir çerçeve sağlayarak güvenli AI destekli uygulamaların geliştirilmesini kolaylaştırır.
AI Tarafından Oluşturulan Kodun Zorluklarını Ele Alma
Backslash Security’nin kurucu ortağı ve CTO’su Yossi Pik, AI tarafından oluşturulan kodun güvenlik ekiplerine getirdiği zorlukları vurguluyor. “AI tarafından oluşturulan kod – veya vibe kodlama – güvenlik ekipleri için bir kabus gibi gelebilir. Yeni kodların selini yaratır ve LLM halüsinasyonları ve istem duyarlılığı gibi riskleri beraberinde getirir.” Halüsinasyonlar, LLM’lerin yanlış veya anlamsız bilgiler ürettiği durumları ifade ederken, istem duyarlılığı LLM’lerin giriş istemindeki ince varyasyonlara bağlı olarak farklı çıktılar üretme eğilimini ifade eder.
Ancak Pik, doğru kontrollerle kullanıldığında AI’nın AppSec ekipleri için değerli bir araç olabileceğine de inanıyor. “Kuruluş tarafından tanımlanan kurallar ve amaca yönelik bir güvenlik platformuna takılan bağlam duyarlı bir MCP sunucusu gibi doğru kontrollerle, AI aslında AppSec ekiplerine en başından daha fazla kontrol sağlayabilir.” Backslash Security, dinamik politika tabanlı kuralları, bağlama duyarlı MCP sunucusu ve IDE uzantısı aracılığıyla bu kontrolleri sağlamayı amaçlamaktadır ve bunların tümü yeni kodlama çağı için tasarlanmıştır.
Güvensiz AI Tarafından Oluşturulan Kodun Etkileri
Backslash Security’nin araştırmasından elde edilen bulgular, yazılım geliştirme endüstrisi için önemli sonuçlar doğurmaktadır. Yapay zeka destekli kod oluşturma araçları giderek yaygınlaştıkça, uygun güvenlik önlemleri olmadan bu araçlara güvenmeyle ilişkili riskleri anlamak çok önemlidir.
Siber Saldırılara Karşı Artan Savunmasızlık
Güvensiz AI tarafından oluşturulan kod, siber suçluların istismar edebileceği yeni güvenlik açıkları oluşturabilir. Bu güvenlik açıkları veri ihlallerine, sistem güvenliğinin ihlaline ve diğer güvenlik olaylarına yol açabilir.
Güvenlik Açıklarını Tanımlama ve Düzeltme Zorluğu
AI tarafından oluşturulan kodun büyük hacmi, güvenlik açıklarını tanımlamayı ve düzeltmeyi zorlaştırabilir. Güvenlik ekipleri, kod oluşturma hızına ayak uydurmakta zorlanabilir ve bu da güvenlik sorunlarının birikmesine yol açabilir.
Geliştiriciler Arasında Güvenlik Farkındalığının Olmaması
Birçok geliştirici, AI tarafından oluşturulan kodla ilişkili güvenlik risklerinin tam olarak farkında olmayabilir. Bu farkındalık eksikliği, geliştiricilerin istemeden uygulamalarına güvenlik açıkları eklemesine yol açabilir.
Düzenleyici Uyum Zorlukları
AI tarafından oluşturulan koda güvenen kuruluşlar, düzenleyici uyum zorluklarıyla karşılaşabilir. Birçok düzenleme, kuruluşların hassas verileri korumak için yeterli güvenlik önlemleri almasını gerektirir. Güvensiz AI tarafından oluşturulan kod, bu gereksinimleri karşılamayı zorlaştırabilir.
Güvenli AI Destekli Kod Oluşturma İçin En İyi Uygulamalar
Güvensiz AI tarafından oluşturulan kodla ilişkili riskleri azaltmak için kuruluşlar aşağıdaki en iyi uygulamaları benimsemelidir:
Geliştiricilere Güvenlik Eğitimi Sağlayın
Geliştiriciler, AI tarafından oluşturulan kodla ilişkili güvenlik riskleri hakkında eğitim almalıdır. Bu eğitim, yaygın CWE’ler, güvenli kodlama uygulamaları ve güvenlik araçlarının nasıl kullanılacağı gibi konuları kapsamalıdır.
Güvenlik Politikaları ve Prosedürleri Uygulayın
Kuruluşlar, AI tarafından oluşturulan kodun kullanımını ele alan güvenlik politikaları ve prosedürleri uygulamalıdır. Bu politikalar, kabul edilebilir kullanım durumlarını, güvenlik gereksinimlerini ve AI tarafından oluşturulan kodu inceleme ve onaylama süreçlerini tanımlamalıdır.
AI Tarafından Oluşturulan Kodu Taramak İçin Güvenlik Araçları Kullanın
Kuruluşlar, AI tarafından oluşturulan kodu güvenlik açıkları açısından taramak için güvenlik araçları kullanmalıdır. Bu araçlar, yaygın CWE’leri ve diğer güvenlik sorunlarını tanımlamaya yardımcı olabilir.
Güvenli Bir Geliştirme Yaşam Döngüsü (SDLC) Uygulayın
Kuruluşlar, geliştirme süreci boyunca güvenlik hususlarını içeren güvenli bir geliştirme yaşam döngüsü (SDLC) uygulamalıdır. Bu, AI tarafından oluşturulan kodun güvenlik incelemelerini yapmayı, sızma testi yapmayı ve güvenlik izlemeyi uygulamayı içerir.
Bir Hata Ödül Programı Oluşturun
Kuruluşlar, güvenlik araştırmacılarını AI tarafından oluşturulan koddaki güvenlik açıklarını bulmaya ve bildirmeye teşvik etmek için bir hata ödül programı oluşturmalıdır. Bu, iç güvenlik ekipleri tarafından kaçırılmış olabilecek güvenlik açıklarını tanımlamaya yardımcı olabilir.
En Son Güvenlik Tehditleri Hakkında Bilgi Sahibi Olun
Kuruluşlar, AI tarafından oluşturulan kodu etkileyen en son güvenlik tehditleri ve güvenlik açıkları hakkında bilgi sahibi olmalıdır. Bu, potansiyel güvenlik sorunlarını proaktif olarak ele almalarına yardımcı olabilir.
Güvenlik Uzmanlarıyla İşbirliği Yapın
Kuruluşlar, AI tarafından oluşturulan kodlarının güvenliğini değerlendirmek ve riskleri azaltmak için stratejiler geliştirmek için güvenlik uzmanlarıyla işbirliği yapmalıdır.
Güvenli AI Destekli Kod Oluşturmanın Geleceği
AI destekli kod oluşturma araçları gelişmeye devam ederken, güvenliğe öncelik vermek çok önemlidir. Yukarıda özetlenen en iyi uygulamaları uygulayarak, kuruluşlar güvensiz kodla ilişkili riskleri azaltırken AI destekli kod oluşturmanın faydalarından yararlanabilirler.
AI Güvenliğindeki Gelişmeler
Devam eden araştırma ve geliştirme çabaları, AI sistemlerinin güvenliğini iyileştirmeye odaklanmıştır. Bu çabalar, düşmanca saldırıları tespit etmek ve önlemek için yeni teknikler geliştirmeyi, AI modellerinin sağlamlığını iyileştirmeyi ve daha güvenli AI mimarileri oluşturmayı içerir.
Güvenliğin AI Geliştirmeye Entegrasyonu
Güvenlik, AI geliştirme sürecine giderek daha fazla entegre oluyor. Bu, AI modellerinin tasarımına güvenlik hususlarını dahil etmeyi, güvenli kodlama uygulamalarını kullanmayı ve geliştirme yaşam döngüsü boyunca güvenlik testi yapmayı içerir.
AI ve Güvenlik Uzmanları Arasında İşbirliği
AI sistemlerinin güvenliğini sağlamak için AI ve güvenlik uzmanları arasında işbirliği esastır. Bu işbirliği, potansiyel güvenlik risklerini tanımlamaya ve etkili azaltma stratejileri geliştirmeye yardımcı olabilir.
AI Güvenlik Riskleri Hakkında Artan Farkındalık
AI güvenlik riskleri hakkında artan farkındalık, yeni güvenlik araçları ve tekniklerinin geliştirilmesini teşvik etmektedir. Bu, düşmanca saldırıları tespit etme, AI modellerinin güvenliğini analiz etme ve şüpheli etkinlik için AI sistemlerini izleme araçlarını içerir.
Kuruluşlar, AI tarafından oluşturulan kodla ilişkili güvenlik zorluklarını ele alarak, sistemlerini ve verilerini siber saldırılardan korurken AI destekli geliştirmenin tüm potansiyelini ortaya çıkarabilirler.