이 게시물은 Tanium Guardian 팀이 작성했습니다.
통합 개발 환경(IDE)은 데스크톱 컴퓨터를 사용하여 코드를 작성, 편집, 테스트 및 빌드할 수 있도록 설계된 소프트웨어 애플리케이션입니다. Visual Studio Code는 오픈소스 코어를 기반으로 개발된 마이크로소프트의 인기 있는 무료 편집기입니다. 의 VS Code 코어( )는 Cursor, Windsurf, VSCodium 등 기업 환경에서 빠르게 보급되고 있는 여러 다른 IDE의 기반으로도 활용되고 있습니다.
VS Code와 그 포크들은 “확장 기능”을 통해 기능을 확장할 수 있게 해줍니다. 이러한 확장 기능은 간단한 UI 조정부터 언어 지원 및 작업 자동화와 같은 고급 기능에 이르기까지 다양합니다. 특히, 이러한 확장 기능은 IDE 내에서 코드를 실행할 수 있게 하며, IDE 프로세스의 권한 수준에서 코드를 실행할 수 있습니다.
브라우저 확장 프로그램과 마찬가지로, 이러한 유용한 유틸리티는 수만 개에 달합니다. 풍부한 개발자 생태계 덕분에 사용자는 코드 미화, 린팅, 다른 개발 도구와의 통합 등 상상할 수 있는 거의 모든 요구 사항에 맞는 확장 기능을 찾을 수 있습니다. 나 VS Code Pets처럼, 1990s 과정의 고전적인 eSheep 애플리케이션을 연상시키는 유쾌한 옵션들도 있습니다.
사용자는 의 Visual Studio Code 마켓플레이스( , Microsoft), 의 OpenVSX 레지스트리( , Eclipse Foundation)에서 확장 프로그램을 구할 수 있으며, 로컬에 직접 설치할 수도 있습니다.
IDE의 높은 인기와 IDE 최종 사용자가 높은 권한을 획득하거나 민감한 데이터에 접근할 가능성이 있다는 점, 그리고 확장 기능을 비교적 쉽게 공개할 수 있다는 점을 고려할 때, 공격자들은 악의적인 목적으로 확장 기능을 점점 더 많이 악용하고 있다.
(Aqua Security, )와 (Truvis Thorton, )가 2023 년에 작성하고, (Palo Alto, )가 2024 년 말에 현장에서 최초로 보고한 이 위협 연구는 이제 거의 매주 발생하는 일처럼 느껴진다. MITRE는 2025년 3월에서 IDE 확장 기능 을 ATT&CK TTP로 추가했습니다.
[MITRE ATT&CK 프레임워크를 통해 취약점을 파악하고, 위협의 우선순위를 정하며, 탐지 능력을 향상시킬 수 있는 방법을 알아보세요]
IDE 확장 기능은 어떻게 작동하나요?
확장 기능은 VS Code 사용자 인터페이스에 직접 통합되는 패키지화된 코드 및/또는 구성 파일로, VS Code에서 제공하는 동일한 애플리케이션 프로그래밍 인터페이스(API)를 활용할 수 있습니다. 설치 후, 확장 기능은 VS Code에서 실행되는 “확장 호스트” 내에서 실행됩니다. 이것은 IDE와 함께 실행 중인 Node.js 프로세스입니다.
“확장 호스트”는 IDE와 동일한 권한을 가지므로, IDE에서 수행할 수 있는 모든 작업은 확장 프로그램에서도 수행할 수 있습니다. 여기에는 엔드포인트에서 파일을 읽고 쓰는 것, 네트워크 요청을 수행하는 것, 외부 프로세스를 실행하는 것, IDE 설정을 수정하는 것 등이 포함되지만, 이에 국한되지는 않습니다. 확장 프로그램은 주로 자바스크립트 기반 코드이지만, VS Code API를 통해 다른 언어로 작성된 악성 코드를 삽입할 수도 있습니다.

