免費試用7 天日誌保留
回到企業版總覽
供應鏈安全

讓代理指向您不信任的程式碼。 當它反咬一口時,什麼也不損失。

代理會複製第三方 Repo、安裝相依套件,並執行陌生人寫的建置指令稿。一個惡意的 postinstall 掛鉤,或一條埋在 README 裡的指令,都不該觸及您的權杖、您的金鑰或您的網路。在一台 Bromure VM 中,它做不到。

問題

每一次 npm install 都是遠端程式碼執行

代理一旦從一個不受信任的 Repo 執行 `npm install`、`pip install` 或一個 Makefile,來自您素未謀面的人的任意程式碼,就以您工程師的權限執行。一個中毒的 postinstall 指令稿、一個錯字搶註的套件、一個回報主機的建置步驟——每一個都以該使用者的身分執行,而使用者的 SSH 金鑰、雲端憑證與環境,都只差一次系統呼叫。

代理式編碼讓這件事更頻繁、也更危險。代理興沖沖地複製一張工單指向的 Repo,安裝鎖定檔說的任何東西,然後跑測試套件——而專案 README 裡的一次 prompt injection,可以在任何人審查到一行之前,就把它引導去「執行這個設定指令稿就好」。

Bromure 的解法

波及半徑是一台即將被刪除的 VM

Bromure 讓代理——以及它執行的一切——在一台可拋棄的 Linux VM 內執行,這台 VM 有自己的核心、檔案系統與網路堆疊。不受信任的 Repo、它的相依套件,以及它的建置指令稿都在那裡執行,而不在工程師的筆電上。真正的憑證從不進入 VM;代理透過一個持有機密的代理觸及 Git 與套件庫。

如果一個 postinstall 掛鉤試圖讀取 `~/.ssh`、外洩一個環境變數,或開一條反向 shell,它面對的會是一台用過即丟的 VM:裡面沒有真正的祕密,對外流量被鎖在允許清單上,沒有任何屬於您的東西可偷。工作一結束,VM 就被銷毀,那個套件埋下的一切也隨之灰飛煙滅。而如果 README 或某段建置指令稿試圖操控代理人本身,Bromure 在裝置端的提示注入偵測就會標記這次嘗試——於是一道敵意指令是被攔下,而不只是被關起來。

運作原理

憑證從不進入這個房間

Git 與套件庫存取都經過一個憑證代理。代理及它執行的不受信任程式碼,取得的是限定範圍、短效的存取——它們永遠看不到真正的權杖或 SSH 金鑰。

出口拴上繩

網路存取按設定檔列入允許清單。一個對著新網域或 IP 字面量發訊號的相依套件會被封鎖,而那次企圖會出現在記錄裡。

短暫的建置環境

複製、安裝與建置全都發生在一台任務結束即銷毀的 VM 裡。一個持久性植入物,沒有任何持久之處可棲身。

注入被攔下,而不只是被關起來

裝置端的分類器會掃描代理人讀取的內容——README、程式碼註解、抓回的網頁、工具輸出——以及它信任的 CLAUDE.md 這類規則檔,揪出試圖操控它的指令。這次嘗試會在模型動手之前就被標記或攔下,而不只是事後關進沙箱。

預設不受信任

新的 Repo 會自動套用鎖定設定檔——下載受圍堵、機密走代理、出口受限——所以「在這個外部專案上跑代理」在任何人審查它之前就是安全的。

實務上

當套件懷有敵意時會發生什麼

一位工程師請代理評估一張工單建議的某個開源函式庫。代理把那個 Repo 複製進一台全新的 Bromure VM,並執行 `npm install`。在無人知曉的情況下,一個傳遞相依套件夾帶了一個 postinstall 指令稿,它讀取環境變數,並把它們 POST 到攻擊者的端點。

在 VM 內,那個指令稿執行了——卻找不到任何值得拿走的東西。環境中沒有真正的憑證;Git 與套件庫都是透過代理觸及的,而代理從未暴露任何權杖。對攻擊者網域的那個 POST 不在設定檔的出口允許清單上,於是被丟棄並記錄。工作階段紀錄顯示了對環境的讀取、被封鎖的連線,以及那個目的地。

工程師讀過報告,標記那個套件,然後關閉工作階段。那台 VM——連同植入物、被修改的檔案、被快取的酬載——都被銷毀。筆電從未執行過一行敵意程式碼,而攻擊者唯一學到的,是那扇門鎖上了。

架構與整合

實際是怎麼打造的

