憑證

憑證窗格是您為工作區提供其代理程式所需密鑰的地方——git 權杖、SSH 金鑰、雲端憑證、資料庫密碼——而這些密鑰都不會進入 VM。您在此輸入的每一個值都會加密儲存在您的 Mac 上。在沙箱內,代理程式只會看到保留結構的假值(例如 brm_…);當請求實際離開您的 Mac 時,主機端的代理伺服器會將假值換回真值,並限定於目的地主機。

本頁是此窗格逐一欄位的參考說明。其背後的機制——傳輸邊界、確定性假值、主機範圍限定、失敗即關閉的 AWS 重新簽署器,以及入侵偵測器——完整記載於憑證與傳輸邊界。若要瞭解安全模型,請閱讀該章;若要填寫欄位,請閱讀本頁。逐一憑證的核准寫入政策控制項現在位於防護欄窗格,不再位於此處。

編輯工作區視窗的憑證窗格,在已設定憑證清單上方顯示 Git 身分欄位,並有「新增憑證」按鈕與「匯入 env 檔案」按鈕

附註: 上方的螢幕截圖早於重新設計,可能顯示較舊、可折疊區段的堆疊。目前的窗格只顯示您已設定的憑證,依類別標題分組,再加上下文說明的兩個按鈕。

窗格開啟時,Git 身分固定於頂端,其後是您已設定的憑證清單——沒有其他內容。每一個已設定的憑證都是一列;過去折疊在窗格上的空白類別已不復存在。底部的兩個按鈕,新增憑證匯入 env 檔案…,是您新增更多憑證的方式。在您按下儲存之前,任何項目都不會套用。

Git 身分

頂端的兩個欄位設定寫入 VM 內 ~/.gitconfig 的 git 作者身分:

  • user.name——預留位置為 Your Name
  • user.email——預留位置為 [email protected]

說明文字為:寫入 VM 內的 ~/.gitconfig。兩者留白即保留 git 的預設值。 這些並非密鑰,也不會被替換——它們只是純設定,讓代理程式所做的提交能正確歸屬。留白某個欄位會讓該項 git 預設值維持不變。

已設定憑證清單

在 Git 身分下方,窗格只列出實際會在工作階段啟動時產生替換的憑證,並依類別標題分組:

標題其下顯示的內容
AGENTS代理程式窗格中設定的代理程式 API 金鑰(Anthropic、OpenAI、xAI),在此以唯讀方式顯示供參考。
GIT用於透過 HTTPS 存取 git 的個人存取權杖(GitHub、GitLab、Bitbucket、自架)。
CLOUDAWS、DigitalOcean、Linear、Kubernetes 環境,以及容器登錄檔。
DATABASESMongoDB、ClickHouse 與 Elasticsearch 端點。
SSH工作區本身的金鑰以及您匯入的任何金鑰。
OTHER手動的「其他 API 金鑰」替換規則。

每一列顯示一個圖示、一個標題,以及該憑證限定的一個或多個主機(git 權杖為 user@host;資料庫或登錄檔為其主機;AWS 為 amazonaws.com;以此類推)。右側的 選單——也可透過點擊該列開啟——提供編輯…移除

  • 編輯… 會重新開啟該憑證的編輯器,讓您變更或顯示其欄位。
  • 移除 會從工作區刪除該憑證。(除了重新新增之外沒有復原方式;在您儲存之前不會從磁碟移除任何內容。)

AGENTS 下的列是唯一的例外:其選單顯示為在代理程式中編輯…,且沒有移除,因為代理程式金鑰歸屬於代理程式窗格。選擇該項會將編輯器切換至該窗格。

當工作區完全沒有任何憑證時,清單會由空白狀態取代——尚無憑證——提醒您真值留在您的 Mac 上,而 VM 永遠只保有假值。

新增憑證

點擊新增憑證以開啟選擇工作表。它列出應用程式可新增的每一種憑證類型;每個項目會開啟該類型的編輯器:

類型其保存的內容
Git 權杖GitHub、GitLab 或 Bitbucket 的個人存取權杖。
SSH 金鑰匯入私密金鑰,或使用各工作區專屬金鑰。
AWS 憑證靜態 IAM 金鑰或 SSO——在傳輸時以 SigV4 簽署。
DigitalOcean 權杖doctl / API 個人存取權杖。
Linear API 金鑰Linear 個人 API 金鑰。
Kubernetes叢集環境(權杖、用戶端憑證或 exec 外掛程式)。
容器登錄檔Docker Hub、ghcr.io 及其他的登錄檔登入。
資料庫MongoDB Data API、ClickHouse 或 Elasticsearch。
其他 API 金鑰任何其他權杖——由您選擇環境變數與主機。

