Slopsquatting의 이해: 공급망 위협으로서의 AI 환각 (Hallucinations)
요약
AI 모델의 환각(Hallucination)을 악용하여 존재하지 않는 패키지 이름을 생성하고 이를 공격에 활용하는 'Slopsquatting' 위협을 분석합니다. 이는 기존의 타이포스쿼팅과 달리 AI의 재현 가능한 오류를 타겟팅하여 공급망 공격의 새로운 패러다임을 제시합니다.
핵심 포인트
- Slopsquatting은 AI가 생성한 가공의 패키지 이름을 악용하는 공급망 공격임
- LLM 추천 패키지의 약 19.7%가 존재하지 않는 환각 패키지로 나타남
- 환각은 높은 재현성을 가져 공격자가 예측 가능한 타겟 설정 가능
- 기존의 오타 기반 탐지 메커니즘을 우회하여 보안 위협을 가중함
Slopsquatting은 AI 기반 개발 워크플로우를 표적으로 삼아 모델의 환각 (Hallucinations)을 무기화합니다. Seth Larson가 명명하고 2025년 Andrew Nesbitt에 의해 대중화된 이 개념은 공급망 공격 (Supply chain attacks)의 중대한 진화를 나타냅니다.
이는 인간의 실수에 의존하는 전통적인 타이포스쿼팅 (Typosquatting)과는 근본적으로 다릅니다. 타이포스쿼팅은 개발자가 express를 expres로 잘못 입력할 것에 베팅합니다. 반면, Slopsquatting은 AI 어시스턴트가 requests-oauth2-helper와 같이 존재하지 않는 패키지 이름을 자신 있게 만들어낼 것에 베팅합니다. 그러면 개발자는 이 만들어진 이름을 그대로 복사하게 됩니다.
이 겉보기에 작은 변화는 끔찍한 결과를 초래합니다. 이 실수는 인간의 오타가 아니라, 상류 (Upstream) 단계에서의 AI 환각이며, 인간은 이를 그대로 재현하게 됩니다. 공격자는 당신의 손가락이 어디로 미끄러질지 추측하지 않습니다. 그들은 모델이 실제로 출력하는 내용을 대규모로 읽고, 가장 흔하게 발생하는 환각 이름을 등록합니다.
Slopsquatting을 독특하고 강력한 위협으로 만드는 요소는 다음과 같습니다:
- 환각의 빈도 (Frequency of Hallucinations): USENIX Security 2025 연구에서는 Python 및 JavaScript 환경의 16개 LLM에 걸친 576,000개의 코드 샘플을 광범위하게 분석했습니다. 추천된 모든 패키지의 상당 부분인 19.7%가 실제로 존재하지 않았습니다. 이는 205,474개의 서로 다른 환각 패키지 이름에 해당합니다. 이것은 예외적인 사례가 아니라 근본적인 동작입니다.
- 재현성 (Reproducibility): 만약 모든 환각이 제각각 다른 형태였다면 이 위협은 관리 가능한 수준이었을 것입니다. 그러나 연구 결과 환각은 재현성이 매우 높다는 것이 밝혀졌습니다. 가짜 패키지를 생성한 500개의 프롬프트를 각각 10번씩 더 실행했을 때, 해당 환각 패키지의 43%가 매번 다시 나타났습니다. 총 58%가 두 번 이상의 실행에서 나타났습니다. 이는 모델이 공격자에게 미래의 개발자가 어떤 가짜 이름을 전달받을 가능성이 가장 높은지를 정확히 알려준다는 것을 의미합니다.
- 전통적인 방어 체계 우회 (Bypassing Traditional Defenses): 레벤슈타인 거리 (Levenshtein distance)를 사용한 분석 결과, 환각 이름 중 실제 이름의 단순 오타인 경우는 13%에 불과했습니다. 거의 절반은 실제 이름과 매우 달랐으며, 완전히 조작되었지만 코드 문맥 내에서는 믿을 수 있는 형태였습니다.
이는 일반적인 오타 기반 탐지 메커니즘 (typo-based detection mechanisms)을 우회합니다.
실제 공격 체인 (kill chain)은 놀라울 정도로 단순합니다. AI 어시스턴트가 당면한 문제에 완벽하게 적합해 보이는 가공의 패키지를 제안합니다. 개발자는 AI의 출력을 신뢰하여 그 이름을 복사하고 설치 명령어를 실행합니다. npm이나 pip와 같은 플랫폼에서는 추가적인 상호작용 없이도 postinstall 훅 (hooks)이나 setup.py 빌드 단계를 통해 패키지를 설치하는 것만으로 악성 코드를 자동으로 실행할 수 있습니다.
간단히 말해, Slopsquatting은 AI 어시스턴트가 의도치 않게 공격자를 위해 타겟 선정 및 정찰 (reconnaissance)을 수행하는 공급망 공격 (supply chain attack)입니다. AI는 존재하지 않지만 그럴듯한 패키지를 자신 있게 제안하며, 이는 이후 무기화될 수 있습니다. 이는 인간의 실수에 의존하던 방식에서 예측 가능한 기계의 오류를 활용하는 방식으로의 근본적인 변화를 의미합니다.
에이전트 아키텍처 (agentic architectures)를 탐구해 온 저의 여정은 소프트웨어가 지속적으로 이 방향으로 움직이고 있음을 일관되게 보여줍니다. 이 공격은 정렬 (alignment)과 안전 (safety)이 사후 고려 사항이 아니라, 핵심적인 엔지니어링 문제임을 강조합니다. 소비하는 것보다 구축하는 것이 중요하며, Slopsquatting과 같은 취약점을 이해하는 것은 매우 중요합니다. 이것이 우리가 책임감 있게 경계를 넓히며 더 안전한 AI 생태계에 기여하는 방법입니다. 우리의 방어 전략에서 적응력은 더 이상 선택 사항이 아니라, AI의 미래를 위한 필수 요소입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기