사이버 보안 · 2 min read · Sep 07, 2025

악의적인 VS Code 확장 프로그램이 마켓플레이스 허점을 악용하다

사이버 보안 연구원들이 Microsoft의 Visual Studio Code (VS Code) 마켓플레이스에서 공격자가 삭제된 확장 프로그램 이름을 재사용할 수 있는 허점을 발견했습니다. 이는 악성 소프트웨어가 신뢰할 수 있는 도구의 가장을 쓰고 개발자 워크플로우에 침투할 수 있게 합니다.

공급망 보안 회사인 ReversingLabs (RL)의 연구원들은 6월에 ahbanC.shiba라는 악성 확장 프로그램의 일련의 추적을 통해 이 문제를 발견했습니다. 이 확장 프로그램은 올해 초에 이미 마켓플레이스에서 제거된 ahban.shiba와 ahban.cychelloworld라는 두 개의 이전 확장 프로그램과 동일한 기능을 가지고 있었습니다.

이로 인해 중요한 질문이 제기되었습니다: 마켓플레이스 규칙에 따르면, VS Code는 모든 확장 프로그램 이름이 고유해야 한다고 요구하는데, 어떻게 “shiba”가 다른 게시자 아래에서 다시 나타날 수 있었을까요?

공격 작동 방식

이전의 확장 프로그램들과 마찬가지로 ahbanC.shiba 확장 프로그램은 간단한 다운로더 역할을 했습니다. 이 확장 프로그램은 단 하나의 명령어인 shiba.aowoo만 등록했으며, 이는 원격 서버(54.85.145.93)에서 PowerShell 스크립트를 가져왔습니다.

운영 체제에 따라 이 스크립트는 testShiba 폴더의 파일을 암호화하고 하나의 시바 이누 토큰(이더리움 기반의 암호화폐)을 몸값으로 요구했습니다. 그러나 이전 버전들과 마찬가지로 지갑 주소는 제공되지 않아 랜섬웨어 캠페인이 아직 개발 중임을 시사했습니다.

ahban.shiba와 ahban.cychelloworld 확장 프로그램이 제거되었을 때, 연구원들은 그 이름이 영구적으로 퇴출될 것이라고 가정했습니다. 그러나 몇 주 후인 3월 말, 새로운 확장 프로그램인 ahbanC.shiba가 마켓플레이스에 나타나 이전의 악성 코드와 동일한 코드를 가지고 있었습니다. 이는 삭제된 확장 프로그램 이름이 VS Code 마켓플레이스에서 전혀 잠겨 있지 않고 자유롭게 재사용될 수 있음을 놀랍게도 입증했습니다.

숨겨진 마켓플레이스 허점

이런 일이 발생한 이유를 이해하기 위해 RL은 마켓플레이스의 확장 프로그램 관리 시스템을 조사했습니다. 그들의 조사 결과, 문제는 VS Code가 확장 프로그램 삭제를 처리하는 방식에 있음을 밝혀냈습니다. 마켓플레이스 게시자는 두 가지 옵션이 있습니다: 게시 취소 또는 제거.

  • 게시 취소된 확장 프로그램은 마켓플레이스에서 사라지지만 원래 이름과 통계에 연결된 상태로 남아 있습니다. 다른 사람이 다시 게시할 수 없습니다. 즉, 다른 사람이 그 이름을 주장할 수 없습니다.
  • 제거된 확장 프로그램은 마켓플레이스에서 완전히 삭제됩니다. 이는 그 이름이 다시 사용 가능해져, 악의적인 행위자를 포함한 누구나 이를 주장하고 동일한 이름으로 악성 코드를 게시할 수 있게 합니다.

다시 말해, 합법적인 확장 프로그램이 삭제되면 그 신뢰할 수 있는 이름은 사실상 누구나 사용할 수 있게 됩니다. RL은 이전에 삭제된 패키지와 연결된 이름을 사용하여 테스트 확장 프로그램을 성공적으로 게시함으로써 이를 확인했습니다. 여기에는 Solidity-Ethereum과 같은 악성 소프트웨어의 이력이 있는 이름도 포함됩니다.

오픈 소스 생태계의 더 넓은 문제

이름 재사용이 악용된 것은 이번이 처음이 아닙니다. 2023년 초, RL은 Python Package Index (PyPI)에서도 삭제된 패키지의 이름 재사용을 허용한다는 사실을 발견했습니다. 하나의 악성 패키지인 termcolour는 원래의 합법적인 패키지가 제거된 몇 년 후에 다시 나타났습니다.

PyPI는 이후 악성 패키지와 관련된 이름의 재사용을 방지하기 위한 제한을 시행했지만, VS Code 마켓플레이스에는 그러한 보호 장치가 없습니다.

“이 허점의 발견은 새로운 위협을 드러냅니다: 제거된 확장 프로그램의 이름은 누구나 재사용할 수 있습니다. 이는 어떤 합법적이고 매우 인기 있는 확장 프로그램이 제거되면 그 이름이 누구에게나 사용될 수 있다는 것을 의미합니다.”라고 ReversingLabs의 소프트웨어 위협 연구원인 Lucija Valenti는 블로그 게시물에서 썼습니다.

개발자가 할 수 있는 일

Microsoft가 마켓플레이스 허점에 대한 수정 사항을 발표하지 않은 상태에서, 보안 전문가들은 개발자들이 경계를 유지해야 한다고 강조합니다. 그들은 이름이 익숙해 보이더라도 설치 전에 확장 프로그램을 신중하게 검토하고, 확장 프로그램 이름만 의존하지 말고 게시자 계정을 확인할 것을 권장합니다.

또한, 악성 패키지를 감지할 수 있는 보안 도구를 사용하여 종속성을 지속적으로 모니터링하는 것도 권장됩니다. 추가로, 개발자들은 VS Code 마켓플레이스를 포함한 여러 리포지토리에 대한 무료 위험 평가를 제공하는 플랫폼을 활용할 수 있습니다.

“이번 캠페인에서 배워야 할 교훈은 VS Code 마켓플레이스와 다른 오픈 소스 리포지토리에서 많은 위험이 도사리고 있다는 것을 기억하는 것이 중요하다는 것입니다. 이러한 플랫폼의 개발자와 사용자들은 개발 주기에 포함되는 내용에 대해 신중하고 인식해야 합니다.”라고 Valenti는 결론지었습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.