- TeamPCP, 26일 만에 다수 오픈소스를 동시에 침해하며 공급망 공격 진행
- npm을 통한 CanisterSprawl 웜 등장, 자동 확산 위험 크게 대두
- ISC SANS, Tier 1급 위협 대응체계 가동 등 글로벌 보안 경계 심화
공급망 보안은 이제 선택이 아닌 필수, 연쇄 감염 막으려면 개발 생태계의 공동대응이 중요합니다.
TeamPCP 공급망 캠페인 개요 및 최근 동향
TeamPCP는 최근 가장 활발히 활동 중인 공급망 공격 그룹으로, 2026년 초부터 여러 오픈소스 패키지와 개발 도구에 악성코드를 삽입하며 보안 위협을 고조시키고 있습니다. 4월 26일경 다수 침해 시도가 보고되며 한때 소강상태를 보였으나, 불과 26일 만에 다시 활발한 움직임을 보이며 보안 업계의 시선이 집중되고 있습니다.
이번 재개 캠페인은 단일 패키지가 아닌 여러 핵심 오픈소스와 개발 도구를 동시에 노렸다는 점에서 이전보다 공격의 범위와 정교함이 크게 확대되었음을 확인할 수 있습니다.
최근 3건 동시 침해 사례 분석
1. Checkmarx KICS
Checkmarx KICS(Keeping Infrastructure as Code Secure)는 인프라를 코드로 관리하는 환경에서 보안 취약점을 탐지해주는 오픈소스 도구입니다. TeamPCP는 이 패키지에 악성코드를 심어, 이 도구에 의존하는 개발자와 보안담당자의 환경까지 감염시키려 했던 것으로 분석됩니다. KICS는 CI/CD 파이프라인에서 널리 사용되므로, 한번 침해 시 다수 프로젝트까지 악성코드가 크게 확산될 위험이 있습니다.
2. Bitwarden CLI
Bitwarden은 인기 오픈소스 비밀번호 관리자로, CLI(명령행 도구)를 통해 자동화 환경에서 자격증명에 접근할 수 있습니다. TeamPCP의 Bitwarden CLI 침해는 개발자들의 비밀번호 등 주요 정보 탈취와 추가 공격을 위한 것으로 파악됩니다. 비밀번호 관리자의 신뢰성을 겨누는 침해는 개발 전체 생태계에 막대한 악영향을 줄 수 있습니다.
3. xinference(PyPI)
xinference는 PyPI(Python 패키지 저장소)에 배포되는 Python 패키지로, 대규모 언어 모델 추론과 관리에 활용됩니다. 최근 AI 패키지의 인기가 높아짐에 따라 공격자들은 이 분야 개발자와 연구자를 겨냥한 감염 기회를 노립니다. PyPI는 파이썬 개발의 근간인 만큼, 악성 패키지의 파급력도 상당합니다.
이처럼 세 가지 도구에 동시 침투가 일어난 것은 TeamPCP가 한정된 영역이 아닌, 개발 생태계 전체를 폭넓고 다각적으로 겨냥하고 있음을 보여주며, 단일 취약점 뿐 아니라 여러 경로를 통한 복합 공격 전략을 채택했음을 시사합니다.
CanisterSprawl npm 웜의 특징과 파급 효과
이번 캠페인에서는 CanisterSprawl이라는 npm 웜 공격이 새롭게 등장해 눈길을 끌고 있습니다. 웜은 네트워크상에서 스스로 전파·증식하므로 사용자 개입 없이 순식간에 확산될 수 있는 위험이 있습니다.
CanisterSprawl은 npm 레지스트리에서 의존성을 타고 전파됩니다. 악성코드는 설치 시 자동 실행되어, 개발환경·빌드시스템까지 오염시킵니다. 일단 감염되면 다른 npm 패키지에도 연쇄적 감염이 이어져 피해가 쉽게 기하급수적으로 확대됩니다.
- 의존성 체인 감염: 주요 라이브러리 하나가 감염되면, 수천 개 하위 프로젝트로 급속 전파 가능
- 자동 실행: 설치 과정 중(postinstall 등) 자동 실행돼 개발자가 인지하지 못하는 사이 환경 오염
- 정교한 은폐: 초기에 정상 동작을 위장해 보안 시스템 탐지도 회피
이전 위협과 연관성 및 최근 대응 현황
TeamPCP는 이번이 첫 공격이 아닙니다. 2026년 4월 8일자 최신 보안 리포트에서는 다음과 같은 위협이 언급됐습니다.
- Cisco 소스코드 탈취: 내부 소스코드 불법 접근 및 주요 정보 유출
- Google GTIG 공식 지정: Google GTIG에서 TeamPCP를 UNC6780 공격 그룹으로 분류, 국가 수준 지원 가능성 지목
- SANDCLOCK 악성코드: 다양한 웹서비스 로그인 정보를 수집하는 크리덴셜 탈취형 악성코드 발견
- CISA 취약점 패치 미비: 미국 CISA가 공지한 주요 취약점 패치 기한이 지났음에도 미조치 상태
이전 여러 공격과 연계해볼 때, TeamPCP는 단기적 기회주의 공격자가 아니라 긴 호흡의 체계적 전략 아래 다양한 공격을 연속적, 동시적으로 실행해온 정황이 뚜렷합니다. Cisco 코드 침해는 역량과 목표, UNC6780 지정은 국가 지원 가능성, SANDCLOCK은 명확한 정보수집 목적을 드러냅니다.
이러한 상황에서 ISC SANS, CISA 등 글로벌 보안 프로젝트들은 TeamPCP 관련 공급망 공격을 최우선(Tier 1) 등급으로 감시하며 즉각적 대응체계를 가동하고 있습니다.
공급망 보안 강화 방향 및 시사점
TeamPCP의 잇따른 공급망 공격 및 CanisterSprawl 웜의 등장은 오픈소스 생태계 전체에 집단적 경각심을 불러일으킵니다. 개발자와 보안담당자는 다음과 같은 조치를 실무에 적극 반영할 필요가 있습니다.
- 패키지 무결성 검증: npm, PyPI 등 외부 패키지는 해시·서명 검증 후 설치하는 습관을 들이고, ‘먼저 검증 후 설치’ 원칙을 지켜야 합니다.
- 의존성 보안 도구 적극 사용: npm audit, Snyk, Dependabot 등 스캔 도구를 CI/CD에 통합해 취약한 패키지가 유입되지 않게 관리합니다.
- 최소 권한 원칙 준수: 빌드·개발 과정에서 필수 권한만 부여하고, 불필요한 권한은 즉시 회수합니다.
- 설치 자동 스크립트 엄격 관리: 패키지 설치 시 자동 실행 스크립트의 출처와 내용을 꼼꼼히 확인하고, 가급적 격리 환경(sandbox)에서 실행합니다.
- 공인 정보원 모니터링 및 정보 공유 활성화: ISC SANS, CISA 등에서 제공하는 최신 보안 위협 정보를 상시 확인하고, 조직 내 신속 공유체계를 갖춥니다.
이번 사건은 공급망 공격이 더 정교해지고 대규모로 진화하고 있음을 보여줍니다. 개별 조직이 아닌, 개발자 전체가 힘을 모아 무결성 확보와 위협 정보 공유에 적극 협력해야만 연쇄 감염의 고리를 끊을 수 있습니다.
CanisterSprawl과 같은 자동 확산형 웜의 경우 한 번 감염되면 대형 사고로 이어질 수 있으므로, 사용하는 모든 패키지의 출처 검증과 신속한 보안 패치 적용 등 사전 예방의 생활화가 절대적으로 중요합니다.
포인트 정리
- TeamPCP 공급망 공격 재개, 복수 오픈소스 패키지를 동시 노린다
- CanisterSprawl 웜, npm에서 자동 확산 가능성 경계
- Tier 1급 글로벌 대응, 업계 전체의 공동 방어·정보 공유 절실