빠른 요약
- 에디터 확장 프로그램은 자동 업데이트되고 개발자 권한으로 실행되지만, 소프트웨어 자산 목록에서는 빠지기 쉽다. Markdown Preview Enhanced 연구는 이를 공급망 보안 범위에 넣어야 하는 이유를 보여 준다.
- 개발자 장비에는 소스 코드, SSH 키, 배포 자격 증명이 있을 수 있다. 설치 수가 많다는 사실은 위험 평가를 대신하지 않는다.
- 관리형 장비의 확장 프로그램 목록을 만들고 워크스페이스 접근 또는 외부 콘텐츠 렌더링 기능이 있는 도구부터 검토하세요.
무슨 일이 있었나
개발자 의존성은 패키지 매니저에서 끝나지 않는다. 에디터 확장 프로그램은 소스 코드, SSH 키, 배포 자격 증명을 보관한 사용자의 권한으로 실행되고 자동 업데이트될 수 있다.
ProjectDiscovery는 약 950만 설치로 보고된 Markdown Preview Enhanced를 분석해 두 공격 표면에서 다섯 개 CVE를 발견했다고 밝혔다. 보고서에 따르면 WaveDrom 렌더링 결함은 Markdown 파일을 미리보기 내 JavaScript 실행으로 이어지게 할 수 있다.
확장 프로그램이 자산 관리의 사각지대가 되는 이유
조직은 애플리케이션 라이브러리와 프로덕션 이미지는 추적해도, 개발자별·엔드포인트별 확장 프로그램은 관리하지 않는 경우가 많다. 그러면 민감한 워크스테이션에 어떤 도구가 있는지와 업데이트 방식을 파악하기 어렵다.

이는 모든 확장을 금지하자는 주장이 아니다. 권한이 있는 도구는 그 접근 범위에 맞게 평가해야 한다.
접근 권한과 데이터 흐름으로 분류하라
- 관리형 엔드포인트에서 확장 목록을 수집하고 publisher, 버전, 워크스페이스 사용 기준으로 묶는다.
- 워크스페이스 읽기, 신뢰할 수 없는 콘텐츠 렌더링, 네트워크 연결, 명령 실행 기능을 우선 검토한다.
- 민감한 소스, SSH 키, 배포 권한이 있는 장비에는 더 엄격한 정책을 적용한다.
- 새 확장 승인과 advisory 대응을 위한 검토 경로를 만든다.
신뢰할 수 없는 콘텐츠를 실행 경계로 다뤄라
Markdown 파일, clone한 저장소, 외부 문서를 수동적인 데이터로 간주해서는 안 된다. 미리보기 도구에서는 낮은 권한 환경에서 열고 vendor 패치를 적용하는 방식을 검토할 수 있다.
다음으로 볼 항목
ProjectDiscovery의 기술 분석을 추적하고 확장 프로그램을 자산 관리와 취약점 관리에 포함하라.
5분 요약
- 개발자 권한으로 실행되는 확장은 특권 의존성이다.
- 높은 설치 수가 검토를 대체하지 않는다.
- 확장 목록은 장비와 워크스페이스 민감도에 연결해야 한다.
- 신뢰할 수 없는 콘텐츠를 무해한 데이터로 취급하지 않는다.
참고 자료
- Securing open source software, together
- Supply Chain Security Analysis of a 9.5M-Install VS Code Extension
- Rust Supply Chain Attack on arrayref: Significant Overlap with DPRK Campaigns
- How to Investigate GitHub PAT Compromise: Lessons From a Multi-Organization Campaign
- Closing the Blind Spot: Securing Personal Repositories in the Software Supply Chain
- keyv and cacheable npm Package Hijacked in Supply Chain Attack
개발자가 주목해야 하는 이유
개발자 장비에는 소스 코드, SSH 키, 배포 자격 증명이 있을 수 있다. 설치 수가 많다는 사실은 위험 평가를 대신하지 않는다.
권장 조치
- 1관리형 장비의 확장 프로그램 목록을 만들고 워크스페이스 접근 또는 외부 콘텐츠 렌더링 기능이 있는 도구부터 검토하세요.

