安全

安全指南

Bob 具备编码和系统交互能力。为了安全使用,请遵循以下指南。

安全检查清单

  • 使用受信任的文件夹来控制项目访问
  • 配置 .bobignore 以限制文件访问
  • 审查并限制自动批准设置
  • 安全地处理敏感凭据
  • 使用具备适当身份验证和加密的 MCP
  • 在实施前审查 Bob 的输出

文件访问限制

你可以通过配置 Bob 能与哪些目录和文件类型进行交互来控制其文件访问权限。.bobignore 文件使用与 .gitignore 相同的语法,应该是你在设置 Bob 时首先实施的安全措施之一。

配置 .bobignore

在你的工作区中创建一个 .bobignore 文件

为敏感文件和目录添加匹配模式。包含所有未经批准的数据类型的模式。

.bobignore
# Example .bobignore patterns
.env
secrets/
*.key
config/credentials.json

Bob 会主动监控 .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 的强大功能。

这个主题怎么样?