전 세계 정보기술(IT) 개발업계가 생성형 인공지능(AI)에 주목하고 있다. AI가 짜는 프로그래밍 코드의 정확도가 높아지면서 ‘코드 자동화’ 가능성에 대한 기대감이 커지는 모양새다. 일부 커뮤니티에서는 코드 생성 AI를 오픈 소스로 만들어 누구나 쓸 수 있게 만들려는 움직임도 일고 있다. 다만 인간 개발자를 대체하기까지는 갈 길이 멀기 때문에 사용시 보안에 각별히 유의해야 한다는 지적이 나온다.
3일 미국 IT 전문매체 테크크런치에 따르면 깃허브는 최근 자사 코드 생성 도구 코파일럿(Copilot)의 기업용 서비스를 출시했다. 가격은 사용자당 월 19달러(약 2만4000원)다. 깃허브는 “지난 1년간 100만여명의 개발자를 대상으로 베타 테스트를 진행한 결과, 코파일럿은 코드 전체 분량의 약 40%를 스스로 작성할 수 있었다. 5년 내 이 비율은 최대 80%까지 올라갈 것으로 보인다”며 이 서비스의 성공을 자신했다.
코파일럿은 이용자가 프로그램 코드 일부를 입력하면 문자의 자동 완성 기능처럼 전체 코드를 만들어 추천한다. 코드와 관련한 설명 글(주석)을 입력해도 전체 코드를 만들어 낸다. 오픈AI의 GPT-3에서 파생된 코드 생성 AI 모델인 코덱스(Codex)로 구동되며 ▲마이크로소프트(MS) 비주얼 스튜디오 ▲네오빔 ▲제트브레인 등 개발 환경에서 이용 가능하다. 코덱스는 파이썬, C, 바시, 자바스크립트, 고우, 펄, PHP, 루비, 스위프트, 타입스크립트 등 최소 12개 언어로 코드를 작성할 수 있다.
코파일럿이 베타 테스트 기간 불러일으킨 반향은 컸다. 지난 2021년 6월 출시 직후 단 이틀 만에 오픈소스 개발자 커뮤니티 해커뉴스에 달린 댓글만 1200개가 넘었다. 유명 개발자들은 앞다퉈 후기를 내놨다. 미 서비스형 플랫폼(PaaS) 제공업체 네트리파이의 캐시디 윌리엄스 개발자경험 디렉터는 당시 자신의 소셜미디어에 “특정 대문자 사용 패턴을 찾거나 특정 패턴 일치 함수를 작성하는 데 사용할 수 있다. 직접 작성하거나 100번 이상 작성 방법을 검색할 필요가 없다”며 “코파일럿은 반복 작업에 유용하게 쓰일 것”이라고 썼다. 미 협업 플랫폼 제공업체 포스트맨의 비닛 샤데오 소프트웨어 엔지니어는 코파일럿이 개발 시간을 단축하고, 여러 대안을 제안해 업무 효율성을 높여줄 것으로 기대했다.
코파일럿의 흥행에 기업들은 저마다 코드 생성 도구를 쏟아내기 시작했다. 딥마인드의 알파코드(AlphaCode), 아마존의 코드위스퍼러(CodeWhisperer)가 대표적이다. 이에 AI 스타트업 허깅페이스와 서비스나우리서치는 지난해 9월 ‘공개적이고 책임있는’ 방식으로 최첨단 코드 생성 AI를 개발하기 위해 빅코드(BigCode) 프로젝트에 착수한다고 발표했다. 코드 생성 AI를 훈련시킬 수 있는 대규모 데이터셋을 만들어 배포하는 게 이들의 최종 목표다. 데이터셋은 150억개의 매개변수를 가진 AI를 훈련시킬 수 있는 규모로 만들 계획이다. 코덱스(매개변수 120억개)보다는 크고 알파코드(매개변수 414만개) 보다는 작은 규모의 코드 생성 AI를 오픈 소스로 구축할 수 있도록 한다는 것이다.
문제는 코드 생성 AI가 아직 보안에 취약하다는 점이다. 미 스탠포드대 연구진은 지난달 개발자 47명에게 코덱스를 활용해 파이썬과 C, 자바스크립트 등 언어로 코드를 만들어보라고 요청한 결과, 이들이 코덱스 없이 코드를 작성한 개발자들에 비해 보안 측면에서 안전하지 않은 코드를 짠 것으로 나타났다고 밝혔다. 연구진은 “실험 참가자 중 일부는 특히 코덱스로 만든 코드가 안전하지 않은데도 안전하다고 믿었다”며 “코드 생성 AI를 이용하려면 프롬프트(명령어) 입력 과정에서 보안을 고려해 텍스트를 정제하는 것이 필요하다. 코드 생성 AI는 또 기본값을 고수하는 경향이 있기 때문에 기본 설정이 안전한지 암호화 전문가가 확인할 필요가 있다”고 강조했다.
코드 생성 AI를 기반으로 만들어진 도구도 마찬가지다. 앞서 미 뉴욕대 탠던 공대 연구진은 알려진 취약점을 자동으로 찾아내는 깃허브의 코드QL(CodeQL)을 사용해 코파일럿이 생성한 코드를 확인한 결과, 해당 코드가 SQL 삽입(프로그램 보안 상의 허점을 이용해 데이터베이스를 비정상적으로 조작하는 공격 기법) 등에 취약하다는 사실을 알 수 있었다고 밝혔다. 연구진은 “이런 문제의 대부분은 코파일럿이 구축된 방식에서 비롯된다”며 “코파일럿은 깃허브에 게시된 코드를 학습했는데, 이들 코드의 상당수는 검증 과정을 거치지 않았다”고 설명했다.
연구진은 이어 “코파일럿은 패턴이 빈번할 수록 더 널리 사용되고, 따라서 안전하다는 가정 하에 이를 사용자에게 제안한다”며 “이 경우 코파일럿이 누군가 실수로 남긴 기밀 데이터를 다른 사람에게 제안하는 일이 생겨 지적재산권 문제가 발생할 수 있다”고 덧붙였다.