代理程式 API 金鑰刻意列於此選擇工作表中;底部備註提醒您 Anthropic、OpenAI 與 xAI 金鑰是在代理程式窗格中設定。每個編輯器都是一張帶有完成按鈕的工作表;各類型的欄位說明於下方各節。

匯入 env 檔案

點擊匯入 env 檔案… 以從現有的 .env 檔案——或 ~/.bashrc——擷取憑證。此剖析器會讀取純粹的 KEY=VALUEexport KEY=VALUE 指派,去除周圍的引號與尾端的 # comments,並在名稱重複時採用最後一個指派。它從不執行 shell:任何需要插補的值($VAR 參照或 $(…) 命令替換)都會被略過,而非以錯誤方式匯入,因此將其指向真實的 .bashrc 是安全的。

該檔案的變數接著會顯示在一張標題為 從 <filename> 匯入 的檢閱工作表中,分為兩組。此工作表中每個值都會遮罩

已辨識的變數會自動對應到其憑證類型:

變數對應到
ANTHROPIC_API_KEYClaude Code API 金鑰
OPENAI_API_KEYCodex API 金鑰
XAI_API_KEYGrok Build API 金鑰
GH_TOKEN / GITHUB_TOKENGitHub 權杖
GITLAB_TOKENGitLab 權杖
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKENAWS 靜態金鑰
DIGITALOCEAN_ACCESS_TOKENDigitalOcean 權杖
LINEAR_API_KEYLinear API 金鑰

每個已辨識的列都有一個核取方塊。git 權杖會額外要求一個 Git 使用者名稱(預留位置為 you),使該憑證完整。若某變數對應到工作區已設定的項目,其列會標記為已設定——勾選以覆寫。 並保持未勾選,因此重新匯入絕不會靜默覆蓋既有密鑰。

未辨識的變數可作為通用的其他 API 金鑰權杖匯入。每一列都帶有一個主機欄位——一份以逗號分隔的主機名稱清單,指定假值應在哪些主機上替換(允許多個主機;留白表示任何主機)。env 變數名稱同時被用作該權杖的名稱以及假值匯出所依據的變數。

按鈕顯示為 匯入 N 個憑證,僅反映您保持勾選的列。匯入會將所選項目併入窗格;您仍須點擊儲存才能保存。

SSH 金鑰

SSH 金鑰編輯器管理工作區可透過 SSH 進行驗證的金鑰。私密金鑰位元組永不進入 VM:簽署是透過 vsock 上的行程內 ssh-agent 橋接提供,因此客體可以請求簽章,卻永遠無法讀取金鑰。

金鑰有兩個來源:

  • 工作區本身的 ed25519 金鑰組。 新工作區會帶有一個預先勾選的產生 ed25519 金鑰組切換開關(除非您的偏好設定範本已提供金鑰)。金鑰存在後,編輯器會顯示其公開金鑰,並有複製開啟 GitHub 金鑰頁面按鈕(供貼入 github.com/settings/keys)以及一個重新產生切換開關。
  • 匯入的 SSH 金鑰。匯入的 SSH 金鑰下,點擊匯入… 以開啟檔案選擇器;接著一張工作表會詢問標籤,若金鑰已加密,還會詢問密碼短語。密碼短語儲存於 macOS Keychain,而匯入的金鑰會在每次工作階段啟動時載入各工作區專屬的 ssh-agent。支援 RSA、ed25519 與 ecdsa 金鑰。

Git 權杖(GitHub、GitLab、Bitbucket)

Git 權杖編輯器保存用於透過 HTTPS 存取 git 的個人存取權杖,分為 GitHubGitLabBitbucket 群組。如其說明文字所述:個人存取權杖以加密方式儲存在主機上,代理伺服器會將它們換入外送請求中,因此 VM 永遠只保有假值。ghglab 會自動採用 GH_TOKEN / GITLAB_TOKEN

在某個群組中點擊新增權杖以新增一列。每一列需要一個主機、一個使用者名稱,以及一個個人存取權杖(附有顯示眼睛按鈕以及連往該 forge 權杖頁面的連結)。假值會寫入 VM 內的 ~/.git-credentials 以及 gh / glab CLI 設定檔。主機欄位讓您可將項目指向 github.comgitlab.com,或自架的 GitLab/Gitea/Bitbucket 實例。

Linear

