
개발자님, 방금 다운로드한 그 패키지... 정말 믿을 수 있나요?
우리가 잠든 사이에도 소프트웨어 공급망은 멈추지 않고 돌아갑니다. 2025년 한 해 동안 메이븐 센트럴(Maven Central), PyPI, npm, NuGet 등 주요 저장소에서 발생한 다운로드 횟수만 무려 9.8조 건에 달합니다. 하지만 이 엄청난 숫자 뒤에는 거대한 함정이 숨어 있습니다. 단순한 '코드 공유'의 장이었던 오픈소스 생태계가 이제는 국가 단위 해킹 조직의 전략적 공격 기지로 변모했기 때문입니다.
이번 1부에서는 2025년 소프트웨어 공급망을 휩쓴 주요 위협과 AI 시대의 새로운 보안 위험을 다룹니다. 2부에서는 취약점 관리의 구조적 문제와 글로벌 규제 대응 전략을 소개할 예정입니다.
당신이 몰랐던 공급망의 잔혹한 진실
숫자로 보는 2025년 소프트웨어 공급망의 현실
1,233,219개
- 2019년 이후 소나타입이 식별하고 차단한 누적 악성 패키지 수
- 2025년 한 해만 454,648개의 새로운 악성 패키지 발견
27.76%
- LLM이 추천한 의존성 업그레이드 중 존재하지 않는 버전을 참조한 환각 확률
- 36,870건의 업그레이드 추천 테스트 결과
- 10,000개 이상의 존재하지 않는 버전 참조
65%
- 오픈소스 CVE 중 NVD에서 CVSS 점수를 할당받지 못한 비율
- 2025년 분석된 1,700개 이상의 오픈소스 CVE 대상
9.8조 건
- 2025년 Maven Central, PyPI, npm, NuGet의 총 다운로드 수

