Open VSX Registry關鍵漏洞使攻擊者可完全控制Visual Studio Code擴展市場

image

網絡安全研究人員近日披露了 Open VSX Registry("open-vsx[.]org")中存在的一個關鍵漏洞。若被成功利用,攻擊者可能完全控制整個 Visual Studio Code 擴展市場,造成嚴重的供應鏈風險。

漏洞詳情與潛在影響

Koi Security 研究員 Oren Yomtov 表示:"該漏洞使攻擊者能夠完全控制整個擴展市場,進而控制數百萬開發者的設備。通過利用持續集成(CI)問題,惡意行為者可以向 Open VSX 上的每個擴展推送惡意更新。"

該漏洞于 2025 年 5 月 4 日被負責任地披露后,維護者提出了多輪修復方案,最終于 6 月 25 日完成部署。

Open VSX Registry 是 Visual Studio Marketplace 的開源替代方案,由 Eclipse 基金會維護。Cursor、Windsurf、Google Cloud Shell Editor、Gitpod 等代碼編輯器都將其集成到服務中。

Yomtov 指出:"這種廣泛采用意味著 Open VSX 一旦被攻陷,將引發供應鏈噩夢。每次安裝擴展或在后臺靜默獲取擴展更新時,這些操作都會經過 Open VSX。"

技術原理分析

Koi Security 發現的漏洞源于 publish-extensions 代碼庫,該庫包含將開源 VS Code 擴展發布到 open-vsx.org 的腳本。開發者可通過提交拉取請求將其擴展添加到代碼庫的 extensions.json 文件中,經批準后即可實現自動發布。

后端處理采用 GitHub Actions 工作流,每天 UTC 時間 03:03 運行,從 JSON 文件中讀取逗號分隔的擴展列表,并使用 vsce npm 包將其發布到注冊表。

Yomtov 解釋道:"該工作流使用特權憑證運行,包括具有發布(或覆蓋)市場中任何擴展權限的 @open-vsx 服務賬戶密鑰(OVSX_PAT)。理論上,只有受信任的代碼才能訪問該令牌。"

"漏洞的根本原因在于,npm install 會運行所有自動發布擴展及其依賴項的任意構建腳本,同時為它們提供對 OVSX_PAT 環境變量的訪問權限。"

潛在攻擊場景與行業響應

這意味著攻擊者可能獲取 @open-vsx 賬戶令牌,獲得對 Open VSX Registry 的特權訪問,從而能夠發布新擴展并篡改現有擴展以植入惡意代碼。

MITRE 已注意到擴展帶來的風險,并于 2025 年 4 月在其 ATT&CK 框架中新增了"IDE 擴展"技術,指出惡意行為者可能濫用該技術實現對受害者系統的持久訪問。

Yomtov 警告稱:"每個市場項目都是潛在的后門。它們是具有特權訪問權限的未經審查的軟件依賴項,應與 PyPI、npm、Huggingface 或 GitHub 上的任何軟件包一樣嚴格審查。若不加以控制,它們將形成龐大且隱形的供應鏈,成為攻擊者日益利用的目標。"

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/86637.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86637.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86637.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python從入門到高手9.1節-Python中的字典類型

目錄 9.1.1 理解字典類型 9.1.2 字典的類型名 9.1.3 字典的定義 9.1.4 字典的主要性質 9.1.5 好好學習,天天向上 9.1.1 理解字典類型 在日常生活中,我們常常會接觸到“字典”這種數據類型,例如一本書籍的目錄結構,在目錄結構…

封禁UDP端口提高防御能力分析

封禁不必要的 UDP 端口 確實可以在一定程度上提高系統的防御力,但這并不是一個絕對的“好”或“壞”的問題,需要根據具體情況來判斷。以下是詳細分析: ? 封禁 UDP 端口能提高防御力的原因 (優點) 減少攻擊面: 服務暴露&#xff…

阿里云-arms監控

監控java應用 若是容器集群環境,則選擇容器服務環境 手動安裝方式,是手動把 agent的jar包放到 ecs服務器,然后運行個人的spring boot服務時,加上一些參數,將agent也啟動運行 手動集成-添加agent 監控的是ecs中的java應…

c語言 char *str = ““ 和 char *str = NULL 以及 char str[] = {} 區別

目錄 前言char *str "" 和 char *str NULL 區別char *str NULL 和 char str[] {} 區別char *str "" 和 char str[] {} 區別char *str "" 和 const char *str "" 區別 前言 C語言指針的使用非常常見且易出錯,這里對…

小程序入門: tab bar 實現多頁面快速切換效果

在小程序開發中,tab bar 是實現多頁面快速切換的關鍵組件,能極大提升用戶體驗。上一篇我們完成了基礎配置,今天深入探索,打造更豐富實用的 tab bar 效果。 實現目標 這次要在小程序底部創建包含 “首頁”“消息”“聯系我們” 三…

Python 數據分析:numpy,抽提,多維切片索引

