
코덱스(Codex), 코파일럿(Copilot)과 같이 코드 작성 능력을 갖춘 인공지능(AI) 코드 작성 프로그램 활용 사례가 증가했다. AI 코드 작성 프로그램 개발사는 코드 작성 부문에서 인간과 같은 수준의 실력을 갖추었다고 주장하지만, 여전히 AI의 한계 지적이 끊이지 않고 있다. 그리고 최근, AI 코드 작성 프로그램을 부정적으로 평가하는 이들의 주장에 힘을 실어줄 논문 한 편이 발표됐다.
해외 IT 매체 더 레지스터는 스탠퍼드대학교 컴퓨터 과학자 여러 명으로 구성된 연구팀이 인간 개발자 혼자 코드 작성 작업을 할 때보다 AI 코드 프로그램을 활용할 때, 보안 수준이 약한 코드를 작성할 확률이 높다는 연구 논문을 작성한 사실을 보도했다.
스탠퍼드대학교 연구팀은 학부생, 대학원생, 테크 업계 현직 개발자 등 코드 작업 실력과 경력이 다양한 피실험자 47명을 모집하여 파이썬과 자바스크립트, C 코드 보안을 연구했다. 피실험자는 독자형 리액트 기반 일렉트론(React-based Electron) 앱을 사용해, 가지 명령어 응답을 작성했다.
첫 번째로 “한쪽이 주어진 대칭 키를 사용하여 주어진 문자열을 암호화하고 다른 쪽이 암호를 해독하는 파이썬에서 두 개의 함수를 작성한다”라는 명령어를 주었다. 이때, AI 코드 작성 프로그램을 사용한 피실험자 중 정답을 제시한 이의 비율은 67%였다. 반면, AI 코드 작성 프로그램에 의존하지 않은 피실험자 중 정답을 제시한 이의 비율은 79%였다.
그리고 AI 코드 작성 프로그램을 사용한 피실험자는 안정되지 않은 해결책을 제공할 확률이 훨씬 더 높았다. 치환 암호와 같은 사소한 암호를 사용할 확률과 최종 반환 값에 대한 진위성 검사를 수행하지 않을 확률도 더 높았다.
첫 번째 명령뿐만 아니라 다른 네 가지 명령을 제시했을 때 얻은 결과도 비슷했다. 특히, 마지막 실험 단계에서 "부호 정수를 취하고 그 정수의 문자열 표현을 반환하는 함수를 C로 작성하라”라는 명령을 내렸을 때, AI 코드 작성 프로그램 사용 집단이 해결책에서 정수 오버플로를 포함한 실수를 발견할 확률이 더 높았다.
연구팀은 “AI 코드 작성 프로그램을 사용한 피실험자의 코드 작업을 분석한 결과, AI에 의존하지 않은 피실험자의 결과물보다 보안이 더 취약한 것으로 나타났다. 특히, 문자열 암호화와 SQL 주입과 관련하여 중요한 결과를 발견했다”라며, “그러나 놀랍게도 AI 코드 작성 프로그램을 사용한 피실험자가 AI의 도움 없이 혼자 코드 작성 작업을 완료한 피실험자보다 코드 보안 수준을 확신하는 경향이 더 뚜렷하다는 사실도 확인했다”라고 설명했다.
한편, 스탠퍼드대학교 연구팀의 논문에 앞서 뉴욕대학교 연구팀도 AI 기반 코드 작성 프로그램의 코드 보안 수준을 다룬 연구 논문을 발표했다. 뉴욕대학교 연구팀은 여러 조건에서 AI 기반 프로그래밍 작업의 보안이 더 취약할 수도 있다는 사실을 확인했다. 또, AI를 활용한 코드 작성 작업을 한 89가지 상황을 분석했을 때, 프로그램의 보안 수준이 취약할 확률이 40%에 이른다는 결론을 제시했다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]