Linear API 金鑰編輯器接受單一個人 API 金鑰(預留位置形如 lin_api_…,附有開啟 Linear API 設定連結)。它會作為 LINEAR_API_KEY 注入 VM,Linear SDK、MCP 伺服器與 CLI 工具會自動採用,且僅在對 linear.app(包括 api.linear.appmcp.linear.app)的請求上將假值換成真值。工作區中有 Linear 金鑰也是 Linear 議題排程自動化觸發器的先決條件。

Kubernetes

Kubernetes 編輯器每個叢集環境保存一列。Bromure Agentic Coding 會在 VM 內建立一份合成的 ~/.kube/config,讓 kubectl 與代理伺服器通訊,而非直接與 API 伺服器通訊;真實身分留在主機上。

每個環境都有一個名稱、一個 伺服器 URL、一個選用的 CA 憑證(PEM,供代理伺服器驗證上游 API 伺服器)、一個 命名空間,以及以分段控制項選擇的驗證方法:

  • Bearer 權杖——靜態權杖,在傳輸時換成真值。
  • 用戶端憑證——真實的憑證與金鑰註冊在主機上供上游雙向 TLS 使用;VM 取得一份可拋棄的自簽憑證。
  • Exec 外掛程式——一個 命令引數,以及一個 重新整理步進器(1–60 分鐘)。該外掛程式在主機上於每個重新整理間隔執行,新的權杖會饋入替換對應;VM 的 kubectl 從不執行該外掛程式。

每一列上的徽章顯示其類型(token / cert / exec)。使用匯入檔案… 將現有的 kubeconfig 剖析為每個環境一列,或使用新增環境手動新增一個。相符的逐一環境寫入政策設定於防護欄窗格。

DigitalOcean

DigitalOcean 權杖編輯器接受單一個人存取權杖(預留位置形如 dop_v1_…,附有連往 DigitalOcean 權杖頁面的連結)。它會作為 DIGITALOCEAN_ACCESS_TOKEN 注入並寫入 ~/.config/doctl/config.yaml,因此不需要 doctl auth init。該權杖在對 digitalocean.com 的請求上換成真值,另有第二個替換項目涵蓋當 docker logindoctl registry loginregistry.digitalocean.com 驗證時所使用的 base64 Basic-auth 形式。

AWS

AWS 憑證編輯器為 aws CLI、SDK、terraform 以及 Claude Code 的 Bedrock 驗證模式設定憑證。真實密鑰永不抵達 VM——主機會以真實材料重新簽署 SigV4 請求,而繞過代理伺服器的請求會從 AWS 收到 InvalidSignatureException。一個驗證方法分段控制項可在以下之間選擇:

  • 靜態金鑰——存取金鑰 ID私密存取金鑰、一個選用的 工作階段權杖(僅限 STS),以及一個 預設區域,另加一個 開啟 IAM 憑證頁面連結。
  • SSO / Identity Center——一個 授予對 ~/.aws 的存取權資料夾選擇器,接著是一個 SSO 設定檔選擇器,由您 ~/.aws/config 中探索到的設定檔填入(附有重新整理按鈕)。臨時角色憑證在主機上解析,並在快取權杖過期時於您的瀏覽器中觸發 aws sso login

完整的 AWS 處理方式——credential_process 輔助程式、重新簽署器及其限制——記載於憑證與傳輸邊界

容器登錄檔

容器登錄檔編輯器保存供 docker pull / docker push 使用的各登錄檔 HTTP Basic 驗證。如說明文字所述,真實密碼永不寫入 VM——bromure 會在 ~/.docker/config.json 中放入一個假的 base64("<user>:<derived>"),而當請求抵達相符的登錄檔主機時,代理伺服器會在傳輸時代入真值。

新增選單提供預設項目——Docker Hub (docker.io)GitHub Container Registry (ghcr.io)GitLab Container Registry (registry.gitlab.com)Quay (quay.io)其他主機…——另加 匯入 config.json…,它會從現有的 ~/.docker/config.json 擷取項目。匯入會略過 credsStore / credHelpers 項目(其密碼存在作業系統的 keychain 而非檔案中),並回報略過了多少個。每個登錄檔列需要一個主機、一個使用者名稱,以及一個密碼或權杖。相符的推送/拉取/刪除寫入政策設定於防護欄窗格。

資料庫(MongoDB、ClickHouse、Elasticsearch)

資料庫編輯器每個 HTTPS 端點保存一列,依引擎分組。假值會以您列出的環境變數名稱匯出,並在其出現之處——標頭、查詢參數或請求主體——換成真值。

