微軟研究團隊揭露一種名為AutoJack的新攻擊手法,指出AutoGen Studio開發版本曾存在一組可被串連利用的弱點。攻擊者只要讓具備網頁瀏覽能力的AI代理程式開啟惡意網頁,就可能藉由本機上的MCP WebSocket介面,讓主機執行攻擊者指定的程式。目前相關問題已在AutoGen主分支修補,且受影響介面未進入Python套件庫正式發行版。
AutoGen Studio是AutoGen多代理系統框架上的開發介面,主要供開發者快速組合代理程式、連接工具與測試原型。由於過去許多開發工具會把本機連線視為較可信的環境,但AI代理程式若同時能瀏覽外部網頁,又能接觸本機服務,惡意網頁就可能透過代理程式把攻擊帶進本機。
研究團隊指出,AutoJack攻擊鏈結合了三個設計缺陷。首先,AutoGen Studio當時只以localhost或127.0.0.1作為WebSocket Origin允許清單,這能阻擋一般瀏覽器從惡意網站直接連入,但若惡意內容由本機上的AI代理程式載入,就可能繞過這道檢查。其次,部分MCP相關路徑沒有套用原本的登入驗證。第三,連線介面可從網址參數接收設定值,並把這些設定交給系統啟動外部程式,因而形成遠端程式碼執行的條件。
在研究團隊展示的範例中,開發者執行一個可瀏覽網頁並摘要內容的AutoGen代理程式。攻擊者只要誘使該代理程式前往惡意頁面,頁面中的指令碼就能嘗試連向本機AutoGen Studio服務,並夾帶經過編碼的參數,使主機在開發者帳號權限下開啟Windows小算盤程式。研究團隊以此作為受控驗證,說明同樣方法也可能被改成執行其他命令。
AutoGen後續設計已調整,不再讓MCP WebSocket處理程式直接從網址讀取啟動參數,而是改由伺服器端先保存參數,再用連線識別碼對應,同時,AutoGen維護團隊也調整驗證規則,讓MCP相關路徑回到一般驗證流程。研究團隊表示,透過Python套件庫安裝AutoGen Studio的使用者,不受這條特定攻擊鏈影響。暴露範圍主要限於MCP外掛進入主分支後、相關修補完成前,自行從GitHub主分支建置AutoGen Studio的開發者。
Comments (0)