GlassWorm 공급망 공격: VS Code 확장을 노린 대규모 개발자 타겟 사이버 공격 — 151개 GitHub 저장소 감염, 72개 VSX 확장 악용한 사상 최대 개발자 생태계 침투 사건
2026-03-17T00:04:30.086Z
보이지 않는 코드, 보이지 않는 위협: GlassWorm이 개발자 생태계를 뒤흔들다
2026년 3월, 소프트웨어 공급망 보안 역사상 가장 정교하고 광범위한 공격 캠페인이 개발자 커뮤니티를 강타했습니다. GlassWorm이라 명명된 이 사이버 공격은 72개의 악성 Open VSX 확장 프로그램과 151개 이상의 GitHub 저장소, 그리고 다수의 npm 패키지를 감염시키며 전 세계 개발자들의 자격 증명과 암호화폐 지갑을 탈취하는 데 성공했습니다. 특히 사람의 눈에 보이지 않는 유니코드 문자를 활용해 악성 코드를 숨기고, 솔라나 블록체인을 C2(명령 및 제어) 인프라로 활용하는 등 기존 보안 체계를 완전히 우회하는 혁신적인 공격 기법이 업계에 큰 충격을 주고 있습니다.
공격의 배경: 개발자 도구 생태계의 구조적 취약점
Visual Studio Code는 전 세계에서 가장 널리 사용되는 코드 편집기로, 확장 프로그램 생태계는 그 핵심 경쟁력입니다. 그러나 이 생태계에는 본질적인 보안 취약점이 존재합니다. VS Code 확장 프로그램은 에디터와 동일한 권한으로 실행되며, 별도의 권한 모델이나 샌드박스가 없습니다. 모바일 앱처럼 "이 확장 프로그램이 네트워크에 접근하려 합니다"라는 알림도 표시되지 않습니다. 확장 프로그램은 어떤 파일이든 읽을 수 있고, 어떤 포트든 열 수 있으며, 어떤 네트워크 요청이든 보낼 수 있습니다.
Microsoft의 공식 Visual Studio Marketplace 외에도 Cursor, Windsurf, Google Antigravity 같은 AI 기반 VS Code 포크 편집기들은 Open VSX Registry를 사용합니다. 2026년 1월, 이러한 AI 코딩 도구들이 Open VSX에 존재하지 않는 확장 프로그램을 추천하는 문제가 발견되었는데, 이는 공격자가 해당 이름으로 악성 패키지를 등록할 수 있는 공급망 리스크를 만들어냈습니다. GlassWorm 캠페인은 바로 이러한 구조적 공백을 정확히 파고든 것입니다.
GlassWorm의 최초 활동은 2025년 10월 Koi Security에 의해 처음 포착되었습니다. 이후 2025년 11월에는 S1ngularity 공격이 유사한 수법으로 주요 GitHub 저장소를 침해했고, 이러한 일련의 공급망 공격들이 2026년 초 GlassWorm의 대규모 확산으로 이어졌습니다.
핵심 분석: 3중 벡터 공격의 해부
1단계: Open VSX 확장 프로그램 감염
GlassWorm 캠페인의 첫 번째 벡터는 Open VSX Registry를 겨냥한 것이었습니다. 2026년 1월 30일, 검증된 개발자 계정 'oorzc'가 탈취되어 FTP/SFTP/SSH Sync Tool, I18n Tools, vscode mindmap, scss to css 등 4개의 인기 확장 프로그램에 악성 코드가 주입되었습니다. 이후 1월 31일부터 Socket Research Team은 72개의 추가 악성 확장 프로그램을 발견했습니다.
공격자들의 기법은 특히 교묘했습니다. 처음에는 완전히 정상적으로 보이는 확장 프로그램을 배포한 후, 사용자의 신뢰를 얻은 다음 업데이트를 통해 extensionPack과 extensionDependencies 필드를 수정했습니다. 이 필드들은 VS Code의 정상적인 기능으로, 다른 확장 프로그램을 번들링하거나 의존성으로 요구하는 데 사용됩니다. 사용자가 업데이트를 설치하면 에디터가 자동으로 참조된 모든 의존성을 설치하는데, 여기에 GlassWorm 로더가 포함되어 있었습니다.
악성 확장 프로그램들은 angular-studio.ng-angular-extension, crotoapp.vscode-xml-extension, gvotcha.claude-code-extension, mswincx.antigravity-cockpit, turbobase.sql-turbo-tool 등의 이름으로 ESLint, Prettier, Angular, Flutter, Python, Claude Code, Google Antigravity 등 널리 사용되는 개발 도구를 사칭했습니다. 이들은 총 22,000회 이상 다운로드되었으며, 주로 macOS 시스템을 대상으로 브라우저 자격 증명, 암호화폐 지갑, 개발자 시크릿을 탈취했습니다.
2단계: GitHub 저장소 대규모 감염
2026년 3월 3일부터 9일 사이, 공격은 GitHub로 확대되었습니다. 최소 151개의 GitHub 저장소가 감염되었으며, 실제 수치는 삭제된 저장소를 포함하면 더 높을 것으로 추정됩니다. 공격자들은 Private Use Area(PUA) 유니코드 문자를 활용한 전례 없는 기법을 사용했습니다.
이 유니코드 문자들은 0xFE00-0xFE0F와 0xE0100-0xE01EF 범위에 존재하며, 코드 에디터, 터미널, 코드 리뷰 인터페이스에서 완전히 투명하게 렌더링됩니다. 겉보기에는 빈 백틱 문자열처럼 보이지만, 실제로는 악성 바이트로 디코딩되어 eval()을 통해 실행됩니다. 디코딩된 페이로드는 2단계 스크립트를 가져와 토큰, 자격 증명, 시크릿을 탈취하는 로더 역할을 수행했습니다.
주목할 만한 감염 프로젝트로는 pedronauck/reworm(1,460 스타), anomalyco/opencode-bench(56 스타), wasmer-examples/hono-wasmer-starter(8 스타) 등이 있었습니다. Aikido Security는 "프로젝트별로 맞춤화된 위장 커밋의 수준이 공격자들이 대규모 언어 모델(LLM)을 사용하고 있음을 강력히 시사한다"고 분석했습니다.
3단계: 블록체인 기반 C2 인프라
GlassWorm의 가장 혁신적인 특징은 솔라나(Solana) 블록체인을 C2 인프라로 활용한 것입니다. 블록체인 트랜잭션 메모에 페이로드 URL을 임베딩함으로써, 공격자들은 탈중앙화되고 불변적인 C2 시스템을 구축했습니다. 이 시스템은 기존의 도메인 차단이나 서버 테이크다운으로는 무력화할 수 없습니다. 또한 Google Calendar를 백업 C2 메커니즘으로 사용하여 정상적인 트래픽으로 위장하는 이중 회피 전략을 구사했습니다.
악성 코드에는 러시아어 로케일을 감지하여 감염을 회피하는 기능도 포함되어 있어, 공격 주체의 지리적 기원에 대한 단서를 제공하고 있습니다.
산업 영향: 개발자 신뢰의 근본적 위기
GlassWorm 공격은 단순한 보안 사고를 넘어 소프트웨어 개발 생태계의 신뢰 모델에 근본적인 의문을 제기하고 있습니다. 개발자들이 일상적으로 사용하는 코드 에디터 확장 프로그램, 패키지 매니저, 그리고 코드 저장소 자체가 공격 표면이 될 수 있다는 사실이 확인되었습니다.
2026년 초에만 GlassWorm 외에도 Shai-Hulud 2.0 캠페인이 20,649개 저장소에서 33,185개의 고유 시크릿을 노출시켰고, RoguePilot 공격은 GitHub Codespaces와 Copilot의 통합을 악용했으며, GPUGate 캠페인은 GitHub의 포크 시스템을 이용해 GitHub Desktop 공식 저장소를 하이재킹했습니다. 공급망 공격이 더 이상 예외적인 사건이 아니라 구조적이고 체계적인 위협으로 진화하고 있습니다.
특히 VS Code 확장 프로그램의 보안 모델이 근본적으로 취약하다는 점이 재차 확인되었습니다. 2026년 1월에는 ChatGPT 중국어 버전 등 AI 관련 확장 프로그램이 150만 건 이상 설치된 상태에서 개발자 소스 코드를 중국 서버로 전송하는 것이 발견되었고, 2월에는 Live Server, Code Runner 등 총 1억 2,500만 회 이상 설치된 4개 확장 프로그램에서 심각한 보안 취약점이 발견되었습니다.
전망: 개발자 보안의 새로운 패러다임이 필요합니다
GlassWorm 공격은 기존의 시각적 코드 리뷰와 표준 린팅 도구로는 감지할 수 없는 새로운 유형의 위협을 보여주었습니다. Aikido Security가 강조한 것처럼, "보이지 않는 것을 잡기 위해 시각적 코드 리뷰에 의존할 수 없습니다." 이는 자동화된 보안 스캐닝 도구의 필수적 도입을 시사합니다.
Open VSX Registry는 발견된 악성 확장 프로그램의 대부분을 제거했지만, 2026년 3월 13일 기준으로 일부는 여전히 활성 상태였습니다. Microsoft의 공식 Visual Studio Marketplace는 악성 코드 스캐닝과 차단 목록 시스템을 운영하고 있지만, Open VSX의 보안 체계는 상대적으로 취약한 것으로 드러났습니다. 향후 확장 프로그램 마켓플레이스의 보안 검증 강화, 권한 모델 도입, 그리고 의존성 체인의 투명성 확보가 시급한 과제로 부상하고 있습니다.
개발자들에게는 패키지 이름과 의존성을 꼼꼼히 확인하고, 보이지 않는 유니코드 문자를 탐지하는 자동화 도구를 활용하며, CI/CD 파이프라인에 공급망 보안 스캔을 통합하는 것이 필수적인 방어 전략이 되었습니다. GlassWorm은 개발자 도구의 편의성과 보안 사이의 균형이 얼마나 취약한지를 적나라하게 드러낸 사건이며, 소프트웨어 산업 전체가 공급망 보안에 대한 근본적인 재검토를 해야 할 시점에 와 있습니다.
핵심 요약
GlassWorm 공격은 72개 악성 VSX 확장, 151개 GitHub 저장소, 다수의 npm 패키지를 감염시킨 다중 벡터 공급망 공격으로, 보이지 않는 유니코드 인코딩과 블록체인 기반 C2 인프라라는 전례 없는 기법을 동원했습니다. 개발자와 보안 팀은 시각적 코드 리뷰를 넘어 자동화된 공급망 보안 도구를 즉시 도입해야 하며, 확장 프로그램 설치 전 의존성 체인을 철저히 검증하는 새로운 보안 습관을 확립해야 합니다.
비트베이크에서 광고를 시작해보세요
광고 문의하기