Paggalugad sa Epekto ng Mga AI Assistant Tulad ng GitHub Copilot sa Code Security

Pinag-aralan ng isang pangkat ng mga mananaliksik mula sa Stanford University ang epekto ng paggamit ng mga matatalinong katulong kapag nagsusulat ng code sa hitsura ng mga kahinaan sa code. Isinasaalang-alang namin ang mga solusyon batay sa OpenAI Codex machine learning platform, gaya ng GitHub Copilot, na nagbibigay-daan sa iyong bumuo ng medyo kumplikadong mga bloke ng code, hanggang sa mga handa na function. Ang mga alalahanin ay nauugnay sa katotohanan na dahil ang tunay na code mula sa mga pampublikong GitHub repository, kabilang ang mga naglalaman ng mga kahinaan, ay ginamit upang sanayin ang modelo ng machine learning, ang synthesized code ay maaaring umulit ng mga error at magmungkahi ng code na naglalaman ng mga kahinaan, at hindi rin isinasaalang-alang. ang pangangailangang magsagawa ng mga karagdagang pagsusuri kapag nagpoproseso ng panlabas na data.

Kasama sa pag-aaral ang 47 boluntaryo na may iba't ibang karanasan sa programming - mula sa mga mag-aaral hanggang sa mga propesyonal na may sampung taong karanasan. Ang mga kalahok ay nahahati sa dalawang grupo - eksperimental (33 katao) at kontrol (14 katao). Ang parehong mga grupo ay may access sa anumang mga aklatan at mapagkukunan ng Internet, kabilang ang paggamit ng mga handa na halimbawa mula sa Stack Overflow. Ang pang-eksperimentong grupo ay binigyan ng pagkakataong gamitin ang AI katulong.

Ang bawat kalahok ay binigyan ng 5 gawain na may kaugnayan sa pagsusulat ng code kung saan posibleng madaling magkamali na humahantong sa mga kahinaan. Halimbawa, may mga gawain sa pagsulat ng mga function ng pag-encrypt at decryption, gamit ang mga digital na lagda, pagproseso ng data na kasangkot sa pagbuo ng mga path ng file o mga query sa SQL, pagmamanipula ng malalaking numero sa C code, pagproseso ng input na ipinapakita sa mga web page. Upang isaalang-alang ang epekto ng mga programming language sa seguridad ng code na nakuha kapag gumagamit ng mga AI assistant, ang mga takdang-aralin ay sumasaklaw sa Python, C at JavaScript.

Bilang resulta, napag-alaman na ang mga kalahok na gumamit ng matalinong AI assistant batay sa codex-davinci-002 na modelo ay gumawa ng mas kaunting secure na code kaysa sa mga kalahok na hindi gumamit ng AI assistant. Sa pangkalahatan, 67% lamang ng mga kalahok sa pangkat na gumagamit ng AI assistant ang nakapagbigay ng tama at secure na code, habang sa kabilang grupo ang figure na ito ay 79%.

Kasabay nito, ang mga tagapagpahiwatig ng pagpapahalaga sa sarili ay nabaligtad - ang mga kalahok na gumamit ng AI assistant ay naniniwala na ang kanilang code ay magiging mas ligtas kaysa sa mga kalahok mula sa kabilang grupo. Bilang karagdagan, nabanggit na ang mga kalahok na nagtiwala sa AI assistant ay mas kaunti at gumugol ng mas maraming oras sa pag-parse at paggawa ng mga pagbabago sa mga ibinigay na pahiwatig ay gumawa ng mas kaunting mga kahinaan sa code.

Halimbawa, ang code na kinopya mula sa mga cryptographic na library ay naglalaman ng mas secure na default na mga value ng parameter kaysa sa code na iminungkahi ng AI assistant. Gayundin, kapag gumagamit ng AI ​​assistant, ang pagpili ng hindi gaanong maaasahang mga algorithm ng pag-encrypt at ang kawalan ng pagpapatunay ng mga ibinalik na halaga ay naayos. Sa gawain sa pagmamanipula ng numero ng C, ang code na isinulat gamit ang AI assistant ay may mas maraming error na nagreresulta sa integer overflow.

Bilang karagdagan, ang isang katulad na pag-aaral ng isang grupo mula sa New York University, na isinagawa noong Nobyembre na may paglahok ng 58 mga mag-aaral, na hiniling na magpatupad ng isang istraktura para sa pagproseso ng isang listahan ng pamimili sa C, ay maaaring mapansin. Ang mga resulta ay nagpakita ng hindi gaanong epekto ng AI assistant sa code security - ang mga user na gumamit ng AI assistant ay gumawa, sa karaniwan, ng humigit-kumulang 10% na higit pang mga error na nauugnay sa seguridad.

Paggalugad sa Epekto ng Mga AI Assistant Tulad ng GitHub Copilot sa Code Security


Pinagmulan: opennet.ru

Magdagdag ng komento