- 인젝티브(Injective) Labs SDK 공식 GitHub 저장소가 침해되어 npm 레지스트리에 변조 패키지가 게시됨
- 악성 버전 @injectivelabs/sdk-ts@1.20.21에 위장된 텔레메트리 모듈이 지갑 개인키와 니모닉 시드 구문을 외부로 유출함
- 공식 SDK를 신뢰하던 다수 Web3 프로젝트가 일시적으로 자산 도난 위험에 노출된 고위험 공급망 침해 사건으로 분류됨
이번 사건은 단일 패키지가 아닌 빌드 파이프라인 단계의 신뢰 자체가 무력화될 수 있음을 보여주는 대표적 사례로 평가됨
2026년 7월 10일 기준, 블록체인 개발 플랫폼 인젝티브 Labs의 공식 SDK 저장소가 외부 침해를 받아 변조된 패키지가 npm 레지스트리에 게시된 사실이 보안 미디어를 통해 공개되었다. 해당 패키지는 다수의 Web3 애플리케이션이 의존하던 공식 인터페이스를 그대로 모방해 개발자 시스템에 자연스럽게 유입되었으며, 내부에 포함된 악성 모듈이 암호화폐 지갑 핵심 정보를 외부로 송신한 것으로 보고되었다. 본 분석에서는 침해 경위, 악성코드 기술 구조, 그리고 공급망 보안 관점의 대응 전략을 단계적으로 정리한다.
사건 개요: Injective Labs SDK 침해의 전모
침해 경위 및 영향 범위
보안 매체 The Hacker News의 보도에 따르면, 인젝티브 Labs SDK 프로젝트의 공식 GitHub 저장소가 침해되어 빌드 파이프라인 일부가 변조된 것으로 추정된다. 공격자는 정상 릴리스 절차와 유사한 버전 태그로 악성 빌드를 npm에 게시해, 다수의 다운스트림 프로젝트가 자동 또는 수동 업데이트 과정에서 악성 패키지를 설치하도록 유도했다. 침해의 정확한 침투 지점은 공개된 자료에서 단정하기 어려우나, 일반적인 공급망 공격에서는 GitHub 개인 접근 토큰 유출, CI/CD 시크릿 탈취, 그리고 유지보수자 계정 탈취가 주요 경로로 사용된다.
본 사건의 영향 범위는 단순히 한 패키지에 그치지 않는다. 인젝티브 Labs SDK는 다수의 탈중앙화 금융(DeFi) 애플리케이션, 지갑 연동 모듈, 그리고 온체인 데이터 처리 프로젝트에서 공통 의존성으로 활용되고 있어, 악성 버전이 일정 시간 레지스트리에 머문 동안 이를 설치한 모든 개발 환경과 빌드 산출물이 잠재적 위험 구간에 노출되었다. 패키지명 자체가 공식과 동일한 점, 버전 번호가 정상 릴리스 흐름에 자연스럽게 끼어든 점이 침해 탐지를 지연시킨 핵심 요인으로 분석된다.
악성 패키지 @injectivelabs/sdk-ts@1.20.21 식별
보안 커뮤니티가 식별한 핵심 침해 지표는 악성 npm 패키지 @injectivelabs/sdk-ts 버전 1.20.21이다. 이 버전은 정상 릴리스 라인의 후속 버전으로 위장되어, 의존성 잠금 파일에서 자동 업그레이드를 허용하는 정책을 사용하는 프로젝트에서 우선적으로 유입될 수 있다. 아래 표는 공개된 사실 정보를 정리한 것이다.
| 항목 | 내용 |
|---|---|
| 악성 패키지명 | @injectivelabs/sdk-ts |
| 악성 버전 | 1.20.21 |
| 유출 경로 | npm 레지스트리 |
| 침해 경로 | 공식 GitHub 저장소 침해 후 빌드 파이프라인 변조 |
| 유출 데이터 | 암호화폐 지갑 개인키, 니모닉 시드 구문 |
| 위장 기법 | 가짜 텔레메트리 모듈 삽입 |
| 최초 공개 시점 | 2026-07-10 16:29 UTC |
버전 1.20.21은 외형상 정상 패키지와 동일한 인터페이스를 제공하면서 내부에 추가 모듈을 로드하는 구조를 가진 것으로 추정된다. 이로 인해 단순 사용성 테스트만으로는 악성 여부를 판별하기 어려운 특성을 갖는다.
악성코드 기술 분석
가짜 텔레메트리 모듈의 동작 흐름
악성 버전에서 핵심 역할을 수행한 구성 요소는 가짜 텔레메트리 모듈이다. 텔레메트리 기능은 현대 SDK에서 사용 통계, 오류 보고, 성능 지표 수집을 위해 빈번히 사용되기 때문에 코드 리뷰 과정에서 의심 없이 통과될 가능성이 높다. 공격자는 이러한 운영 관행을 악용해, 실제로는 지갑 관련 민감 정보를 수집해 외부 서버로 송신하는 함수를 텔레메트리 함수명 아래에 위장한 것으로 추정된다.
동작 흐름을 단계적으로 정리하면 다음과 같이 추정된다.
- 개발자 환경에서 패키지 로드 시 위장된 초기화 함수가 자동 실행됨
- 애플리케이션이 지갑 연동 과정에서 개인키 또는 니모닉을 메모리에 보관하는 시점에 후킹 동작이 수행됨
- 수집된 데이터는 일반적인 분석 페이로드와 함께 암호화되어 외부 C2(Command and Control) 서버로 전송된 것으로 추정됨
- 정상 텔레메트리 응답을 반환해 침해 사실을 사용자에게 노출하지 않음
이러한 구조는 일반적인 정적 분석에서 단순한 데이터 수집 코드로 보일 수 있어 탐지를 어렵게 만드는 특징을 갖는다.
지갑 데이터 유출 메커니즘
유출 대상인 지갑 개인키와 니모닉 시드 구문은 자산을 직접 통제할 수 있는 최상위 권한 정보이다. 일단 해당 값이 유출되면 공격자는 동일 지갑을 즉시 임포트해 자산을 이체할 수 있으므로, 일반적인 침해 사고보다 훨씬 빠르고 직접적인 피해로 이어진다. 본 사건에서 유출 메커니즘은 다음 두 가지 방식의 조합으로 추정된다.
- 메모리 상의 키 문자열을 환경 변수, 로컬 캐시, 그리고 IndexedDB 등에서 직접 추출하는 방식
- 지갑 생성 또는 복원 시점에 호출되는 함수의 입력값을 비동기적으로 가로채 외부로 송신하는 방식
해당 방식은 사용자 인터랙션 없이 백그라운드에서 동작하므로, 일반적인 보안 점검 절차만으로는 노출 여부를 즉시 확인하기 어렵다는 점에서 위험도가 매우 높은 것으로 평가된다.
공급망 공격 관점에서의 위협 평가
Web3 SDK 생태계의 신뢰 구조 취약점
Web3 SDK 생태계는 높은 상호의존성과 빠른 릴리스 주기를 특징으로 하며, 이 특성은 공격자에게도 유리한 환경을 제공한다. 단일 SDK의 침해가 다수의 다운스트림 프로젝트로 전파되는 구조적 특성 때문에, 본 사건과 같은 침해는 단일 기업이 아닌 생태계 전반의 위협으로 확대된다. 패키지명, 작성자, 그리고 버전 번호가 공식과 동일하다는 사실은 생태계 참여자들이 기본적으로 가정하는 신뢰 체인의 가장 근본적인 부분을 흔드는 사건이라 할 수 있다.
유사 사례 대비 위협 수준 분석
과거에도 npm, PyPI 등 공개 패키지 레지스트리를 통한 공급망 침해는 반복적으로 보고되어 왔다. 그러나 본 사건은 단순한 코드 변조가 아니라 지갑 권한 정보의 직접 유출을 목적으로 한 점에서 일반적인 정보 탈취형 침해보다 심각한 것으로 평가된다. 특히 텔레메트리라는 합법적 기능명을 위장한 점, 공식 저장소 침해를 통한 정상 빌드 흐름 위장이라는 점에서 향후 유사 표적 공격의 참조 모델로 활용될 가능성이 높다. The Hacker News 원문과 Bleeping Computer의 관련 보도를 종합하면, 본 사건은 이미지 기반 프롬프트 인젝션을 통해 AI 에이전트를 속이는 Ghostcommit과 같은 신종 공급망 위협과 결합될 경우 탐지와 대응이 더욱 복잡해질 것으로 분석된다.
개발자 및 사용자 대응 가이드
악성 버전 점검 및 제거 절차
가장 먼저 수행해야 할 조치는 의존성 잠금 파일에서 @injectivelabs/sdk-ts 버전 1.20.21의 존재 여부를 확인하는 것이다. 점검 절차는 다음과 같다.
- package-lock.json, yarn.lock, pnpm-lock.yaml에서 해당 버전 문자열 검색
- 로컬 node_modules 디렉터리에서 동일 패키지의 postinstall 스크립트 및 변경 파일 검사
- 해당 버전을 사용한 빌드 산출물 식별 후 배포본 재빌드 및 재배포
- 침해 기간 동안 생성되었거나 복원된 지갑에 대해 즉시 자산 이전 및 키 회전
빌드 파이프라인 및 토큰 보안 강화 방안
근본적인 재발 방지를 위해서는 빌드 파이프라인 전반에 대한 신뢰 경계 재설계가 필요하다. 핵심 권고 사항은 다음과 같다.
- GitHub 저장소 및 npm 배포 토큰에 대해 최소 권한 원칙 적용 및 정기적 로테이션
- CI/CD 환경에서 시크릿 분리 저장, OIDC 기반 단기 토큰 사용
- 릴리스 빌드에 대한 재현 가능한 빌드(Reproducible Build)와 서명 기반 검증 절차 도입
- 의존성 자동 업데이트 시 해시 검증, SBOM(Software Bill of Materials) 기반 변경 추적
- 개발자 단말에서의 이상 트래픽 모니터링 및 egress 로그 주기 점검
또한 텔레메트리 모듈과 같이 외부 통신을 수행하는 코드는 화이트리스트 기반 도메인 검증, 정적 분석 규칙 강화, 그리고 별도 샌드박스 검증 절차를 통해 사전에 통제할 필요가 있다.
시사점 및 향후 전망
이번 인젝티브 Labs SDK 침해 사건은 단일 기업의 보안 이슈를 넘어, Web3 생태계가 근본적으로 신뢰해야 하는 SDK와 패키지 레지스트리 자체의 취약성을 드러냈다. 향후 유사 공격은 텔레메트리 위장, AI 에이전트 대상 프롬프트 인젝션, 그리고 멀티체인 SDK 동시 침해 형태로 발전할 가능성이 높으며, 이에 대한 대응은 개별 기업의 노력만으로는 한계가 있다. 생태계 참여자 전반이 패키지 서명, 의존성 검증, 그리고 빌드 투명성 확보에 대한 공통 기준을 마련해야만 유사 위협으로부터 사용자의 자산을 안정적으로 보호할 수 있을 것으로 분석된다. 본 사건을 계기로 SDK 공급망 보안이 단순한 선택이 아닌 필수 요건으로 자리 잡아야 한다는 논의가 보다 본격화될 것으로 보인다.
핵심 정리
- 침해 공식 SDK의 빌드 파이프라인 변조를 통해 악성 npm 패키지가 자연스러운 업데이트 흐름 속에 유포됨
- 가짜 텔레메트리 모듈이 지갑 개인키와 니모닉 시드 구문을 외부 서버로 직접 유출시키는 고위험 구조를 가짐
- 단순 버전 회전뿐 아니라 토큰 관리, 재현 가능 빌드, 그리고 의존성 검증 체계의 전면 재설계가 필요함
참고 자료: The Hacker News – Injective Labs GitHub Compromise Pushes Wallet-Key-Stealing npm Packages, Bleeping Computer – Ghostcommit hides prompt injection in images to fool AI agents