
man programming in the dark
연구에 따르면, AI 코드 패키지가 해커들에게 문을 열어준다
AI가 생성하는 코드에는 종종 가짜 소프트웨어 라이브러리가 포함되어, 해커들이 공급망을 이용하고 개발 플랫폼에서 사용자를 공격하는 새로운 기회를 만들어냅니다.
시간이 부족하신가요? 여기 빠른 사실들이 있습니다:
- AI 코드 생성기가 존재하지 않는 소프트웨어 의존성을 환상합니다.
- 576,000개의 AI로 생성된 코드 샘플에서 440,000개의 허상 패키지가 발견되었습니다.
- 오픈소스 모델은 상업용 모델보다 4배 더 많은 환상을 보입니다.
연구 결과에 따르면, AI 도구가 생성하는 코드는 소프트웨어 공급망을 위협하는 중대한 보안 취약점을 만들어낸다는 것이 밝혀졌습니다. 이 연구는 처음으로 Ars Technica에 의해 보고되었으며, 이는 ChatGPT 시스템과 유사하게 작동하는 대형 언어 모델(LLMs)이 해커들이 악의적 목적으로 사용할 수 있는 가상의 코드 의존성을 생성한다는 것을 보여줍니다.
Ars는 연구자들이 576,000개의 코드 샘플을 생성하여 16개의 널리 사용되는 AI 모델을 평가했다고 보도했습니다. 이 분석에서는 440,000개의 패키지 참조가 존재하지 않는 코드 라이브러리를 가리키므로 환각되었다는 사실이 드러났습니다.
이런 가짜 의존성의 존재는 중요한 보안 위험을 초래합니다. Ars는 공격자들이 패키지 이름을 반복적으로 제안하는 AI를 식별하여 그 이름으로 악성 패키지를 업로드할 수 있다고 보도했습니다. 개발자가 악성 코드를 무심코 설치하면 공격자는 개발자의 시스템을 제어하게 됩니다.
“공격자가 환각적인 이름으로 패키지를 출판하고 그 안에 악의적인 코드를 포함시키면, 모델이 해당 이름을 의심하지 않는 사용자에게 제안하는 것에 의존합니다,”라고 텍사스 샌안토니오 대학의 박사 과정 학생이자 주 연구원인 조셉 스프랙클렌이 Ars에 보도된 바에 따라 설명했습니다.
“사용자가 LLM의 출력을 신뢰하고 패키지를 주의 깊게 검증하지 않고 설치한다면, 악의적인 패키지에 숨겨진 공격자의 페이로드가 사용자의 시스템에서 실행될 것입니다,”라고 스프랙클렌은 덧붙였습니다.
공격 방법은 소프트웨어가 의도된 올바른 버전 대신 위험한 패키지 버전을 선택하도록 속이는 것으로, Ars에서 보도했습니다. 이 의존성 혼란 공격은 이전 테스트 기간 동안 Apple, Microsoft, Tesla를 포함한 주요 기술 회사들에게 영향을 미쳤습니다.
연구자들은 오픈 소스 모델들, CodeLlama 같은 것들이 상업 모델들보다 더 많은 환영 패키지를 생성한다는 것을 발견했습니다. 오픈 모델들은 22%의 비율로 거짓 코드 참조를 생성하는 반면, 상업 모델들은 5% 이하의 환영 패키지를 생성했습니다. JavaScript 프로그래밍 언어는 크고 복잡한 코드 생태계 내에서 동작하기 때문에 Python보다 더 많은 환영 패키지를 경험했습니다.
이 연구에 따르면, 이것들은 단순히 일회성 실수가 아닙니다. 이 연구는 많은 가짜 패키지가 여러 테스트에서 반복적으로 나타났다고 보고하였는데, 이로 인해 공격자들이 더 쉽게 대상으로 삼을 수 있어 더욱 위험하다고 합니다.
Ars는 공격자들이 이런 반복적인 가짜 패키지 이름을 악용하여 그 이름으로 악성 코드를 업로드할 수 있다고 설명하였습니다. 이렇게 되면 개발자들이 무심코 그들을 설치하게 되는 상황이 발생할 수 있습니다.