每個端點列有:

  • 名稱——選用的顯示名稱。
  • 主機——純主機名稱;它同時限定替換與該端點的防護欄範圍。
  • 驗證——一個分段控制項:使用者名稱 + 密碼API 金鑰Bearer 權杖。MongoDB 預設為 API 金鑰;ClickHouse 與 Elasticsearch 預設為 使用者名稱 + 密碼
  • 使用者名稱——僅供 Basic 驗證使用。
  • 密鑰——附有顯示眼睛按鈕。
  • 環境變數——一份以逗號分隔的名稱清單,假值應以這些名稱匯出。

新的資料庫端點的逐一端點寫入政策預設為寫入前提示,設定於防護欄窗格——引擎專屬的分類(哪些 Mongo 動作、哪些 SQL 關鍵字、哪些 Elasticsearch 路徑算作寫入)位於該處。

其他 API 金鑰

其他 API 金鑰編輯器是 Bromure Agentic Coding 未自動處理的任何服務的後備方式。每個項目都是一條手動替換規則:

  • 名稱——該項目的標籤。
  • 真實密鑰——遮罩顯示(預留位置形如 sk_live_…)。
  • 環境變數——假值在 VM 內匯出所依據的名稱。留白則不匯出任何內容;您接著會從工作階段的歡迎橫幅複製假值。
  • API 主機(選用)——替換所限定的一個或多個主機(完全相符或子網域,以逗號分隔)。留白表示「在任何主機上注入」。

VM 會看到一個鑄造出的 brm_… 假值,代理伺服器會在傳輸時將其換回。

警告: 留白的 API 主機刻意永不受入侵偵測器管控——它是明確的「在任何主機上注入」選擇。若要讓未限定範圍的密鑰維持在掌控之中,請為其指定一個主機,或在防護欄窗格中為它開啟使用前詢問

核准與寫入政策位於防護欄

憑證窗格中不再有需要核准才能使用的核取方塊。逐一憑證的同意閘門——現在以使用前詢問呈現——以及每項服務的寫入政策,兩者都位於防護欄窗格,該窗格每個已設定憑證列出一列。在此處設定密鑰;在該處決定允許代理程式如何使用它。

此窗格如何儲存

此窗格中的一切都是密鑰,因此在儲存時會從純文字的 profile.json 中分離出來,寫入工作區加密的 secrets.enc(AES-GCM,以 macOS Keychain 派生金鑰,權限 600)。自動處理的供應商——Anthropic、OpenAI、GitHub、GitLab、DigitalOcean、Kubernetes——除了您在此設定的內容外不需任何手動輸入;主要代理程式本身的 API 金鑰設定於代理程式窗格。

設定參考

編輯器其保存的內容
Git 身分寫入 ~/.gitconfiguser.name / user.email;並非密鑰,不會替換。
SSH 金鑰工作區金鑰組 + 匯入的金鑰;透過 vsock ssh-agent 提供,私密位元組永不進入 VM。
Git 權杖GitHub / GitLab / Bitbucket 的各主機使用者名稱 + PAT;假值位於 ~/.git-credentialsgh/glab 設定檔中。
Linear API 金鑰LINEAR_API_KEY 匯出的 lin_api_… 金鑰;在 linear.app 上替換。
Kubernetes環境(bearer / 用戶端憑證 / exec 外掛程式);VM 內的合成 ~/.kube/config
DigitalOcean 權杖DIGITALOCEAN_ACCESS_TOKEN 匯出的 dop_v1_… 權杖 + doctl 設定。
AWS 憑證靜態金鑰或 SSO / Identity Center;主機重新簽署 SigV4,密鑰永不進入 VM。
容器登錄檔各登錄檔 Basic 驗證;假值位於 ~/.docker/config.json
資料庫各端點密鑰以具名環境變數匯出;在標頭、查詢或主體中替換。
其他 API 金鑰手動替換規則:真實密鑰、環境變數、選用主機篩選;VM 看到一個 brm_… 假值。
匯入 env 檔案….env~/.bashrc 大量匯入;已辨識的變數自動對應,未辨識的變數則作為限定範圍的通用權杖匯入。

逐一憑證的使用前詢問與寫入政策設定於防護欄窗格。

相關章節

  • 憑證與傳輸邊界——此窗格背後的完整安全模型。
  • 代理程式——主要代理程式的 API 金鑰以及訂閱/Bedrock 驗證模式。
  • 防護欄——這些相同密鑰的逐一憑證核准與逐一服務寫入政策。
  • 設定參考——所有窗格一覽。