레지스트리별 2025년 성장률
| 레지스트리 | 2025년 다운로드 | 전년 대비 성장률 |
| Maven Central | 8,390억 건 | 19.42% |
| PyPI | 8,050억 건 | 50.64% |
| npm | 7.97조 건 | 65.43% |
| NuGet | 2,234억 건 | 17% |
1. 인간의 통제를 벗어난 '머신 스케일'의 습격
클라우드 집중 현상: 자동화의 압도적 영향력
메이븐 센트럴의 현실:
- 상위 3개 클라우드 서비스 제공업체(CSP)가 1,080억 건 이상의 요청 발생
- 전체 IP의 32.5%에 불과
- 하지만 전체 다운로드의 86.4%를 차지
- 나머지 모든 사용자 합계: 약 170억 건
이는 수백만 개발자가 아니라 소수의 자동화 시스템이 산업적 규모로 작동한다는 의미입니다.
반복 다운로드: 숨겨진 인프라 부담
최근 7일간 상위 200개 재다운로드 조직:
- 47.5%가 단일 IP에서 작동 (중앙화된 CI 러너)
- 20.5%가 5개 이상의 IP에서 작동
- 17%가 일주일에 1,000회 이상 재다운로드
- 6%가 일주일에 5,000회 이상 재다운로드
Gradle vs Maven: 빌드 도구가 만드는 차이
메이븐 센트럴 트래픽의 81.1%가 Maven과 Gradle 두 빌드 도구에서 발생합니다.
| 특성 | Maven | Gradle |
| 캐시 동작 | 고정 버전에 대해 캐시 신뢰 | 캐시 정확성 우선, 메타데이터 재검증 |
| 주요 실행 환경 | 장기 실행 머신, 웜 로컬 저장소 | 임시 CI/컨테이너, 콜드 캐시 |
| 재다운로드 빈도 | 낮음 | Maven 대비 4.08배 높음 |
왜 중요한가?
- 소수의 도구가 생태계 부하의 대부분을 차지
- 이 도구들의 기본 동작 개선이 전체 부하를 크게 줄일 수 있음
불필요한 트래픽 줄이는 실전 방법
즉시 실행 가능:
- CI 캐시를 런(run) 사이에 지속
- 공유 아티팩트 프록시/저장소 관리자 추가
- "항상 클린" 기본값 중지 (의존성 캐시 유지)
다음 단계:
- 러너 간 캐시 전략 표준화
- 재다운로드 비율 측정 및 가드레일 설정
- 버전 고정; 가능한 경우 lockfile 사용
2. AI가 추천한 가짜 버전, '버전 환각'의 공포
대규모 테스트로 드러난 AI의 위험성
소나타입은 36,870건의 의존성 업그레이드 추천을 분석했습니다.
결과:
- 27.76%가 환각 (존재하지 않는 버전 참조)
- 10,000개 이상의 존재하지 않는 패키지 버전 추천
신뢰도별 환각률 분석
| 신뢰도 수준 | 환각률 | 전체 환각 중 비율 | 총 추천 수 |
| High (높음) | 1.69% | 0.22% | 1,359 |
| Medium (중간) | 19.20% | 44.01% | 23,463 |
| Low (낮음) | 47.38% | 55.77% | 12,048 |
충격적인 사실:
- 높은 신뢰도(High Confidence)를 표시한 경우는 전체의 3.68%에 불과
- 낮은 신뢰도 추천의 거의 절반이 환각
- 높은 신뢰도 추천도 98% 정확이지만, 극히 드물게만 표시됨
AI 시대, 개발자가 반드시 기억할 검증 원칙
1. 버전 실존 여부 확인
- AI 추천을 즉시 수용하지 말 것
- 공식 저장소에서 직접 확인
2. 라이브 데이터 기반 검증
- AI는 학습 컷오프 이후의 위협을 알 수 없음
- 실시간 보안 인텔리전스와 대조
3. 거버넌스 준수
- 조직의 보안 정책 확인
- 라이선스 규정 검증
- 자동화 도구를 통한 정책 적용
3. 국가급 해커들의 타겟이 된 '오픈소스 커먼즈'
라자루스 그룹의 npm 집중 공격
2025년 라자루스(APT38) 활동:
- 800개 이상의 패키지 식별
- 97%가 npm에 집중
- npm이 네임스페이스 검증 불필요, 최신 버전 선호로 가장 빠른 경로 제공
멀티 위협 패키지: 하나의 패키지, 여러 공격
라자루스 패키지의 위협 유형 분포:
- 약 77%가 2개 이상의 위협 유형 포함
- 약 9%가 4개 이상의 위협 유형 포함
주요 위협 행동:
- Dropper: 약 98% - 작고 덜 의심스러운 아티팩트 유지
- Secrets Exfiltration: 약 64% - 토큰과 인증정보 탈취
- Backdoor: 약 29% - 지속성 및 사후 침해 제어
개발자를 속이는 정교한 전략
가장 많이 사용된 타겟 키워드:

- 약 43%의 라자루스 패키지가 일반적인 개발 프레임워크/도구 키워드 참조
- 32개의 앵커 패키지에서 341개 패키지로 매핑 (템플릿 재사용 및 빠른 변종 생성)
Shai-Hulud: 역사상 최초의 자가 복제형 npm 웜
2025년 9월, 새로운 시대의 시작
Shai-Hulud의 작동 방식:
- npm 인증 토큰 탈취
- 로컬 연결 프로젝트 복제로 감염
- 암호화된 페이로드를 통한 환경 인증정보 유출
- 공개 코드 호스팅 서비스를 C2(Command & Control)로 활용
영향:
- 500개 이상의 패키지를 며칠 만에 감염
- 수동 게시 단계 없이 자율적 확산
2025년 자가 복제형 악성코드 캠페인
| 날짜 | 이름 | 생태계 | 패키지 수 | 특징 |
| 2025.09.16 | Shai-Hulud | npm | 500+ | 최초 자가 복제형 npm 악성코드 |
| 2025.10.17 | Glassworm | VSCode Extensions | 12 | 인기 개발 도구 모방, 암호화폐 지갑 탈취 |
| 2025.11.09 | Glassworm (2차) | VSCode Extensions | 3 | 새 확장 및 게시자 계정으로 우회 |
| 2025.11.11 | IndonesianFoods | npm | 169,538 | 7초마다 자가 복제 |
| 2025.11.24 | Sha1-Hulud | npm | 49 | Bun 런타임 활용 |
| 2025.12.01 | Glassworm (3차) | VSCode Extensions | 24 | 다운로드 수 인위 조작 |
IndonesianFoods 캠페인의 충격:
- 7초마다 복제되도록 설계
- 일부는 TEA 프로토콜 악용
- 대부분은 탐지 압도 및 생태계 신뢰 악용 목적
4. AI 시대의 의존성 업그레이드: 데이터로 본 진실
856개 애플리케이션 분석: 4가지 전략 비교
소나타입은 856개의 엔터프라이즈 애플리케이션을 대상으로 36,870개의 의존성 업그레이드를 분석했습니다.
비교 전략:
- LLM: AI가 생성한 버전 추천
- Latest: 가장 최근 게시된 버전
- NBC (No Breaking Changes): Breaking Change 없이 가장 높은 버전 점수
- Best: Breaking Change 무관하게 가장 높은 버전 점수
보안 개선 효과
애플리케이션당 평균 보안 점수 개선:

