가상자산추적분석 전문기업 클로인트의 CIC팀은 개발자들이 많이 사용하는 코드 편집기 Visual Studio Code(VSCode)를 악용한 새로운 유형의 가상화폐 탈취 악성코드를 발견했다. 해당 악성코드는 GitHub에 정상적인 오픈소스 프로젝트로 위장해 업로드되어 있으며, 개발자가 프로젝트를 다운로드해 열기만 해도 자동으로 실행되어 브라우저에 저장된 인증정보와 가상화폐 지갑 데이터를 탈취한다.
클로인트
공격자는 개발자들이 코드를 공유하는 플랫폼인 GitHub에 가짜 프로젝트를 업로드한 뒤, 이를 다운로드한 개발자의 컴퓨터를 감염시키는 수법을 사용했다. 악성코드는 인터넷 브라우저에 저장된 비밀번호와 가상화폐 지갑 정보를 표적으로 삼으며, Windows, macOS, Linux 등 주요 운영체제가 모두 공격 대상이어서 피해 범위가 광범위할 것으로 우려된다.
공격은 치밀하게 설계된 단계를 거쳐 진행된다. 먼저 공격자는 GitHub에 정상적인 개발 프로젝트처럼 보이는 가짜 저장소를 생성한다. 웹 개발이나 인공지능(AI) 등 개발자들의 관심을 끌 만한 주제를 선택하고, 실제로 작동하는 코드를 일부 포함시켜 의심을 피한다. 이후 프로젝트 내부에 VSCode가 자동으로 실행하는 설정 파일(tasks.json)을 심어놓는다. 이 파일은 폴더를 열면 자동으로 실행되도록 구성되어 있으며, 실행 창을 숨겨 사용자가 인지하지 못하게 한다. 악성 코드 본체는 폰트 파일(.woff2)이나 이미지 파일(.svg, .jpeg)로 위장해 보안 검사를 우회한다.
개발자가 프로젝트를 VSCode로 열면 은닉된 악성 코드가 자동 실행된다. 악성 코드는 Chrome, Firefox, Edge 등 브라우저에 저장된 비밀번호, 쿠키, 자동완성 정보를 수집하고, MetaMask, Phantom 등 24개 이상의 가상화폐 지갑 확장프로그램 데이터와 시스템에 저장된 보안 정보를 탈취해 공격자 서버로 전송한다.
이번 공격은 북한 연계 해킹 조직의 소행으로 추정되며, 보안 업계에서 “Contagious Interview'로 명명된 악성코드 캠페인의 일환으로 분석된다. Contagious Interview는 북한 해킹 조직이 최소 2022년 12월부터 진행 중인 대규모 공격 캠페인으로, 개발자를 대상으로 가짜 채용 면접이나 악성 GitHub 저장소를 통해 악성코드를 유포하는 것이 특징이다.
북한과의 연관성을 판단하는 근거는 여러 가지다. 가상화폐만을 집중적으로 노리는 점이 북한의 외화 벌이 전략과 일치하며, 북한은 국제 경제 제재를 우회하기 위해 가상화폐 탈취를 주요 자금원으로 활용해왔다. 또한 개발자를 표적으로 삼는 방식이 Contagious Interview 캠페인 및 기존 북한 공격 패턴과 유사하고, 다단계 페이로드 구조와 공격 기법이 북한 해킹 조직 Lazarus 그룹의 전형적인 패턴과 일치한다.
피해를 예방하기 위해 개발자는 출처가 불분명한 GitHub 프로젝트를 함부로 다운로드하지 않아야 한다. 프로젝트를 열기 전에는 반드시 “.vscode” 폴더 내 파일을 점검하고, VSCode의 자동 작업 실행 기능(“task.allowAutomaticTasks”)을 비활성화하는 것이 좋다. 백신 프로그램은 항상 최신 상태로 유지하고, 가상화폐 자산은 브라우저 확장 지갑보다 하드웨어 지갑에 보관할 것을 권장한다. 일반 사용자의 경우 브라우저에 중요한 비밀번호를 저장하지 말고 2단계 인증(2FA)을 적극 활용해야 하며, 가상화폐 거래소에는 거래에 필요한 최소 금액만 보관해야 한다.
만약 의심스러운 프로젝트를 다운로드해 열었다면 즉시 인터넷 연결을 차단하고, 백신 프로그램으로 전체 시스템 검사를 실시해야 한다. 모든 온라인 계정의 비밀번호를 변경하고, 가상화폐 지갑의 자산을 새로운 지갑으로 즉시 이동시켜야 한다. 금융 거래 내역에서 이상 거래가 있는지 확인하고, 의심스러운 활동이 발견되면 전문 기관에 신고해야 한다.
클로인트는 이번 위협 분석과 함께 "[보안권고문] Visual Studio Code 자동 작업 실행 기능의 보안 위험"을 발행했다. 해당 권고문에는 VSCode의 tasks.json 자동 실행 기능이 악용될 수 있는 구체적인 시나리오와 이를 방지하기 위한 설정 방법이 상세히 안내되어 있다.
이번에 발견된 공격은 개발자를 직접 노린 정교한 사회공학 공격이다. 개발 도구의 편리한 자동화 기능이 공격 벡터로 악용될 수 있다는 점에서, 개발자 커뮤니티 전반의 보안 인식 강화가 시급하다. 특히 가상화폐를 보유하고 있거나 블록체인 관련 프로젝트에 참여하는 개발자는 각별한 주의가 필요하다.
Copyright ⓒ 경향게임스 무단 전재 및 재배포 금지