行銷話術到此為止。以下是每一次 Bromure 部署所仰賴的技術基底——不論您保護的是 BYOD 員工,或是在受監管機構內隔離機密等級,底層都是同一套。

由 hypervisor 強制的隔離

每個設定檔在自己的輕量 Linux VM 中運行,底層是 Apple 的 Virtualization.framework——擁有與主機分離的核心、檔案系統與網路堆疊。基底映像檔是一份經簽章、可重現的 Alpine 建置,透過 APFS 寫時複製在工作階段啟動時複製(磁碟成本近乎為零)。主機無法讀取 VM 記憶體;VM 也無法讀取主機的剪貼簿、檔案系統或網路介面卡,除非設定檔政策明確允許。

身分:使用者 SSO、裝置 mTLS

註冊與工作階段啟動由您組織已經在用的兩項要素把守。對 Google Workspace、Okta、Microsoft Entra 或 Authentik 的 OIDC / SAML 識別使用者。由您 PKI 簽發、綁定此安裝的每裝置 mTLS 用戶端憑證識別機器。撤銷任一項,下一次工作階段就開不起來——沒有代理程式可以被動手腳、沒有本機政策可以繞過。

設定檔即程式碼

工作設定檔——允許的 SaaS 清單、下載/剪貼簿/螢幕截圖姿態、VPN 設定、鍵盤配置、根 CA、網路出站規則——是一份經簽章的宣告式成品。在 Git 裡做版本控管。透過您的 MDM 或 Bromure 設定端點推送。被竄改的設定檔會在簽章驗證時失敗,工作階段拒絕啟動。在使用者機器上執行的內容,與您撰寫的逐位元一致。

按設定檔的網路平面

每個設定檔擁有自己的虛擬 NIC。可選擇透過主機 NAT、橋接至實體介面,或透過 WireGuard、IKEv2 / IPsec、Cloudflare WARP 建立通道——全都終結於 VM 內部,對主機不可見。再往上可疊加 DNS 覆寫、出站連接埠白名單、LAN 隔離與 HTTP 代理。分段由 hypervisor 強制執行,而不是靠防火牆上的一張貼紙。

稽核管線

每一個請求——時間戳、動詞、URL、狀態、使用者、設定檔、裝置——都在 VM 外部以防竄改的 JSON Lines 串流擷取,送到您既有的記錄匯出端(SIEM、資料湖、保存歸檔)。可選擇僅記錄標頭,或對可疑流量進行完整主體的工作階段錄製。穩定的結構、文件化的欄位,不會因格式被綁在特定廠商身上。

預設短暫,選擇加入才持久

關閉視窗,VM 就被摧毀。權杖、Cookie、快取、下載,以及工作階段中落下的任何惡意軟體都隨之消失。需要保留狀態的設定檔——一組書籤、一個已保存的工作階段、一個已登入的 SaaS——可以選擇加入以 macOS Keychain 鍵控的 LUKS 加密持久磁碟。金鑰永遠不離開使用者的裝置。

常見問題

一個容器或一個全新的 CI 執行器不是已經做到這件事了嗎?

+

容器共用主機核心,且經常被逃逸;CI 執行器往往持有攻擊者正想要的那些部署憑證。Bromure 使用硬體隔離、擁有自己核心的 VM,並把真正的機密完全擋在 VM 之外、藏在代理後面——所以就算是核心層級的逃逸,也找不到任何可偷的東西。

代理在沒有機密的情況下如何推送程式碼或安裝私有套件?

+

透過憑證代理。它代表 VM 向您的 Git 主機與私有套件庫驗證,在網路層注入限定範圍、短效的存取。代理拿到可用的 Git 與 npm;它永遠拿不到一個可外洩的憑證。

是什麼防止 README 裡的 prompt injection 提權?

+

兩道防線。首先,Bromure 在裝置端的偵測會掃描代理人讀取的內容——README、註解、抓回的網頁、工具輸出——以及它信任的 CLAUDE.md 這類規則檔,並在模型動手之前標記或攔下被注入的指令。而即使有一道漏網,它也只會在 VM 內執行——沒有真正的憑證、對外流量限定於允許清單、搆不到主機——所以最壞的情況,不過是在一台即將被刪掉的沙箱裡白白燒掉一些算力,而且全程都有紀錄。

我們還能拿到想要的建置產物嗎?

+

可以。合法的產出會透過與任何下載相同的受控路徑——可選擇由 VirusTotal 把關——被提取出 VM,所以您保留結果,卻不保留風險。

執行那個不受信任的 Repo。 保住您的金鑰。

給代理一個建置環境,讓敵意程式碼一無所獲、且不留下任何東西。