目錄 1 示例代碼2 歡迎糾錯3 免費爬蟲------以下關于 Markdown 編輯器新的改變功能快捷鍵合理的創建標題,有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、居右SmartyPants 創建一個…

【向上教育】結構化面試概述.pdf

目 錄 第一章 面試須知—面試形式 .......................................................................................................... 1 一、結構化面試 .................................................................................................…

STM32F407控制單個張大頭閉環步進電機講解與梯形加減速(HAL庫)

文章目錄 硬件連接CubeMX配置**使用TIM5定時器CH3,即PA2作為脈沖控制,PE5控制方向(TIM5_CH4是為控制雙電機做準備的可以先不配置)** 設置占空比為50%,以下為AI講解重要!!!定時器更新中斷脈沖觸發原理詳解PW…

MongoDB入門學習(含JAVA客戶端)

0.序章 致命的面試問題:為什么使用MongoDB? 大型的分布式的文檔型數據庫,也是NoSQL數據庫(例如 redis) MongoDB適合數據量大而價值又低的這種數據(播放進度、評論、彈幕,實時數據的CRUD&…

RedisCache與StringRedisTemplate的深度對比

1. 基本概念 RedisCache ??定位??:自定義封裝的Redis緩存工具類??特點??:通常針對業務場景進行了高層抽象??典型功能??: 帶過期時間的緩存操作自定義序列化方式業務鍵前綴管理簡化常用操作API StringRedisTemplate ??定位…

HOOPS Visualize技術詳解(二):3D圖形系統HOOPS/3DGS的段結構與屬性機制

在工業級三維可視化領域中,HOOPS Visualize憑借其高性能和模塊化設計被廣泛應用于CAD、CAM、仿真、BIM等工程軟件中。其中,HOOPS 3D Graphics System(簡稱HOOPS/3DGS)是HOOPS Visualize的核心組件,承擔著圖形場景管理、…

隨機化在臨床試驗中的應用與挑戰

一、隨機化的核心目的 1.1 控制混雜偏倚 1.1.1 平衡預后因素 確保已知/未知預后因素在組間分布均衡,避免基線不平衡影響結果。 1.1.2 避免選擇偏倚 防止研究者或患者主觀選擇分組,保障組間差異歸因于干預。 1.2 保障統計推斷有效性 1.2.1 滿足獨立性假設 滿足統計檢驗…

在C++中#pragma“可選預處理指令的作用“。

文章目錄 1. 標準定位:2. 語法形式:3. 常見用途舉例4. 為什么用 #pragma?5. 宏里用 __pragma / _Pragma6. 常見誤區 在 C/C 里,#pragma 本質上是“可選預處理器指令”,用來告訴編譯器在編譯某段代碼時啟用或關閉某些特…

windows系統中docker數據遷移出系統盤

1、關閉docker 2、移動docker數據 找到docker數據目錄,一般在C:\Users\61050\AppData\Local\Docker文件,將整個docker目錄復制到其他盤(例如 D:\Docker),為保證不出錯,可以先提前復制一份。 3、創建符號鏈…

win11電腦突然休眠問題排查

WinR, 輸入eventvwr.msc打開事件查看器。找到出現問題的時間點那條數據。會顯示原因。首先還是要先排查原因。再去猜測。我因為猜測就直接去了科技市場掃灰加硅來了一個遍。另外還買了散熱風扇和金屬支架。雖然不知道有沒有必要。但是別人是很原因。到頭來早上還是發現自動休眠…

安卓開發 lambda表達式

第一步:初學者代碼 (沒有 Lambda 的“舊”方法) 假設我們有一個簡單的需求:執行一個耗時的計算(比如網絡請求),并在計算完成后,通過一個“回調”來通知我們結果。 1. 定義一個回調接口 這個接口只有一個…

JMeter中變量如何使用?

在性能測試的世界中,Apache JMeter是一把利器,憑借其強大的可擴展性與圖形化操作界面,在工業界和開源社區中廣受青睞。而“變量的使用”作為JMeter中提高測試靈活性、可維護性和復用性的關鍵技術點,卻常常被初學者忽略或誤用。本文…

印度和澳洲的地理因素

研究表明,氣溫每升高1℃,勞動生產率可能下降1.5%至3%,甚至更多。印度大部分地區夏季高溫且濕度較大,有地方60多度,嚴重限制了勞動效率和農業產出。若印度整體地理位置北移約300公里,平均氣溫將降低&#xf…

3D Gaussian Splatting

3D高斯濺射(3D Gaussian Splatting )是一種基于顯式三維高斯分布的場景表示與渲染方法。與傳統的三維重建技術(如多邊形網格、點云或隱式神經輻射場NeRF)不同,3DGS將場景表示為大量帶有屬性的3D高斯橢球的集合&#xf…

鴻蒙5:布局組件

注意:博主有個鴻蒙專欄,里面從上到下有關于鴻蒙next的教學文檔,大家感興趣可以學習下 如果大家覺得博主文章寫的好的話,可以點下關注,博主會一直更新鴻蒙next相關知識 專欄地址: https://blog.csdn.net/qq_56760790/…