Yapay zeka ortak programcıları belki de PlatoBlockchain Veri Zekasından korkulduğu kadar çok hata ortaya çıkarmayacaktır. Dikey Arama. Ai.

AI ortak programcıları belki de korkulduğu kadar çok hata üretmeyecek

GitHub Copilot gibi yeni nesil kod tamamlama araçlarına güç veren makine öğrenimi modelleri, yazılım geliştiricilerin daha az güvenli hale getirmeden daha işlevsel kod yazmasına yardımcı olabilir.

Bu, New York Üniversitesi'nden bir grup bilgisayar bilimci tarafından yürütülen, küçük de olsa, 58 kişilik bir anketin geçici sonucudur.

In Kağıt ArXiv aracılığıyla dağıtılan Gustavo Sandoval, Hammond Pearce, Teo Nys, Ramesh Karri, Brendan Dolan-Gavitt ve Siddharth Garg, büyük dil modelleri (LLM'ler) yardımıyla oluşturulan kaynak kodunun güvenliğini nasıl test ettiklerini anlatıyor.

OpenAI GPT ailesi gibi LLM'ler, büyük miktarlarda genel metin verileri veya OpenAI'nin Codex'i, GPT'nin soyundan gelen ve GitHub'un Copilot'unun temeli durumunda genel kaynak kodu üzerinde eğitilmiştir. Bu nedenle, geçmişte insan programcılar tarafından yapılan ve "çöp içeri, çöp dışarı" düsturunu örnekleyen hataları yeniden üretebilirler. Bu araçların yeniden ortaya çıkacağı ve geliştiricilere kötü kod önereceği ve geliştiricilerin bunları projelerine ekleyeceği korkusu vardı.

Dahası, kod güvenliği bağlamsal olabilir: Tek başına güvenli olan kod, diğer yazılımlarla belirli bir sırayla çalıştırıldığında güvenli olmayabilir. Bu nedenle, bu otomatik tamamlama araçları, kendi başlarına iyi olan, ancak diğer kodlarla bağlantılı olarak artık saldırılara karşı savunmasız veya tamamen bozuk olan kod önerileri sunabilir. Bununla birlikte, bu araçların aslında insanları programlama konusunda daha da kötüleştirmeyebileceği ortaya çıktı.

Bir bakıma araştırmacılar kendi ateşlerini söndürüyorlardı. Yaklaşık bir yıl önce, aynı bilgisayar bilimcilerinden ikisi, "Klavye Başında Uyuyor musunuz?" başlıklı bir makaleye katkıda bulundular. GitHub Copilot'un Kod Katkılarının Güvenliğinin Değerlendirilmesi." O iş bulundu Yaklaşık 40 yüzde Copilot'tan elde edilen çıktının, potansiyel olarak sömürülebilir zayıflıkları içeriyordu (CWE'ler).

"İki makale arasındaki fark, 'Klavyede Uyuyor'un tamamen otomatik kod oluşturmaya bakıyor olmasıydı (döngüde insan yok) ve karşılaştırabileceğimiz insan kullanıcılarımız yoktu, bu yüzden nasıl olduğu hakkında hiçbir şey söyleyemedik. NYU Tandon'daki bilgisayar bilimi ve mühendislik bölümünde yardımcı doçent ve makalelerin ortak yazarı Brendan Dolan-Gavitt, Copilot'un güvenliğinin insan tarafından yazılan kodun güvenliğiyle karşılaştırıldığında "dedi. Kayıt.

"Kullanıcı çalışma belgesi, kullanıcıların yarısının Codex'ten (Copilot'a güç veren model) yardım almasını ve diğer yarısının kodu kendilerinin yazmasını sağlayarak bu eksik parçaları doğrudan gidermeye çalışıyor. Ancak aynı zamanda 'Klavyede Uyuyor'dan da daha dardır: yalnızca tek bir göreve ve tek dile baktık (C'de bağlantılı bir liste yazmak).

"Büyük Dil Modeli Kod Asistanlarının Güvenlik Etkileri: Bir Kullanıcı Araştırması" başlıklı son raporda, biraz farklı NYU araştırmacıları, önceki çalışmaların Copilot gibi LLM tabanlı araçların kullanımını gerçekçi bir şekilde modellemede başarısız olduğunu kabul ediyor.

Boffinler makalelerinde şöyle açıklıyor: "Öncelikle bu çalışmalar, kodun tamamının LLM tarafından otomatik olarak oluşturulduğunu varsayıyor (biz buna otopilot modu diyeceğiz).

"Uygulamada, kod tamamlama Yüksek Lisansı geliştiricilere kabul etmeyi, düzenlemeyi veya reddetmeyi seçecekleri önerilerle yardımcı oluyor. Bu, otomasyon yanlılığına yatkın programcıların hatalı tamamlamaları safça kabul edebileceği anlamına gelirken, diğer geliştiricilerin kazanılan zamanı hataları düzeltmek için kullanarak daha az hatalı kod üretebileceği anlamına geliyor."

İkincisi, LLM'lerin buggy kodu ürettiği gösterilmiş olsa da, insanların da bunu yaptığını gözlemliyorlar. LLM eğitim verilerindeki hatalar insanlardan geldi.

Bu nedenle, LLM tarafından oluşturulan kodun hatasını kendi başına değerlendirmek yerine, makine öğrenimi modelleri tarafından desteklenen insan geliştiriciler tarafından üretilen kodun kendi başlarına çalışan programlama tarafından üretilen koddan nasıl farklı olduğunu karşılaştırmaya başladılar.

NYU bilgisayar bilimcileri, yazılım geliştirme kurslarındaki lisans ve lisansüstü öğrencilerden oluşan 58 anket katılımcısını işe aldı ve bunları, öneriler olmadan çalışacak bir Kontrol grubuna ve OpenAI kullanılarak oluşturulmuş özel bir öneri sistemine erişimi olan bir Yardımlı gruba ayırdı. Kodeks API'si. Ayrıca, karşılaştırma noktası olarak verilen programlama sorunlarına 30 çözüm oluşturmak için Codex modelini kullandılar. Bu Otopilot grubu, esas olarak ikinci bir kontrol grubu olarak işlev gördü.

Hem Desteklenen hem de Kontrol gruplarının Google ve Stack Overflow gibi web kaynaklarına başvurmalarına izin verildi, ancak başkalarından yardım istemelerine izin verilmedi. Açık kaynak ile oluşturulmuş web tabanlı bir kapsayıcıda Visual Studio Code'da çalışma yapıldı Anubis.

Katılımcılardan C programlama dilini kullanarak bir alışveriş listesi programını tamamlamaları istendi çünkü “geliştiricilerin hassas tasarım kalıplarını C'de yanlışlıkla ifade etmesi kolaydır” ve kullanılan C derleyici araç zinciri, aynı derecedeki araç zincirlerindeki hataları kontrol etmez. Go ve Rust gibi modern diller bunu yapar.

Araştırmacılar, Kontrol ve Asistan grupları tarafından üretilen kodu manuel olarak analiz ettiklerinde, önceki çalışmaların aksine, yapay zeka kod önerilerinin genel olarak durumu daha da kötüleştirmediğini buldular.

Açık görünüyor, ancak ayrıntılar var

Makalede, "[W]e Codex yardımının güvenlik hatası vakalarını artırdığına dair hiçbir kanıt bulunamadı" ifadesine yer verilirken, çalışmanın küçük örneklem büyüklüğünün daha fazla çalışmanın gerekli olduğu anlamına geldiği de belirtildi. "Aksine, Codex yardımı ile CWE'lerin/LoC'nin [kod satırları] azaldığını gösteren bazı kanıtlar var."

Siber güvenlik araştırmacısı ve NYU Tandon mühendislik bölümünde doçent olan Siddharth Garg, bir telefon görüşmesinde şunları söyledi: "Bunu çok fazla istatistiksel güvenle sonuca varmak zor." Kayıt.

Bunu çok fazla istatistiksel güvenle sonuçlandırmak zor

Yine de şunları söyledi: "Veriler, Copilot kullanıcılarının durumunun çok da kötü olmadığını gösteriyor."

Dolan-Gavitt de benzer şekilde bulgular konusunda temkinli.

"Kullanıcı çalışması sonuçlarımızın mevcut analizi istatistiksel olarak anlamlı bir farklılık bulamadı - bunu niteliksel de dahil olmak üzere hala analiz ediyoruz, bu nedenle özellikle küçük bir çalışma olduğu (toplam 58 kullanıcı) ve kullanıcıların tamamı profesyonel geliştiricilerden ziyade öğrencilerdi” dedi.

"Yine de, bu kullanıcılar söz konusu olduğunda, bu görevde yapay zeka desteğine sahip olmanın güvenlik etkisinin muhtemelen büyük olmadığını söyleyebiliriz: eğer çok büyük bir etkisi olsaydı, iki grup arasında daha büyük bir fark gözlemlerdik. Şu anda bunu kesinleştirmek için biraz daha istatistiksel analiz yapıyoruz."

Bunun ötesinde, başka içgörüler ortaya çıktı. Birincisi, Asistan grubu katılımcılarının daha üretken olması, daha fazla kod satırı oluşturması ve ödevdeki işlevlerin daha büyük bir bölümünü tamamlamasıdır.

Garg, "Yardımlı gruptaki kullanıcılar daha fazla işlevsel testten geçti ve daha işlevsel kod üretti" dedi ve bu tür sonuçların, yardımcı kodlama araçlarına bakan şirketlerin bunları dağıtıp dağıtmayacağına karar vermelerine yardımcı olabileceğini ekledi.

Bir diğeri ise, araştırmacıların Kontrol, Destekli ve Otopilot grupları tarafından üretilen çıktıyı ayırt edebilmeleridir. endişeleri eğitim ortamlarında AI gücü hile hakkında.

Boffins ayrıca yapay zeka araçlarının kullanıcı hatası bağlamında değerlendirilmesi gerektiğini de buldu. Makalede, "Kullanıcılar, hatalar içerebilecek istemler sağlıyor, 'tamamlanmış' programlarda ortaya çıkan hatalı istemleri kabul etmenin yanı sıra daha sonra kaldırılacak hataları da kabul ediyor" diyor. "Bazı durumlarda kullanıcılar modelin önerdiğinden daha fazla hatayla karşılaşıyor!"

Bu hatlar boyunca daha fazla çalışma bekleyin. ®

Zaman Damgası:

Den fazla Kayıt