Yakın zamanda yapılan bir araştırma, kod üreten yapay zeka sistemlerini kullanan yazılım mühendislerinin geliştirdikleri uygulamalarda güvenlik açıklarına neden olma olasılığının daha yüksek olduğunu ortaya koyuyor. Stanford’a bağlı bir araştırmacı ekibinin ortak yazdığı makale, GitHub gibi satıcılar ciddi bir şekilde pazarlamaya başladıkça, kod üreten sistemlerin potansiyel tuzaklarını vurguluyor.
Stanford’da doktora adayı ve araştırmanın baş yazarlarından Neil Perry, TechCrunch’a bir e-posta röportajında ”Kod üreten sistemler şu anda insan geliştiricilerin yerini alamaz” dedi. “Bunları kendi uzmanlık alanlarının dışındaki görevleri tamamlamak için kullanan geliştiriciler endişelenmeli ve zaten yetenekli oldukları görevleri hızlandırmak için bunları kullananlar, çıktıları ve genel olarak kullanıldıkları bağlamı dikkatlice iki kez kontrol etmelidir. proje.”
Stanford çalışması, özellikle San Francisco merkezli araştırma laboratuvarı OpenAI tarafından geliştirilen AI kod üretme sistemi Codex’e baktı. (Codex, Copilot’a güç verir.) Araştırmacılar, Python, JavaScript ve C gibi programlama dillerinde güvenlikle ilgili sorunları çözmek için Codex’i kullanmaları için lisans öğrencilerinden onlarca yıllık programlama deneyimine sahip endüstri profesyonellerine kadar değişen 47 geliştiriciyi işe aldı.
Codex, mevcut kodun bağlamı göz önüne alındığında ek kod satırları ve işlevler önermek için milyarlarca ortak kod satırı üzerinde eğitildi. Sistem, hem bilgi tabanından hem de mevcut bağlamdan yararlanarak, bir geliştiricinin neyi başarmak istediğinin açıklamasına (örneğin, “Merhaba dünya deyin”) yanıt olarak bir programlama yaklaşımı veya çözümü ortaya çıkarır.
Araştırmacılara göre, Codex’e erişimi olan çalışma katılımcılarının, bir kontrol grubuna kıyasla programlama sorunlarına yanlış ve “güvensiz” (siber güvenlik anlamında) çözümler yazma olasılığı daha yüksekti. Daha da endişe verici olanı, kontrol altındaki insanlara kıyasla güvensiz cevaplarının güvenli olduğunu söyleme olasılıkları daha yüksekti.
Megha Srivastava, Stanford’da bir yüksek lisans öğrencisi ve ikinci çalışmanın ortak yazarı, bulguların Codex ve diğer kod üreten sistemleri tamamen kınamadığını vurguladı. Çalışmaya katılanlar, örneğin kod güvenlik açıklarını daha iyi tespit etmelerini sağlayacak güvenlik uzmanlığına sahip değildi. Bunun yanı sıra Srivastava, kod üreten sistemlerin, keşif araştırma kodu gibi yüksek riskli olmayan görevler için güvenilir bir şekilde yardımcı olduğuna ve kodlama önerilerinde ince ayar yapılarak iyileştirilebileceğine inanıyor.
“Kendi yazılımını geliştiren şirketler [systems]belki de şirket içi kaynak kodu konusunda daha fazla eğitilmiş, daha iyi durumda olabilir çünkü model, kodlama ve güvenlik uygulamalarıyla daha uyumlu çıktılar üretmeye teşvik edilebilir,” dedi Srivastava.
Peki GitHub gibi sağlayıcılar, kod üreten yapay zeka sistemlerini kullanan geliştiriciler tarafından güvenlik açıklarının ortaya çıkmasını nasıl önleyebilir? Ortak yazarların, daha güvenli olmak için kullanıcıların istemlerini “iyileştiren” bir mekanizma da dahil olmak üzere birkaç fikri var – bir süpervizörün kaba kod taslaklarına bakıp gözden geçirmesine benzer. Ayrıca, kod üreten sistemler her zaman istismar içermeyen varsayılan değerlere bağlı kalma eğiliminde olduğundan, kriptografi kitaplıklarının geliştiricilerinin varsayılan ayarlarının güvenli olduğundan emin olmalarını önerirler.
“AI yardımcı kod oluşturma araçları gerçekten heyecan verici bir gelişme ve bu kadar çok insanın bunları kullanmaya hevesli olması anlaşılır bir şey. Bu araçlar, ilerlemeyi düşünmek için sorunlar ortaya çıkarıyor, ancak … Amacımız, kod oluşturma modellerinin kullanımı hakkında daha geniş bir açıklama yapmak, ”dedi Perry. “Bu sorunları keşfetmek ve bunları ele almak için teknikler geliştirmek için daha fazla çalışma yapılması gerekiyor.”
Perry’ye göre, güvenlik açıklarını ortaya çıkarmak, kod üreten AI sistemlerinin tek kusuru değildir. Codex’in üzerinde eğitildiği kodun en azından bir kısmı kısıtlayıcı bir lisans kapsamındadır; kullanıcılar, Copilot’tan Quake’ten kod, kişisel kod tabanlarındaki kod parçacıkları ve “Mastering JavaScript” ve “Think JavaScript” gibi kitaplardan örnek kod oluşturmasını isteyebilir. Bazı hukuk uzmanları, Copilot’un, araçtaki telif hakkıyla korunan önerileri farkında olmadan kendi üretim yazılımlarına dahil etmeleri durumunda şirketleri ve geliştiricileri riske atabileceğini savundu.
GitHub’ın bunu düzeltme girişimi, ilk olarak Haziran ayında Copilot platformuna sunulan, kod önerilerini çevreleyen yaklaşık 150 karakterlik kodla birlikte genel GitHub koduna göre kontrol eden ve bir eşleşme veya “yakın eşleşme” varsa önerileri gizleyen bir filtredir. Ama bu kusurlu bir ölçü. Texas A&M Üniversitesi’nde bilgisayar bilimi profesörü olan Tim Davis, filtrenin etkinleştirilmesinin Copilot’un tüm atıf ve lisans metinleri dahil olmak üzere telif hakkıyla korunan kodunun büyük parçalarını yaymasına neden olduğunu keşfetti.
“[For these reasons,] Srivastava, başlangıç aşamasındaki geliştiricileri güçlü kodlama uygulamaları konusunda eğitmek yerine bu araçların kullanımına karşı büyük ölçüde ihtiyatlı davrandığımızı belirtiyor.