AI 요약
보안 기업 Aikido는 2025년부터 추적해온 위협 행위자 'Glassworm'이 유니코드 투명 문자를 이용한 새로운 대규모 공격을 감행하고 있다고 경고했습니다. 이 공격은 2025년 3월 npm 패키지에서 처음 발견된 이후, 같은 해 10월 Open VSX와 GitHub로 확산되었으며 2026년 3월 현재 다시 수백 개의 저장소를 위협하는 수준으로 성장했습니다. 공격자는 일반적인 코드 에디터나 터미널에서 보이지 않는 유니코드 문자를 백틱(``) 내부에 숨겨두고, 소형 디코더 함수를 통해 이를 복호화한 뒤 eval()로 실행하는 방식을 취합니다. 이번 공격으로 Wasmer, Reworm, 그리고 anomalyco의 opencode-bench 등 유명 오픈소스 프로젝트들이 피해를 입은 것으로 나타났습니다. 최종적으로 실행되는 페이로드는 Solana 네트워크를 전달 채널로 사용하여 사용자의 토큰, 자격 증명, 비밀 정보를 탈취하도록 설계되었습니다.
핵심 인사이트
- 대규모 피해 발생: 2026년 3월 기준, GitHub 코드 검색을 통해 Glassworm의 디코더 패턴을 포함한 저장소가 최소 151개 발견되었으며 실제 피해 규모는 이를 상회함.
- 타겟 프로젝트: Wasmer, Reworm, 그리고 OpenCode 및 SST를 운영하는 anomalyco의 'opencode-bench'와 같은 주요 저장소가 공격에 노출됨.
- 공격 타임라인: 2025년 3월 npm에서 최초 발견, 2025년 10월 17일 Open VSX 확장 프로그램 공격, 10월 31일 GitHub 전환을 거쳐 현재의 대규모 웨이브에 이름.
주요 디테일
- 기술적 수법:
0xFE00~0xFE0F및0xE0100~0xE01EF범위의 유니코드 문자를 사용하여 페이로드를 인코딩하며, 이는 대부분의 UI에서 빈 공간으로 표시됨. - 실행 메커니즘: 비가시적 문자가 포함된 문자열을
codePointAt(0)메서드를 사용하는 특정 디코더 함수로 처리한 후eval(Buffer.from(...).toString('utf-8'))을 통해 악성 코드를 실행함. - 데이터 탈취 경로: 2단계 스크립트는 Solana 네트워크를 데이터 전달 채널로 활용하며, 개발자의 환경에서 기밀 정보(Secrets)와 토큰을 수집함.
- 탐지 난이도: 코드 리뷰 인터페이스나 터미널에서도 투명하게 렌더링되므로, 전용 보안 툴 없이는 개발자가 육안으로 공격 코드를 식별하기 매우 어려움.
향후 전망
- 보안 도구 진화 필요: 유니코드 투명 문자를 이용한 공급망 공격이 지속됨에 따라, 정적 분석 도구(SAST) 및 IDE 내 비가시 문자 경고 기능이 필수적으로 요구됨.
- 플랫폼 대응 강화: GitHub와 npm 등 오픈소스 플랫폼이 이러한 유니코드 인젝션 패턴을 사전에 차단하기 위한 필터링 시스템을 강화할 것으로 예상됨.
