Tóm tắt nhanh
- Extension editor tự cập nhật và chạy với quyền của người dùng, nhưng thường không xuất hiện trong inventory phần mềm. Nghiên cứu về Markdown Preview Enhanced cho thấy vì sao bề mặt này cần được quản trị như một phần chuỗi cung ứng.
- Máy developer thường chứa source code, SSH key và credential phát hành. Một extension phổ biến không đồng nghĩa với mức rủi ro thấp.
- Lập inventory extension trên máy quản lý tập trung và ưu tiên rà soát các extension có quyền truy cập workspace hoặc render nội dung bên ngoài.
Điều gì đã xảy ra
Dependency của developer không chỉ nằm trong package manager. Extension editor có thể tự cập nhật và chạy với quyền của người dùng trên máy giữ mã nguồn, SSH key và credential phát hành.
ProjectDiscovery phân tích Markdown Preview Enhanced, một extension được báo cáo có khoảng 9,5 triệu lượt cài đặt, và cho biết đã tìm thấy năm CVE trên hai bề mặt tấn công. Báo cáo mô tả lỗi render WaveDrom có thể biến file Markdown thành thực thi JavaScript trong preview.
Vì sao extension là điểm mù inventory
Nhiều tổ chức theo dõi thư viện ứng dụng và image production, nhưng không lập danh mục extension theo developer và thiết bị. Điều đó khiến security team khó trả lời extension nào đang có trên máy làm việc nhạy cảm, ai dùng chúng, và chúng tự cập nhật ra sao.

Đây là vấn đề quản trị hơn là lý do cấm toàn bộ extension. Mục tiêu là đưa công cụ có đặc quyền vào phạm vi đánh giá tương xứng.
Phân loại extension theo quyền và dữ liệu
- Thu thập danh sách extension từ managed endpoints và nhóm theo publisher, phiên bản, workspace sử dụng.
- Ưu tiên extension đọc workspace, render nội dung không tin cậy, mở network hoặc chạy command.
- Xác định máy có source nhạy cảm, SSH key hay quyền publish để áp dụng policy chặt hơn.
- Đặt quy trình review cho extension mới và cơ chế xử lý nhanh khi có advisory.
Giảm rủi ro khi mở nội dung không tin cậy
File Markdown, repository clone hoặc tài liệu từ bên ngoài không nên mặc định được coi là dữ liệu thụ động. Với extension render preview, hãy cân nhắc mở nội dung không tin cậy trong môi trường ít đặc quyền hơn và cập nhật theo bản vá của vendor.
Thông tin từ nghiên cứu không có nghĩa mọi người dùng extension đã bị xâm nhập. Nó cho thấy con đường từ content đến code execution có thể tồn tại trong tooling quen thuộc.
Điều cần theo dõi
Theo dõi phân tích kỹ thuật của ProjectDiscovery để biết bề mặt và biện pháp cập nhật được nêu trong báo cáo. Đồng thời, đưa extension vào asset inventory và quy trình vulnerability management.
Trong 5 phút
- Extension chạy với quyền của developer là dependency có đặc quyền.
- Lượt cài đặt lớn không loại bỏ nhu cầu review.
- Inventory extension cần gắn với thiết bị và mức nhạy cảm của workspace.
- Không mở nội dung không tin cậy như dữ liệu vô hại.
Nguồn tham khảo
- 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
Vì sao developer cần quan tâm
Máy developer thường chứa source code, SSH key và credential phát hành. Một extension phổ biến không đồng nghĩa với mức rủi ro thấp.
Hành động đề xuất
- 1Lập inventory extension trên máy quản lý tập trung và ưu tiên rà soát các extension có quyền truy cập workspace hoặc render nội dung bên ngoài.

