Kod penulisan AI menjimatkan masa dan usaha.
Tetapi baru-baru ini, saintis komputer di Universiti Stanford mendapati bahawa kod yang ditulis oleh pengaturcara menggunakan pembantu AI sebenarnya penuh dengan kelemahan?
Mereka mendapati bahawa pengaturcara yang menerima bantuan alatan AI seperti Github Copilot untuk menulis kod adalah tidak selamat atau tepat seperti pengaturcara yang menulis secara bersendirian.
Dalam artikel "Adakah Pengguna Menulis Kod Lebih Tidak Selamat dengan Pembantu AI , Universiti Stanford menjadi ahli Neil Perry, Megha Srivastava, Deepak Kumar dan Dan Boneh menjalankan tinjauan pengguna berskala besar yang pertama.
Pautan kertas: https://arxiv.org/pdf/2211.03622.pdf
Matlamat penyelidikan ialah Terokai cara pengguna berinteraksi dengan pembantu Kod AI untuk menyelesaikan pelbagai tugas keselamatan dalam bahasa pengaturcaraan yang berbeza.
Pengarang menunjukkan dalam kertas:
Kami mendapati bahawa berbanding peserta yang tidak menggunakan pembantu AI, peserta yang menggunakan pembantu AI Lebih banyak kelemahan keselamatan sering dicipta, terutamanya akibat penyulitan rentetan dan suntikan SQL. Sementara itu, peserta yang menggunakan pembantu AI lebih cenderung percaya bahawa mereka menulis kod selamat.
Sebelum ini, penyelidik di Universiti New York telah menunjukkan bahawa pengaturcaraan berasaskan kecerdasan buatan tidak selamat di bawah keadaan percubaan yang berbeza.
Dalam kertas kerja "Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions" pada Ogos 2021, sarjana Stanford mendapati bahawa dalam 89 kes tertentu, kira-kira 40% daripada program komputer dicipta dengan bantuan Copilot mungkin mempunyai potensi risiko keselamatan dan kelemahan yang boleh dieksploitasi.
Tetapi mereka berkata kajian terdahulu terhad dalam skop kerana ia hanya menganggap set isyarat terhad dan hanya memasukkan tiga bahasa pengaturcaraan: Python, C dan Verilog.
Ahli akademik Stanford juga memetik penyelidikan susulan daripada NYU, namun kerana ia memfokuskan pada model codex-davinci-002 OpenAI dan bukannya model codex-cushman- 001 yang kurang berkuasa, kedua-duanya yang sedang berfungsi dalam GitHub Copilot, yang merupakan turunan model bahasa GPT-3 yang diperhalusi.
Untuk soalan tertentu, hanya 67% daripada kumpulan penerima memberikan jawapan yang betul, manakala 79% daripada kumpulan kawalan memberikan jawapan yang betul.
Graf menunjukkan peratusan (%) jawapan yang betul kepada setiap soalan, dengan nilai berpasangan dalam setiap lajur sepadan dengan kumpulan eksperimen (biru)/kumpulan kawalan (hijau), sel kosong mewakili 0, menggunakan ujian-t varians tidak sama Welch), dan juga lebih cenderung menggunakan nombor mudah seperti penggantian (p
Mari kita lihat bagaimana penyelidikan ini dijalankan.
Reka bentuk eksperimen dan penyediaan awalMasalah yang kami pilih boleh diselesaikan dalam masa yang singkat dan meliputi pelbagai kemungkinan ralat keselamatan.
kawasan utama yang ingin kami periksa ialah penggunaan perpustakaan (penyulitan/penyahsulitan), pengendalian data dikawal pengguna (laluan yang disediakan pengguna dalam direktori kotak pasir , suntikan skrip), kelemahan web biasa (suntikan SQL, suntikan skrip) dan isu asas seperti pengurusan memori (limpahan penimbal, limpahan integer, dll.).
Matlamat utama kami adalah untuk merekrut peserta dengan pelbagai pengalaman pengaturcaraan untuk memahami cara mereka mungkin mendekati isu pengaturcaraan berkaitan keselamatan.
Untuk melakukan ini, kami mengambil pelajar prasiswazah dan siswazah dari dua universiti besar di Amerika Syarikat, serta beberapa subjek yang berkod secara profesional daripada empat syarikat berbeza.
Gambar di bawah menunjukkan carta demografi subjek eksperimen.
Untuk mengesahkan sama ada peserta mempunyai pengetahuan pengaturcaraan, kami bertanya soalan pra-penyaringan pendek sebelum kajian yang merangkumi topik yang dinyatakan di atas Dalam bidang keselamatan dan bahasa pengaturcaraan:
Selain mencipta log yang kaya untuk setiap peserta, kami merakam skrin dan merakam audio proses dengan persetujuan peserta.
Semasa peserta menyelesaikan setiap soalan, mereka digesa untuk mengambil tinjauan keluar ringkas yang menerangkan pengalaman menulis kod mereka dan meminta beberapa maklumat demografi asas. Kepercayaan keselamatan, dalam kumpulan eksperimen, turut menyertakan keupayaan AI untuk menjana kod selamat untuk setiap tugas.
Gambar menunjukkan pertimbangan subjek tentang ketepatan dan keselamatan penyelesaian masalah Bar berwarna yang berbeza mewakili tahap persetujuan
Selain itu, kami mendapati bahawa peserta yang melabur lebih banyak dalam membuat pertanyaan kepada pembantu AI (seperti menyediakan ciri kebolehaksesan atau melaraskan parameter) lebih cenderung untuk memberikan penyelesaian yang selamat.
Akhir sekali, untuk menjalankan kajian ini, kami mencipta antara muka pengguna yang direka khusus untuk meneroka hasil orang menulis perisian menggunakan alat penjanaan kod berasaskan AI.Kami menerbitkan UI kami dan semua gesaan pengguna dan data interaksi di Github untuk menggalakkan penyelidikan lanjut tentang pelbagai cara pengguna mungkin memilih untuk berinteraksi dengan pembantu kod AI universal.
Atas ialah kandungan terperinci 89 percubaan, kadar ralat setinggi 40%! Tinjauan berskala besar pertama Stanford mendedahkan kelemahan dalam pengekodan AI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!