어떤 위험이 있을까요?
IDE 확장 기능의 악용 사례가 극심할 경우, 피해자는 공격자의 데이터 유출을 통해 인증 정보 및 액세스 토큰을 비롯한 민감한 데이터가 노출되거나 랜섬웨어의 피해자가 될 수 있습니다.
보안 업계에는 “악성코드는 허용된 범위 내에서만 활동한다”는 말이 있는데, 이는 지나치게 관대한 설정이나 관리 권한이 과도하게 부여된 사용자 계정이 조직에 얼마나 큰 위험이 될 수 있는지를 간단히 설명한 것이다.
악성 VS Code 확장 프로그램은 해당 확장 프로그램을 VS Code 프로필에 로드한 사용자의 권한으로 실행됩니다. 개발자들이 업무에 필요한 디버깅 및 설정 변경을 원활하게 수행하기 위해 자신의 워크스테이션에서 더 높은 권한을 갖는 것은 드문 일이 아니며, 바로 이 때문에 개발자들은 매우 매력적인 공격 표적이 되는 것입니다.
[강력한 접근 제어 및 기타 Active Directory 보안 모범 사례를 통해 공격자가 침입하기 전에 어떻게 막을 수 있는지 알아보세요]
마이크로소프트가 관리하는 Visual Studio 확장 프로그램 마켓플레이스( )의 경우, 마이크로소프트는 악성 확장 프로그램에 대한 보호 조치( )를 제공하고 있으며, 시간이 지남에 따라 이러한 보호 기능을 강화해 왔습니다. 모든 확장 프로그램과 이후 업데이트는 여러 안티바이러스 엔진을 통해 바이러스 검사를 거칩니다. 확장 기능 역시 런타임 시 샌드박스 환경에서 검사됩니다.
마이크로소프트에서 차단 목록을 관리하며, VS Code는 이 목록에 포함된 확장 프로그램을 사용자의 엔드포인트에서 자동으로 제거합니다. 마이크로소프트는 또한 악의적인 행위자들이 평판이 좋은 공식 게시자의 제품/서비스 이름을 도용하지 못하도록 “이름 선점” 탐지 기능을 추가했습니다. 사용자는 악성 확장 프로그램도 신고할 수 있으며, 마이크로소프트는 ‘ ’ 개발자 블로그()를 통해 강화된 조치 내용을 소개했습니다.
이러한 강화된 조치에도 불구하고, 악성 확장 프로그램들이 슬쩍 끼어들었습니다. 2025년 초, 의 ReversingLabs 연구진은 에서, 악성 확장 프로그램이 마켓플레이스에서 오래되었으나 삭제된 확장 프로그램의 이름으로 게시될 수 있도록 허용하는 허점을 교묘하게 악용한 사례를 밝혀냈습니다. ReversingLabs의 연구에 따르면, 해당 악성 확장 프로그램에는 랜섬웨어의 요소가 포함되어 있었습니다. 비록 널리 퍼지지는 않았지만, 이는 향후 더 큰 보안 침해로 이어질 수 있는 테스트 및 개발의 증거입니다.
마이크로소프트는 알려진 악성 확장 프로그램에 대한 보호 기능을 적용하고 있지만, 그 외에도 다른 마켓플레이스들이 존재합니다. OpenVSX 레지스트리는 Codeium, Windsurf, VSCodium 등 VS Code의 포크 버전을 다루는 인기 있는 마켓플레이스입니다.
OpenVSX는 완전히 개방형이며, 마이크로소프트 마켓플레이스가 제공하는 정교한 거버넌스 및 보안 체계가 부족합니다. 악용 사례 신고 절차가 마련되어 있고, 의 OpenVSX 관리자들이 신고에 대응하며( ) 악성 확장 프로그램을 삭제하고는 있지만, 테스트와 스캔 과정은 자동화되어 있지 않습니다.
수많은 VS Code 포크의 인기를 고려할 때, OpenVSX는 악성 IDE 확장 프로그램을 유포하는 고위험 경로로 남아 있을 것이며, 이 마켓플레이스를 활용하는 조직은 IDE에 대해 엄격한 허용 목록 정책을 적용하고, 잠재적으로 악의적인 콘텐츠가 있는지 정기적으로 검사해야 합니다.
마켓플레이스에서 가져온 확장 기능은 일반적으로 IDE에 의해 자동으로 업데이트됩니다. 이로 인해 공급망 위험이 발생할 수 있습니다. 확장 기능 개발자의 보안이 침해되거나 확장 기능이 악의적인 세력에 매각될 경우, 본래 평판이 좋았던 확장 기능에 악성 코드가 삽입될 수 있습니다.
반대로, ‘ CVE-2025-52882’ 에서 볼 수 있듯이, Claude Code 확장 프로그램에는 취약점이 포함될 수 있습니다. 2025년 10월, Wiz의 ‘ ’ 연구진은 에서 수십만 명의 사용자 정보가 유출될 수 있는 기밀 정보를 유출한 여러 게시자를 적발했습니다.
Tanium 인사이트
IDE 확장 기능의 영역은 매우 광범위합니다. 많은 조직이 IDE 자체를 정기적으로 관리하고 업데이트하고 있지만, 훨씬 더 큰 위험을 초래하는 IDE 확장 기능의 제어 및 관리에까지 적극적으로 나서지는 않습니다. 보안의 모든 측면에서 그렇듯이, 생태계에 대한 가시성을 확보하는 것이 첫 번째이자 가장 중요한 단계입니다.
Tanium의 조사 결과, macOS 엔드포인트의 43%와 Windows 엔드포인트의 9%에 적어도 하나의 IDE가 설치되어 있는 것으로 나타났으며, 조사 대상 조직당 평균 330 개의 고유한 VS Code 확장 프로그램이 설치되어 있는 것으로 확인되었습니다.
IDE 사용을 허용하는 모든 조직은 IDE 확장 기능 사용과 관련된 위험을 관리해야 합니다. 개발자 엔드포인트는 특히 가치가 높은 표적입니다. 2025 년 말, 공격이 급증했는데, 이 공격에서는 악성 npm 패키지가 악용되어 개발자의 인증 정보와 토큰을 탈취했습니다..
일부 조직은 자체적으로 소프트웨어를 개발하지 않거나 소프트웨어 개발 부서가 없다는 이유로 이러한 공격으로부터 안전하다고 생각할 수 있지만, 이는 위험한 가정입니다. 소프트웨어 엔지니어링 분야 외부의 많은 기술에 정통한 전문가들도 이러한 코드 편집기를 사용하여 자신의 업무 흐름을 지원하기 위한 간단한 자동화 스크립트를 작성합니다..
귀사의 조직에서 VS Code 및 그 모든 변형 버전을 적극적으로 차단하고 있지 않다면, 추가적인 모니터링과 보안 강화가 필요한 취약점이 존재할 가능성이 높습니다.
Tanium이 어떻게 도움을 주는지
Tanium Guardian 은 IDE 확장 기능에 대한 가시성과 제어 기능을 제공합니다:
- 확장 기능 열거: VS Code, Cursor, VSCodium 및 Windsurf에 설치되었으나 비활성화된 확장 기능:

- Surface 키 메타데이터: 확장 ID, 게시자, 출처(마켓플레이스 대 로컬), 버전

- 대규모로 문제 해결: Tanium의 remove-extension 패키지를 사용하여 악성 또는 규정 미준수 확장 프로그램을 즉시 제거합니다.



