AI 모델이 존재하지 않는 라이브러리나 패키지를 사용하도록 코드를 생성하는 위험한 현상을 **'환각 패키지(Hallucinated Packages)'**라고 부릅니다.

이 현상은 단순한 오류를 넘어 해커들에 의해 **'소프트웨어 공급망 공격(Software Supply Chain Attack)'**으로 악용될 수 있는 치명적인 보안 위협입니다. 구체적인 발생 메커니즘과 위험성은 다음과 같습니다.

1. 발생 원인: AI의 확률적 추론

거대언어모델(LLM)은 실제 소프트웨어 생태계를 완벽하게 이해하고 있는 것이 아니라, 다음에 올 단어를 확률적으로 예측합니다.

  • 그럴듯한 이름 생성: AI는 특정 문제를 해결하기 위해 fast-json-parser-v2와 같이 실제로는 존재하지 않지만, 문맥상 매우 그럴듯해 보이는 라이브러리 이름을 지어내어(Hallucination) 코드를 작성할 수 있습니다.

2. 공격 시나리오: "악몽의 시나리오(The Nightmare Scenario)"

해커들은 이러한 AI의 환각 패턴을 역이용하여 시스템에 침투합니다.

  1. AI의 제안: 개발자가 AI에게 코드를 요청하면, AI가 존재하지 않는 패키지를 import 하는 코드를 제공합니다.
  2. 해커의 선점: 공격자들은 AI가 자주 환각해내는 패키지 이름들을 모니터링하다가, npm이나 PyPI 같은 공용 저장소에 해당 이름으로 악성 코드가 담긴 패키지를 미리 등록합니다.
  3. 개발자의 설치: 개발자가 AI가 짜준 코드를 검증 없이 복사하여 패키지 설치 명령(예: npm install)을 실행하는 순간, 유틸리티 대신 **해커가 심어둔 백도어(Backdoor)**가 회사 네트워크 내부로 설치됩니다.

3. 대응 방안

이러한 공격을 방지하기 위해서는 AI가 생성한 코드, 특히 import 구문에 대한 무조건적인 신뢰를 버려야 합니다.

  • 철저한 검증: AI가 작성한 코드에 포함된 모든 외부 라이브러리가 실제로 존재하며 안전한지 수동으로 확인해야 합니다.
  • 출처 확인: 코드의 출처가 AI인지 인간인지를 식별하고, AI가 생성한 코드라면 보안 팀이 의무적으로 의존성(Dependency)을 점검하는 절차를 거쳐야 합니다.

결국 '환각 패키지' 현상은 AI가 의도치 않게 **트로이 목마(Trojan Horses)**를 기업 애플리케이션 내부에 들여놓게 만드는 경로가 되고 있습니다.

Posted by gurupia
,