安全指南
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 的强大功能。