安全指引
Bob 具備程式碼編寫和系統互動能力。為了安全使用,請遵循以下指引。
安全檢查清單
- 使用受信任的資料夾來控制專案存取
- 設定
.bobignore以限制檔案存取 - 審查並限制自動核准設定
- 安全地處理機密資訊
- 搭配適當的身分驗證與加密來使用 MCP
- 在實作前審查 Bob 的輸出
檔案存取限制
你可以透過設定 Bob 能與哪些目錄和檔案類型互動,來控制其檔案存取權限。.bobignore 檔案使用與 .gitignore 相同的語法,應該是你設定 Bob 時首先採取的安全措施之一。
設定 .bobignore
.bobignore 檔案為敏感檔案和目錄新增匹配模式。包含所有未核准的資料類型模式。
# Example .bobignore patterns
.env
secrets/
*.key
config/credentials.jsonBob 會主動監控 .bobignore 檔案,所有變更都會自動套用。如需詳細資訊,請參閱使用 .bobignore 控制檔案存取。
了解限制
雖然 .bobignore 能有效透過其工具控制 Bob 的存取,但仍有一些重要限制:
- 僅適用於目前工作區內的檔案
- 某些寫入操作可能繞過這些限制
- 不會建立系統層級的沙箱
請查看完整的主要限制與範圍說明,以了解 .bobignore 如何保護你的檔案。
受信任的資料夾
Bob Shell 使用受信任的資料夾來控制其可以存取的專案。在 Bob Shell 載入專案特定設定之前,你必須明確核准一個資料夾,以保護你免受潛在惡意程式碼的侵害。
當你第一次從某個資料夾執行 Bob Shell 時,可以選擇:
- 信任資料夾:授予目前資料夾完全信任
- 信任父資料夾:授予父目錄及所有子目錄信任
- 不信任:在受限安全模式下執行 Bob Shell
不受信任的資料夾在安全模式下執行,存在重大限制:
- 專案設定和環境變數會被忽略
- 工具自動核准被停用
- MCP 伺服器不會連線
- 自訂指令不會載入
如需受信任資料夾的運作方式、管理信任設定及最佳實踐的完整詳細資訊,請參閱受信任的資料夾。
自動核准設定
使用 Bob,你可以在沒有確認提示的情況下自動核准各種操作。雖然這會加快工作流程,但會顯著增加安全風險。
自動核准設定會略過確認提示,讓 Bob 直接存取你的系統。這可能導致資料遺失、檔案損毀或更嚴重的後果。指令列存取尤其危險,因為它可能執行有害的操作。
高風險自動核准設定
| 設定 | 風險 | 建議 |
|---|---|---|
| 編輯檔案 | 高 | 僅在受控環境中啟用 |
| 執行指令 | 高 | 使用白名單並避免使用萬用字元 |
| 使用 MCP 伺服器 | 中高 | 僅與受信任的伺服器搭配使用 |
| 讀取檔案 | 中 | 考慮敏感資料外洩的風險 |
務必審查 Bob 的輸出,以確保其準確無誤,且產生的程式碼將如預期般運作。永遠不要盲目信任任何 AI 系統的輸出。
如需每項設定及其安全影響的詳細資訊,請參閱設定 Bob Shell。
安全處理機密資訊
切勿直接向任何 AI 系統(包括 Bob)提供機密資訊。即使在程式碼中暫時包含機密資訊,也可能導致意外外洩。
機密資訊管理最佳實踐
- 將機密資訊儲存在環境變數檔案中
- 確保
.gitignore和.bobignore都限制對儲存機密資訊的檔案的存取 - 盡可能使用機密資訊管理工具
- 在指派憑證時遵循最小權限原則——僅授予每項任務所需的最低權限
權限委派
AI 系統不應利用允許其在你未介入和審查的情況下代表你行動的憑證。當 AI 系統需要代表你行動時:
- 使用 OAuth 等委派機制
- 實施有時效限制的權杖
- 監控並稽核所有操作
安全使用 MCP
Model Context Protocol (MCP) 透過連線外部工具和服務來擴展 Bob 的功能。雖然功能強大,但 MCP 連線需要仔細考量安全問題。
MCP 架構概述
MCP 使用用戶端-伺服器架構:
- Bob 充當包含 MCP 用戶端的主機
- 用戶端連線至 MCP 伺服器(本機或遠端)
- 伺服器提供額外的工具和功能
MCP 伺服器的安全要求
使用 MCP 伺服器時,請遵循以下指引:
- 身分驗證:驗證存取伺服器的使用者身分
- 加密:保護 Bob 與伺服器之間傳輸中資料的安全
- 存取控制:限制伺服器可以執行的操作
- 稽核:追蹤所有操作以確保可問責性
遠端 MCP 伺服器必須遵守與任何傳統伺服器基礎架構相同的安全要求,包括端點保護、網路限制和適當的存取控制。
對於共用的 MCP 伺服器,要確保適當的可稽核性和可問責性,以便可以追蹤操作。
其他安全注意事項
- 審查產生的內容:在實作之前,始終驗證 Bob 的輸出
- 定期更新:保持 Bob 及其相依項目的更新
- 安全培訓:確保團隊成員了解 AI 安全風險
- 事件回應:制定應對潛在安全事件的計畫
- 工作區隔離:考慮為敏感專案使用專用工作區
- 權限範圍:將 Bob 的存取權限限制在特定任務所需的範圍內
透過遵循這些安全最佳實踐,你可以在維持安全開發環境的同時,充分發揮 Bob 的強大功能。