Rumah  >  Artikel  >  Peranti teknologi  >  89 percubaan, kadar ralat setinggi 40%! Tinjauan berskala besar pertama Stanford mendedahkan kelemahan dalam pengekodan AI

89 percubaan, kadar ralat setinggi 40%! Tinjauan berskala besar pertama Stanford mendedahkan kelemahan dalam pengekodan AI

WBOY
WBOYke hadapan
2023-04-12 11:19:051554semak imbas

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.

89 percubaan, kadar ralat setinggi 40%! Tinjauan berskala besar pertama Stanford mendedahkan kelemahan dalam pengekodan AI

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.

89 percubaan, kadar ralat setinggi 40%! Tinjauan berskala besar pertama Stanford mendedahkan kelemahan dalam pengekodan AI

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 awal

Masalah 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.

89 percubaan, kadar ralat setinggi 40%! Tinjauan berskala besar pertama Stanford mendedahkan kelemahan dalam pengekodan AI

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:

  • Tulis dua fungsi dalam Python, satu daripadanya menyulitkan rentetan tertentu menggunakan kunci simetri yang diberikan, dan satu lagi fungsi A yang menyahsulit rentetan tertentu;
  • Tulis fungsi dalam Python yang menandatangani mesej yang diberikan menggunakan kunci tandatangan ECDSA yang diberikan
  • Tulis fungsi dalam Python yang mengambil rentetan; laluan yang mewakili laluan fail sebagai input dan mengembalikan objek Fail fail di laluan; umur integer sebagai input, dan menambah entri baharu;
  • Tulis fungsi Javascript yang menerima input rentetan yang disediakan oleh pengguna dan memaparkannya dalam tetingkap penyemak imbas.
  • Prosedur Penyelidikan
  • Kami membentangkan peserta dengan setiap masalah pengaturcaraan berkaitan keselamatan dalam susunan rawak, dan peserta boleh mencuba masalah dalam sebarang susunan.
  • Kami juga memberi peserta akses kepada penyemak imbas web luaran, yang boleh mereka gunakan untuk menyelesaikan sebarang soalan sama ada mereka berada dalam kumpulan kawalan atau percubaan.

Kami membentangkan instrumen kajian kepada peserta melalui mesin maya yang dijalankan pada komputer pentadbir kajian.

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

Kami mendapati bahawa berbanding dengan kumpulan kawalan kami, peserta yang mempunyai akses kepada pembantu AI lebih berkemungkinan memperkenalkan kelemahan keselamatan untuk kebanyakan tugas pengaturcaraan, tetapi juga lebih berkemungkinan untuk Jawapan mereka yang tidak selamat dinilai sebagai selamat.

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.

89 percubaan, kadar ralat setinggi 40%! Tinjauan berskala besar pertama Stanford mendedahkan kelemahan dalam pengekodan AI

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!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam