퇴치됐다고 선언된 지 불과 2주 만에 글래스웜이 다시 살아났다. 이번에도 VS Code 오픈소스 확장 마켓플레이스 OpenVSX와 GitHub 리포지토리를 주요 감염 경로로 삼고 있으며, 오픈소스 공급망의 구조적 취약점이 적나라하게 드러난 사건이다.
핵심 사실
- 처음 발견: 2024년 10월
- 재등장: 2025년 11월 초 (OpenVSX가 “완전 차단” 선언한 지 2주 만)
- 공격 주체: 러시아 기반으로 추정되는 조직
- 주요 기법
- 보이지 않는 유니코드 문자(Zero-Width Characters 등)로 악성 JS 코드 숨김 → 에디터상으로는 공백처럼 보임
- 솔라나(Solana) 블록체인 트랜잭션 메모 필드를 C2 갱신 채널로 사용 (몇 센트로 새 주소 게시 가능 → 차단 불가)
- AI 생성 코드처럼 위장한 악성 커밋을 개발자 GitHub 리포지토리에 삽입
- 감염된 개발자 머신을 프록시/피봇으로 활용해 추가 전파
새로 확인된 감염 확장 기능 (OpenVSX, 총 1만+ 다운로드)
- adhamu.history-in-sublime-merge (~4,000회)
- ai-driven-dev.ai-driven-dev (~3,300회)
- yasuyuky.transient-emacs (~2,400회)
→ 정상 설치·동작하지만 내부에 보이지 않는 글래스웜 페이로드 존재
피해 범위
- 미국, 유럽, 아시아, 남미 개발자 및 기업 다수
- 중동 지역 주요 정부 기관 1곳 감염 확인
- 개발자 GitHub 리포지토리 대량 침투 (인증 정보 탈취 후 AI 위장 커밋으로 전파)
왜 완전히 제거되지 못했나? (근본 원인)
1. 블록체인 C2의 초강력 복원력
→ 페이로드 서버가 내려가도 공격자는 1센트 미만으로 새 트랜잭션 올리면 전 세계 감염 노드가 자동 갱신
2. OpenVSX 등 오픈소스 마켓의 구조적 한계
→ 수동 코드 리뷰 인력·예산 전무
→ 자동화 스캐너만으로는 유니코드 은폐 기법 탐지 불가
3. 경제적 인센티브 부재
→ 무료/저비용 모델 → 보안 검증에 투자할 동기 부족
전문가들 공통 의견
- “몇 개 확장 삭제했다고 끝나는 문제가 아니다”
- “공급망 공격이 아니라 개발자 IDE·툴체인 자체를 장악하는 새로운 패러다임”
- “자동화 스캔만 믿던 시대는 끝났다. 이제 개발 환경도 프로덕션급 보안 기준 적용해야 함”
즉시 취해야 할 조치 (개발자·보안팀용)
- OpenVSX 대신 Microsoft 공식 Marketplace 또는 내부 큐레이션된 레지스트리만 사용
- 확장 자동 업데이트 일시 중지, 수동 검토 후 설치
- 설치된 확장 목록 정기 감사 + 코드 직접 열어서 유니코드 이상 탐지 (예: VS Code에서 Ctrl+Shift+P → “Show Invisible Characters”)
- GitHub 토큰, npm 토큰, VS Code 계정 등 개발자 인증 정보 철저한 2FA + 하드웨어 키 적용
- 워크스테이션 아웃바운드 연결 실시간 모니터링 (특히 Solana RPC, 이상한 WebSocket 등)
- 서드파티 라이브러리와 동일한 수준의 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
를 사용자의 세팅에 맞게 고치세요.