Do Users Write More Insecure Code with AI Assistants?

์ €์ž: Neil Perry, Megha Srivastava, Deepak Kumar, Dan Boneh | ๋‚ ์งœ: 2023-11-15 | DOI: 10.1145/3576915.3623157 📄 PDF


Essence

Figure 1

Figure 1: ๊ฐ ์งˆ๋ฌธ๋ณ„ ๋ณด์•ˆ ์‹ค์ˆ˜ ์›์ธ๋ณ„ ์‹คํ—˜๊ตฐ(ํŒŒ๋ž€์ƒ‰)/๋Œ€์กฐ๊ตฐ(๋…น์ƒ‰) ์‘๋‹ต ๋ถ„ํฌ

๋ณธ ๋…ผ๋ฌธ์€ AI ์ฝ”๋“œ ์–ด์‹œ์Šคํ„ดํŠธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์•ˆ ๊ด€๋ จ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋” ์•ˆ์ „ํ•˜์ง€ ๋ชปํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”์ง€ ๋Œ€๊ทœ๋ชจ ์‚ฌ์šฉ์ž ์‹คํ—˜์„ ํ†ตํ•ด ์กฐ์‚ฌํ–ˆ๋‹ค. ์—ฐ๊ตฌ ๊ฒฐ๊ณผ AI ์–ด์‹œ์Šคํ„ดํŠธ(OpenAI's Codex-davinci-002)์— ์ ‘๊ทผํ•œ ์ฐธ๊ฐ€์ž๋“ค์ด ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•œ ์ฐธ๊ฐ€์ž๋“ค๋ณด๋‹ค ์œ ์˜๋ฏธํ•˜๊ฒŒ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ, ์—ญ์„ค์ ์œผ๋กœ ์ž์‹ ์˜ ์ฝ”๋“œ๊ฐ€ ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋” ๋†’์€ ํ™•๋ฅ ๋กœ ๋ฏฟ์—ˆ๋‹ค.

Motivation

Achievement

Figure 2

Figure 2: ์†”๋ฃจ์…˜ ์ •ํ™•์„ฑ, ๋ณด์•ˆ์— ๋Œ€ํ•œ ์‹ ๋ขฐ๋„์˜ ์‚ฌํ›„ ์„ค๋ฌธ ์กฐ์‚ฌ ์‘๋‹ต (Likert ์ฒ™๋„)

  1. AI ์–ด์‹œ์Šคํ„ดํŠธ ์ ‘๊ทผ์ด ๋ณด์•ˆ ์•…ํ™”: 5๊ฐœ ์ž‘์—… ์ค‘ 4๊ฐœ์—์„œ AI ์–ด์‹œ์Šคํ„ดํŠธ ์ ‘๊ทผ ์ฐธ๊ฐ€์ž๊ฐ€ ๋” ๋งŽ์€ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ, ๋‹ค๋ณ€๋Ÿ‰ ํšŒ๊ท€ ๋ถ„์„ ๊ฒฐ๊ณผ ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜๋ฏธํ•จ (์„ ํ–‰ ๋ณด์•ˆ ๊ฐœ๋… ๋…ธ์ถœ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝํ—˜, ํ•™์ƒ ์‹ ๋ถ„ ๋“ฑ์„ ํ†ต์ œ)
  2. ๊ณผ์‹  ๋ฌธ์ œ์˜ ๋ฐœ๊ฒฌ: AI ์–ด์‹œ์Šคํ„ดํŠธ ์ ‘๊ทผ ์ฐธ๊ฐ€์ž๊ฐ€ ๋น„์ ‘๊ทผ ์ฐธ๊ฐ€์ž๋ณด๋‹ค ์ž์‹ ์˜ ์ฝ”๋“œ๊ฐ€ ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋ฏฟ์„ ํ™•๋ฅ ์ด ๋” ๋†’์•˜์œผ๋‚˜, ์‹ค์ œ๋กœ๋Š” ๋” ๋งŽ์€ ์ทจ์•ฝ์  ๋ณด์œ  โ†’ "๊ฑฐ์ง“ ์•ˆ์ •๊ฐ(false sense of security)" ๋ฐœ์ƒ
  3. ์ƒํ˜ธ์ž‘์šฉ ์ „๋žต์˜ ์˜ํ–ฅ ๋ถ„์„: ํ—ฌํผ ํ•จ์ˆ˜๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ๋ช…ํ™•ํ•œ ์ž‘์—… ์ง€์‹œ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ์‚ฌ์šฉ์ž๋“ค์ด ๋” ์•ˆ์ „ํ•œ ์ฝ”๋“œ ์ƒ์„ฑ; ์˜จ๋„ ๋งค๊ฐœ๋ณ€์ˆ˜ ์กฐ์ •๊ณผ ๋งฅ๋ฝ ์ œ๊ณต ์ฆ๋Œ€๊ฐ€ ๋ณด์•ˆ ๊ฐœ์„ ๊ณผ ์—ฐ๊ด€

How

Figure 3

Figure 3: ์ œ์ถœ๋œ ์‚ฌ์šฉ์ž ์ฝ”๋“œ์™€ AI ์ƒ์„ฑ ์ฝ”๋“œ ๊ฐ„์˜ ํŽธ์ง‘ ๊ฑฐ๋ฆฌ(Edit Distance) ํžˆ์Šคํ† ๊ทธ๋žจ

Figure 4

Figure 4: ๊ฐ ์งˆ๋ฌธ๋ณ„ ์„ ํƒ๋œ ํ”„๋กฌํ”„ํŠธ ์ „๋žต์˜ ๋น„์œจ

Originality

Limitation & Further Study

Evaluation

์ดํ‰: ๋ณธ ๋…ผ๋ฌธ์€ AI ์ฝ”๋“œ ์–ด์‹œ์Šคํ„ดํŠธ์˜ ์‹ค์ œ ์‚ฌ์šฉ ํ™˜๊ฒฝ์—์„œ์˜ ๋ณด์•ˆ ์œ„ํ—˜์„ ์ตœ์ดˆ๋กœ ๋Œ€๊ทœ๋ชจ ์‚ฌ์šฉ์ž ์‹คํ—˜์œผ๋กœ ์ž…์ฆํ•œ ์ค‘์š”ํ•œ ์—ฐ๊ตฌ๋กœ, ํŠนํžˆ ์‚ฌ์šฉ์ž ๊ณผ์‹  ํ˜„์ƒ์˜ ๋ฐœ๊ฒฌ๊ณผ ์ƒํ˜ธ์ž‘์šฉ ์ „๋žต์˜ ์˜ํ–ฅ ๋ถ„์„์ด ํ•™๊ณ„์™€ ์‚ฐ์—…์— ๊ท€์ค‘ํ•œ ํ†ต์ฐฐ์„ ์ œ๊ณตํ•œ๋‹ค. ๊ณต๊ฐœ ์—ฐ๊ตฌ ์ธํ”„๋ผ์˜ ์ œ๊ณต์€ ์žฌํ˜„์„ฑ๊ณผ ํ›„์† ์—ฐ๊ตฌ๋ฅผ ์ด‰์ง„ํ•˜๋Š” ๊ธ์ •์  ๊ธฐ์—ฌ์ด๋ฉฐ, ๋‹ค๋งŒ ๋‹จ์ผ ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ๋ถ„์„ ๋ฐ ์ œํ•œ์  ํ‘œ๋ณธ ํฌ๊ธฐ ๋“ฑ์˜ ํ•œ๊ณ„๋Š” ํ–ฅํ›„ ๊ฐœ์„ ์ด ํ•„์š”ํ•˜๋‹ค.

๊ฐ™์ด ๋ณด๋ฉด ์ข‹์€ ๋…ผ๋ฌธ

๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
AI ๋ณด์กฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋„๊ตฌ์˜ ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฐ ๋ณด์•ˆ์— ๊ด€ํ•œ ์ด๋ก ์ ยท์‹ค์ฆ์  ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
283 ๋…ผ๋ฌธ์€ AI ๋„์šฐ๋ฏธ ์‚ฌ์šฉ์‹œ ๋ฐœ์ƒํ•˜๋Š” reasoning ์ทจ์•ฝ ๋ฐ ์˜ค๋ฅ˜์‚ฌ๋ก€๋ฅผ ๋ถ„์„ํ•˜์—ฌ, 243์˜ ์ž์—ฐ์–ธ์–ด ๋น„ํŒ ๊ธฐ๋ฐ˜ ๊ฐ•ํ™”ํ•™์Šต์˜ ํ•„์š”์„ฑ๊ณผ ํ† ๋Œ€๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
AI ์ฝ”๋“œ ์ƒ์„ฑ ๋„๊ตฌ๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด ๋ณด์•ˆ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ์œ ์‚ฌํ•œ ์‹คํ—˜์  ์—ฐ๊ตฌ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
LLM ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์–ด์‹œ์Šคํ„ดํŠธ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์  ์ƒ์„ฑ ๊ฒฝํ–ฅ์„ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ถ„์„ํ•˜๋Š” ๋Œ€์•ˆ์  ์—ฐ๊ตฌ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
Productivity assessment of neural code completion ๋…ผ๋ฌธ์€ AI ๋ณด์กฐ ์ฝ”๋”ฉ ๋„๊ตฌ์˜ ์ƒ์‚ฐ์„ฑ๊ณผ ์•ˆ์ „์„ฑ ์˜ํ–ฅ์„ ๋‹ค๋ฃจ์–ด, Do Users Write More Insecure Code ๋…ผ๋ฌธ๊ณผ ๋™์ผํ•œ ์‚ฌํšŒ์  ์ด์Šˆ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ ์‚ฌ์šฉ์ด ๊ฐœ๋ฐœ์ž์˜ ๋ณด์•ˆ ๊ด€ํ–‰์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๊ด€๋ จ ์—ฐ๊ตฌ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
AI ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ์™€ ์‹ค์ œ ์—”์ง€๋‹ˆ์–ด๋ง ๊ณผ์—…์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ์ด์Šˆ ๋ฐ ์„ค๊ณ„ ํ’ˆ์งˆ ๋ฌธ์ œ๋ฅผ ํ•จ๊ป˜ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
Synchart ๋…ผ๋ฌธ์€ LLM์ด ์ƒ์„ฑํ•œ ์ฝ”๋“œ์™€ ๋„๊ตฌ๊ฐ€ ์ƒ์‚ฐํ•˜๋Š” ์•„์›ƒํ’‹(๋„ํ‘œ ๋“ฑ)์— ๋Œ€ํ•œ ํ’ˆ์งˆ ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ์„ฑ ๋ถ€๋ฌธ ์™ธ ์ฝ”๋“œ ํ‘œํ˜„๋ ฅยท์ •ํ™•์„ฑ๋„ ๋ณ‘ํ–‰ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
283๋ฒˆ ๋…ผ๋ฌธ์€ AI ๋ณด์กฐ ํ•˜์— ์ž‘์„ฑ๋œ ์ฝ”๋“œ์™€ ์ธ๊ฐ„ ์ฝ”๋“œ์˜ ๋น„๊ต๋ฅผ ํ†ตํ•ด, 070๋ฒˆ์ด ๋‹ค๋ฃจ๋Š” AI๊ฐ€ ์‹ค์งˆ์ ์œผ๋กœ ์ „๋ฌธ๊ฐ€ ์‹œ์Šคํ…œ ๋‚ด ์ธ๊ฐ„๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋™์—ญํ•™ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•œ ๋งฅ๋ฝ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
AI ์ฝ”๋“œ ์–ด์‹œ์Šคํ„ดํŠธ์˜ ์ฝ”๋“œ ํ’ˆ์งˆ ์˜ํ–ฅ์— ๋Œ€ํ•œ ์ตœ์‹  ๋Œ€๊ทœ๋ชจ ๋ถ„์„๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋ณด์™„์  ์‹œ๊ฐ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ˜๋ก /๋น„ํŒ
283๋ฒˆ์€ AI ์ง€์› ์ฝ”๋“œ๊ฐ€ ์˜คํžˆ๋ ค ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์•ผ๊ธฐํ•˜๋Š” ์‹ค์ฆ ์‚ฌ๋ก€๋ฅผ ๋ณด์—ฌ์ฃผ์–ด, 635๋ฒˆ์˜ ์ƒ์‚ฐ์„ฑ ํƒ๊ตฌ์™€ ๊ท ํ˜• ์žกํžŒ ์‹œ๊ฐ์„ ์ œ๊ณตํ•œ๋‹ค.
๋ฐ˜๋ก /๋น„ํŒ
AI ์ฝ”๋“œ ์ง€์›์ด ๋ณด์•ˆ์ด๋‚˜ ์‹ค์šฉ์„ฑ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๋ถ„์„ํ•˜๋ฉด์„œ, ์ฝ”๋“œ ๋ณต์ œ ์ฆ๊ฐ€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ํ˜„์ƒ์„ ๋น„ํŒ์ ์œผ๋กœ ์กฐ๋ช…ํ•ฉ๋‹ˆ๋‹ค.
← ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐ŸŽง Audio Overview

์ด ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ํŒŸ์บ์ŠคํŠธํ˜• ์˜ค๋””์˜ค๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (Gemini ยท ํ‚ค๋Š” ๋ธŒ๋ผ์šฐ์ €์—๋งŒ ์ €์žฅ ยท ์™„์„ฑ๋ณธ์€ ์ด๋ฉ”์ผ๋กœ๋„ ์ „์†ก)
โ–ธ ๊ณ ๊ธ‰: ๊ตฌ์„ฑ ๋ฐฉํ–ฅ(๋Œ€๋ณธ ์ž‘์„ฑ ์ง€์นจ) ์ง์ ‘ ์ˆ˜์ •