그러나 없는 말을 지어내는 ‘환각’(hallucination)은 코드 생성 작업에서도 똑같이 나타난다. AI가 실존하지 않는 소프트웨어 패키지나 라이브러리를 추천하는 경우가 있어서다.
이같은 현상을 악용해 멀웨어를 확산하는 공격이 가능하다는 우려가 제기됐다. 공격자는 AI 모델이 만들어내 추천한 가짜 라이브러리를 찾아 같은 이름의 악성 라이브러리를 만들어 올린다. 이후 다른 개발자가 요청한 비슷한 프롬프트에 AI가 같은 라이브러리를 제시하면, 개발자는 해커가 만든 라이브러리를 검색해 설치하는 실수를 범할 수 있다.
사이버 보안 기업 소켓은 최근 ‘슬랍스쿼팅’(slopsquatting)이란 이름으로 이 같은 위협을 소개했다.
이는 ‘타이포스쿼팅’(typosquatting) 공격에서 따온 이름이다. 개발자들이 흔히 쓰는 소프트웨어 라이브러리와 비슷한 이름의 악성 라이브러리를 만들어 사용을 유도하는 공격이다. 다만 슬랍스쿼팅은 AI 환각의 결과로 만들어진 비슷한 이름의 패키지를 활용한다는 차이가 있다.

▲AI 코드 생성 과정의 환각을 악용한 공격 개념도 [자료: arXiv]
이런 우려는 코드 생성 AI의 환각에 대한 연구에 근거를 두고 있다. 텍사스주립산안토니오대학과 버지니아테크 등 공동 연구진에 따르면, AI 모델이 생성한 57만6000건의 파이썬 및 자바스크립트 코드 중 20%에서 실존하지 않는 패키지를 추천했다. GPT-4 같은 상용 모델도 환각 샘플이 포함된 경우가 5%에 달했고, 코드라마(CodeLlama)나 딥시크, 위자드코더(WizardCoder) 같은 오픈소스 모델은 30%를 넘는 환각 발생률을 보이기도 했다.
연구진이 확보한 20만건 이상의 가짜 패키지 이름 중 43%는 비슷한 프롬프트에 반복적으로 나타났고, 58%는 실행 10회당 1회 꼴로 등장했다.
소켓 연구진은 “58%의 가짜 패키지 이름이 10번당 1번꼴로 나타난다는 것은 대부분의 AI 환각이 단순 노이즈가 아니라 모델이 특정 프롬프트에 반응하는 방식이라는 뜻”이라며 “이는 공격자들이 손쉽게 무기화할 새로운 영역이 될 수 있다”고 밝혔다.
이같은 잠재적 피해를 막기 위해선 패키지 이름을 일일이 확인하고, AI가 생성한 코드는 절대 실존하거나 안전하지 않다는 전제를 갖고 작업해야 한다고 소켓은 권고했다.
[한세희 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>