AI 도구와 라이브러리의 배포 경로를 노려 악성 코드를 심는 공격으로, 개발자가 신뢰하는 패키지나 모델을 통해 API 키·자격 증명 탈취, 백도어 설치 등을 수행한다.
소프트웨어 공급망 공격은 원래 소프트웨어 개발·배포 과정의 약한 고리를 노리는 공격을 뜻한다. AI 공급망 공격은 여기에 AI 특유의 요소 — ML 프레임워크, 모델 허브, AI 도구 패키지 — 가 더해진 것이다. 개발자가 pip install로 설치하는 PyPI 패키지, npm으로 받는 AI SDK, Hugging Face에서 내려받는 모델 파일 등이 모두 공격 대상이 된다.
일반 소프트웨어 공급망 공격과 차별화되는 점은 AI 도구가 가진 높은 권한에 있다. LiteLLM 같은 AI 프록시 라이브러리는 여러 AI 서비스의 API 키를 한곳에 모아두고, Claude Code 같은 코딩 에이전트는 파일 시스템과 터미널에 직접 접근한다. 이런 도구가 감염되면 단순한 코드 실행을 넘어 API 키, 환경 변수, 민감한 설정 정보가 한꺼번에 유출될 수 있다.
2026년 3월, TeamPCP라는 공격 그룹이 실제로 이런 공격을 실행했다. 이들은 먼저 오픈소스 보안 스캐너 Trivy의 GitHub Actions 워크플로우를 감염시키고, 이를 통해 LiteLLM의 PyPI 배포 파이프라인에 접근했다. 결과적으로 litellm==1.82.7과 litellm==1.82.8에 악성 코드가 삽입되어 PyPI에 올라갔다. 이 악성 버전에는 Python 프로세스가 시작될 때 자동 실행되는 .pth 파일이 포함되어 있었고, 설치된 환경의 자격 증명을 탈취하고 추가 악성 코드를 내려받는 역할을 했다.
비슷한 시기에 Claude Code의 소스가 유출되는 사건이 발생했고, 공격자들은 24시간 만에 "유출된 소스로 빌드한 무제한 버전"이라며 가짜 Claude Code를 GitHub에 올렸다. 이를 다운로드한 사용자에게 인포스틸러 악성코드가 설치되었다.
AI 공급망 공격은 크게 네 가지 유형으로 나뉜다. 첫째는 패키지 감염으로, CI/CD 파이프라인을 장악해 공식 패키지에 악성 코드를 삽입하는 방식이다. 둘째는 타이포스쿼팅으로, 인기 패키지와 이름이 비슷한 악성 패키지를 등록해 실수로 설치하게 유도한다. 셋째는 모델 파일 감염으로, 모델 허브에 직렬화된 모델 파일 안에 악성 코드를 숨기는 방식이다. 넷째는 도구 사칭으로, 인기 AI 도구의 가짜 버전을 배포하는 수법이다.
OWASP는 ML 보안 위협 Top 10에서 이를 ML06으로, LLM 보안 가이드에서는 LLM03으로 별도 항목으로 다루고 있다.
AI 공급망 공격은 개발자가 이미 신뢰하는 경로를 이용하기 때문에 발견이 어렵다. 패키지 설치 시 버전 잠금(pip freeze, package-lock.json)을 사용하고, 의존성 스캐닝 도구를 CI에 포함시키는 것이 기본 방어책이다. 특히 AI 도구는 API 키와 환경 변수에 광범위하게 접근하므로, 최소 권한 원칙을 적용하고 민감한 키는 별도 시크릿 매니저로 관리하는 것이 중요하다.