Visual Studio Code - 글래스웜(GlassWorm) 재등장 사건 요약 (2025년 11월 12일 기준)




퇴치됐다고 선언된 지 불과 2주 만에 글래스웜이 다시 살아났다. 이번에도 VS Code 오픈소스 확장 마켓플레이스 OpenVSX와 GitHub 리포지토리를 주요 감염 경로로 삼고 있으며, 오픈소스 공급망의 구조적 취약점이 적나라하게 드러난 사건이다.


핵심 사실

  • 처음 발견: 2024년 10월
  • 재등장: 2025년 11월 초 (OpenVSX가 “완전 차단” 선언한 지 2주 만)
  • 공격 주체: 러시아 기반으로 추정되는 조직
  • 주요 기법
    • 보이지 않는 유니코드 문자(Zero-Width Characters 등)로 악성 JS 코드 숨김 → 에디터상으로는 공백처럼 보임
    • 솔라나(Solana) 블록체인 트랜잭션 메모 필드를 C2 갱신 채널로 사용 (몇 센트로 새 주소 게시 가능 → 차단 불가)
    • AI 생성 코드처럼 위장한 악성 커밋을 개발자 GitHub 리포지토리에 삽입
    • 감염된 개발자 머신을 프록시/피봇으로 활용해 추가 전파


새로 확인된 감염 확장 기능 (OpenVSX, 총 1만+ 다운로드)

  1. adhamu.history-in-sublime-merge (~4,000회)
  2. ai-driven-dev.ai-driven-dev   (~3,300회)
  3. yasuyuky.transient-emacs    (~2,400회)

→ 정상 설치·동작하지만 내부에 보이지 않는 글래스웜 페이로드 존재


피해 범위

  • 미국, 유럽, 아시아, 남미 개발자 및 기업 다수
  • 중동 지역 주요 정부 기관 1곳 감염 확인
  • 개발자 GitHub 리포지토리 대량 침투 (인증 정보 탈취 후 AI 위장 커밋으로 전파)

왜 완전히 제거되지 못했나? (근본 원인)

1. 블록체인 C2의 초강력 복원력  

   → 페이로드 서버가 내려가도 공격자는 1센트 미만으로 새 트랜잭션 올리면 전 세계 감염 노드가 자동 갱신

2. OpenVSX 등 오픈소스 마켓의 구조적 한계  

   → 수동 코드 리뷰 인력·예산 전무  

   → 자동화 스캐너만으로는 유니코드 은폐 기법 탐지 불가

3. 경제적 인센티브 부재  

   → 무료/저비용 모델 → 보안 검증에 투자할 동기 부족

전문가들 공통 의견

  • “몇 개 확장 삭제했다고 끝나는 문제가 아니다”
  • “공급망 공격이 아니라 개발자 IDE·툴체인 자체를 장악하는 새로운 패러다임”
  • “자동화 스캔만 믿던 시대는 끝났다. 이제 개발 환경도 프로덕션급 보안 기준 적용해야 함”

즉시 취해야 할 조치 (개발자·보안팀용)

  1. OpenVSX 대신 Microsoft 공식 Marketplace 또는 내부 큐레이션된 레지스트리만 사용
  2. 확장 자동 업데이트 일시 중지, 수동 검토 후 설치
  3. 설치된 확장 목록 정기 감사 + 코드 직접 열어서 유니코드 이상 탐지 (예: VS Code에서 Ctrl+Shift+P → “Show Invisible Characters”)
  4. GitHub 토큰, npm 토큰, VS Code 계정 등 개발자 인증 정보 철저한 2FA + 하드웨어 키 적용
  5. 워크스테이션 아웃바운드 연결 실시간 모니터링 (특히 Solana RPC, 이상한 WebSocket 등)
  6. 서드파티 라이브러리와 동일한 수준의 SBOM·서명 검증 프로세스를 VS Code 확장에도 적용


결론

글래스웜은 단순히 “한 번 더 나타난 맬웨어”가 아니라, 현재 오픈소스 생태계와 무료 마켓플레이스 모델이 근본적으로 감당할 수 없는 수준의 공급망 위협이 현실화됐음을 보여주는 결정적 사례이다. 당분간 이런 공격은 반복·진화할 가능성이 매우 높다.


참조

  • https://www.truesec.com/hub/blog/glassworm-self-propagating-vscode-extension



👉🏻 간단한 스크립트로 해당 확장 프로그램이 설치 되었는지 확인 할수 있습니다. 

https://github.com/runableapp/vsc-extension-check 에서 다운 받고, 

C:\Users\<USER>\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd 

를 사용자의 세팅에 맞게 고치세요.