セキュリティガイドライン
Bob はコーディングとシステム操作の機能を備えています。安全に使用するために、以下のガイドラインに従ってください。
セキュリティチェックリスト
- プロジェクトへのアクセスを制御するために、信頼フォルダーを使用してください
- ファイルアクセスを制限するために
.bobignoreを設定してください - 自動承認の設定を確認し、制限してください
- シークレットを安全に管理してください
- 適切な認証と暗号化を用いて MCP を使用してください
- Bob の出力を実装する前に確認してください
ファイルアクセスの制限
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 の設定を参照してください。
シークレットの安全な管理
Bob を含む AI システムに、シークレットを直接提供しないでください。コード内にシークレットを一時的に含めるだけでも、意図しない漏洩につながる可能性があります。
シークレット管理のベストプラクティス
- シークレットは環境変数ファイルに保存してください
.gitignoreと.bobignoreの両方で、シークレットを保存するファイルへのアクセスを制限されていることを確認してください- 可能な場合はシークレット管理ツールを使用してください
- 認証情報を割り当てる際は最小権限の原則を適用してください。各タスクに必要な最小限の権限のみを付与してください。
権限の委任
AI システムは、ユーザーの介入とレビューなしに代わりに行動できる認証情報を使用してはなりません。AI システムが代わりに行動する必要がある場合:
- OAuth などの委任メカニズムを使用してください
- 有効期限付きトークンを実装してください
- すべてのアクションを監視および監査してください
MCP の安全な使用
Model Context Protocol (MCP) は、外部ツールやサービスに接続することで Bob の機能を拡張します。強力な一方で、MCP 接続にはセキュリティへの慎重な配慮が必要です。
MCP アーキテクチャの概要
MCP はクライアント・サーバーアーキテクチャを使用しています:
- Bob は MCP クライアントを含むホストとして機能します
- クライアントは MCP サーバー(ローカルまたはリモート)に接続します
- サーバーは追加のツールと機能を提供します
MCP サーバーのセキュリティ要件
MCP サーバーを使用する際は、以下のガイドラインを実践してください:
- 認証:サーバーにアクセスするユーザーの ID を確認する
- 暗号化:Bob とサーバー間の転送データを保護する
- アクセス制御:サーバーが実行できるアクションを制限する
- 監査:説明責任のためにすべてのアクションを記録する
リモート MCP サーバーは、エンドポイント保護、ネットワーク制限、適切なアクセス制御など、従来のサーバーインフラと同じセキュリティ要件を満たす必要があります。
共有 MCP サーバーの場合は、アクションを追跡できるよう、適切な監査可能性と説明責任を確保してください。
その他のセキュリティ上の考慮事項
- 生成されたコンテンツのレビュー:Bob の出力を実装する前に必ず確認してください
- 定期的な更新:Bob とその依存関係を最新の状態に保ってください
- セキュリティトレーニング:チームメンバーが AI のセキュリティリスクを理解していることを確認してください
- インシデント対応:セキュリティインシデントに対処するための計画を準備してください
- ワークスペースの分離:機密プロジェクトには専用のワークスペースの使用を検討してください
- 権限のスコープ:特定のタスクに必要なものだけに Bob のアクセスを制限してください
これらのセキュリティのベストプラクティスに従うことで、安全な開発環境を維持しながら Bob の強力な機能を活用できます。