LLM 전략의 문제:
- 가장 낮은 보안 개선
- 345개 컴포넌트의 보안이 오히려 악화됨
Breaking Change 비용 분석
애플리케이션당 중간값:
| 전략 | 보안 개선 효과 | 앱당 평균 비용 | 특징 |
| LLM | 120.40% | $17,912 (192시간) | 가장 낮은 개선율, 환각 위험 |
| Latest | 267.10% | $29,516 (314시간) | 보안은 좋으나 가장 높은 엔지니어링 비용 |
| NBC | 258.40% | $5,452 (58시간) | Breaking Change 없이 최대 보안 확보 |
| Best | 306.70% | $18,404 (196시간) | Breaking Change 포함 최적의 보안 경로 |
엔터프라이즈 규모: 업그레이드 비용 및 기간

소나타입 보안 하이브리드 접근
전략:
- 완벽한 보안 점수(100) 달성 시: NBC 사용
- 그렇지 않으면: Best 사용
결과:
- 327% 보안 개선
- Latest 대비 2.1배 낮은 비용
AI가 놓친 것: 실시간 인텔리전스의 부재
소나타입 접근의 차이:
- 동일한 36,870개 컴포넌트에서 환각률 0% 달성
- 실시간 레지스트리 데이터 연동
- 취약점 및 악성코드 데이터베이스 활용
- Breaking Change 자동 계산
- 조직 정책 준수 확인
맺음말: 이제 ‘속도’보다 ‘신뢰’를 고민할 때입니다
2025년 한 해에만 45만 개가 넘는 신규 악성 패키지가 발견되었다는 사실은 오픈소스 생태계가 더 이상 안전한 공유의 장이 아님을 증명합니다. 특히 머신 스케일의 자동화된 공격과 AI의 ‘버전 환각’은 인간의 육안만으로는 대응할 수 없는 새로운 보안 사각지대를 만들고 있습니다.
우리가 무심코 사용한 한 줄의 라이브러리가 조직 전체를 위험에 빠뜨리는 숙주가 될 수 있음을 기억해야 합니다. 오늘 확인한 수치들은 단순한 통계가 아니라, 우리의 개발 워크플로에 즉각적인 가드레일이 필요하다는 강력한 경고입니다.
이어지는 **[2부]**에서는 이러한 위협에 맞서기 위한 구조적인 해법을 다룹니다. NVD 데이터의 한계와 글로벌 규제 대응 전략, 그리고 소나타입이 제안하는 1년 단계별 플레이북을 통해 지속 가능한 보안 전략을 확인해 보시기 바랍니다.
보안은 선택이 아닌, 소프트웨어 공급망의 새로운 생존 본능입니다.
원문 출처:
State of Software Supply Chain 2026
Trust At Machine Scale: The Commons, the Threats, and AI in the Loop