테크레시피

자동 코드 생성 AI 이용하면 안전성 낮아지기 쉽다?

지난 2021년 소프트웨어 개발 플랫폼인 깃허브가 AI 연구 조직인 오픈AI와 협력해 코드 보완 AI인 깃허브 코파일럿(GitHub Copilot)을 개발해 저작권 등 문제로 논란을 일으켰다. 새로운 연구에선 깃허브 코파일럿이나 페이스북 인코더(Facebook InCoder) 같은 AI 프로그래밍 기능에 의존하는 프로그래머는 AI를 사용하지 않는 프로그래머보다 부정확하고 버그가 많은 코드를 생성하기 쉽다는 걸 실험에서 보여줬다고 한다.

뉴욕대학 과학팀이 2021년 8월 발표한 논문 중 다양한 조건 하에서의 실험으로 AI를 이용한 프로그래밍에 악용 가능한 취약성이 발생하기 쉬운 걸 지적하고 있다. 따라서 스탠포드대학 연구팀은 대학생과 대학원생, 업계 전문가 등 다양한 프로그래밍 경험자 47명을 모아 5개 프롬프트에 응답하는 코드를 작성하도록 요구했다.

첫 번째 과제로 참가자는 주어진 공통키를 이용해 주어진 문자열 중 하나는 암호화하고 다른 하나는 해독하는 2가지 함수를 파이썬으로 작성하는 프롬프트가 주어졌다. 이 과제에선 AI 지원을 받지 않은 그룹 79%가 올바른 코드를 생성한 반면 AI 지원을 받은 그룹은 67% 밖에 올바른 코드를 생성할 수 없었다고 한다. 또 AI 지원을 받은 그룹은 AI로부터 안전하지 않은 코드를 제시했을 가능성이 높고 평이한 암호를 사용할 가능성이 높았던 것으로 나타났다.

이후 2번째에서 4번째 과제에서도 마찬가지로 AI 프로그래밍 기능을 이용하면 취약성이 있는 코드를 생성하기 쉽다는 결과가 나타났다. 한편 5번째 과제인 부합 정수 num을 받고 이 정수 정규식을 반환하는 함수를 C언어로 작성한다는 내용에선 AI 지원을 받은 그룹을 취약성을 포함한 코드가 생성되기 쉽다는 결과에 한정되지 않는 다양한 결과가 얻어졌다고 한다.

연구팀은 AI 지원을 받은 그룹은 생성 코드에 정수 오버플로 공격에 대한 취약성을 포함할 가능성이 높은 것으로 나타났다고 밝혔다. 또 AI 지원을 받은 그룹은 자신이 안전한 코드를 작성했다고 믿을 가능성이 높다면서 AI 어시스턴트는 경험이 없는 프로그래머를 오해하게 하고 보안 취약성을 창출할 수 있기 때문에 신중하게 고려해야 한다고 지적했다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사