04
原始碼與簽名憑證要採雙節點模型
通用 Agent 節點與可信發布節點應該分離。前者可以讀取指定專案、執行測試和產生未簽名構建產物;後者才接觸生產簽名憑證、正式環境密鑰或發布服務。
對於「OpenAI Codex 能否透過遠端 Mac 完成 Xcode 構建」這類需求,答案是:在專案依賴、Xcode 工具鏈、Apple Silicon 相容性與權限邊界都已驗證時,可以讓專用節點完成一般構建或測試。Apple 對 Xcode Command Line Tools 的安裝與使用有官方說明,團隊可參考官方工具文件建立可重現的構建基線。
但構建成功不代表可以發布。Xcode 的構建設定、簽名身份、Provisioning Profile、Keychain 存取和下游 CI 權限仍需另外驗證;Apple 的Build Settings Reference只能說明工具設定,不能替企業決定哪些憑證應放在哪一台主機。
遠端 Mac 上的 Codex 應遵循以下資料流:
- 從受控來源拉取指定分支,而不是讀取整個企業原始碼儲存區。
- 使用短期或最小權限的內部套件源憑證。
- 在專用 Agent 節點產生測試結果與未簽名產物。
- 將經審核的提交或產物交給獨立可信發布節點。
- 由發布節點執行簽名、審批、發布及回退。
生產簽名證書、長期 API 金鑰與可直接進入正式環境的密鑰,不應保存在通用 Agent 工作區、Shell 環境變數或共享磁碟中。FileVault 也不能被當成完整的運行時權限方案;Apple 的FileVault 復原選項文件顯示磁碟解鎖本身有不同復原邊界,團隊必須確認重啟後是否需要現場或人工操作。