セキュリティー・ガイダンス
Bobを使用してファイルの読み取り、コードの編集、コマンドの実行、外部ツールへの接続を行う際のリスクを軽減する方法を学びます。
開発環境でBobを使用する際のリスクを軽減するために、これらのガイドラインを使用してください。
セキュリティー・チェックリスト
新しいワークスペースでBobを使用する前に、このチェックリストを確認してください:
- ファイル・アクセスを制限するために
.bobignoreを設定する。 - 自動承認設定を確認して制限する。
- プロンプト、コード・スニペット、アクセス可能なファイルからシークレットを遠ざける。
- 認証、暗号化、アクセス制御を備えたModel Context Protocol(MCP)サーバーを使用する。
- 変更を適用したり生成されたコマンドを実行したりする前に、Bobの出力を確認する。
.bobignoreでファイル・アクセスを制限する
.bobignoreを設定することで、Bobが読み取りまたは変更するファイルを制限できます。.bobignoreファイルは.gitignoreと同じ構文を使用し、ワークスペースで設定する最初の制御の1つです。
.bobignoreのセットアップ
ワークスペースのルートに.bobignoreファイルを作成します。
機密ファイル、認証情報ストア、生成されたアセット、Bobがアクセスしてはならないすべてのデータのパターンを追加します。
# .bobignoreパターンの例
.env
secrets/
*.key
config/credentials.jsonBobは.bobignoreファイルを監視し、変更を自動的に適用します。詳細については、.bobignoreの使用を参照してください。
.bobignoreの制限を理解する
.bobignoreはBobツールを介したアクセスの制御に役立ちますが、Bobをシステムから分離するものではありません。これらの制限に留意してください:
- 現在のワークスペース内のファイルにのみ適用されます。
- システム・レベルのサンドボックスを作成しません。
- ツールの権限と承認設定を慎重に確認する必要があります。
自動承認設定を制限する
一部のアクションの確認プロンプトをスキップするようにBobを設定できます。自動承認は日常的な作業を高速化できますが、リスクも増加します。
自動承認設定により、Bobがファイルを読み取り、コンテンツを編集し、コマンドを実行し、外部ツールを使用する前にアクションを確認する機会が減少します。ワークスペースのリスクを理解した後にのみ、自動承認を使用してください。
高リスク設定を確認する
| 設定 | リスク | 推奨事項 |
|---|---|---|
| ファイルの編集 | 高 | 制御された環境でのみ有効化する。 |
| コマンドの実行 | 高 | 使用を制限し、広範なコマンド・パターンを避ける。 |
| MCPサーバーの使用 | 中~高 | 明確なアクセス制御を備えた信頼できるサーバーのみを使用する。 |
| ファイルの読み取り | 中 | アクセス可能なファイルに機密データが含まれているかどうかを検討する。 |
変更を適用したり生成されたコマンドを実行したりする前に、常にBobの出力の正確性を確認してください。AI生成の出力が正しいまたは安全であると仮定しないでください。
詳細については、アクションの自動承認を参照してください。
シークレットを安全に処理する
Bobや他のAIシステムにシークレットを直接提供しないでください。プロンプト、貼り付けられたコード、またはアクセス可能なファイルでの短時間の露出でもリスクが生じる可能性があります。
シークレット管理の実践に従う
- シークレットを環境ファイルまたは承認されたシークレット管理システムに保存する。
- シークレット・ファイルを
.gitignoreと.bobignoreの両方に追加する。 - 可能な場合はシークレット管理ツールを使用する。
- 認証情報を割り当てる際は最小権限の原則を適用する。
必要に応じて委任アクセスを使用する
レビューなしでAIシステムがあなたの代わりに広範囲に行動できる認証情報を使用しないでください。Bobが外部システムへのアクセスを必要とする場合:
- 利用可能な場合はOAuthなどの委任アクセス方法を使用する。
- 時間制限付きトークンを使用する。
- すべてのアクションを監視および監査する。
MCPを安全に使用する
Model Context Protocol(MCP)は、Bobを外部ツールやサービスに接続することで拡張します。これらの接続は機能を向上させることができますが、セキュリティー境界も拡大します。
MCPセキュリティー・モデルを理解する
MCP統合では:
- BobはMCPクライアントを持つホストとして機能します。
- クライアントはローカルまたはリモートのMCPサーバーに接続します。
- MCPサーバーは追加のツールとアクションを公開します。
MCPサーバーを保護する
MCPサーバーを使用する場合は、これらの制御を確認してください:
- 認証: サーバーにアクセスするユーザーとサービスの身元を確認する。
- 暗号化: Bobとサーバー間の転送中のデータを保護する。
- アクセス制御: サーバーが実行できるアクションを制限する。
- 監査: 後でアクティビティーを調査できるようにアクションを記録する。
リモートMCPサーバーを他の本番環境または共有インフラストラクチャーと同様に扱います。到達するシステムの機密性に一致するエンドポイント保護、ネットワーク制限、アクセス制御を適用します。
共有MCPサーバーの場合、アクションが特定のユーザーまたはセッションに帰属できることを確認してください。
追加のセキュリティー実践
- 実装する前に生成されたコンテンツを確認する。
- Bobと関連する依存関係を最新の状態に保つ。
- AIセキュリティー・リスクとレビューの期待についてチーム・メンバーをトレーニングする。
- AI支援ワークフローのインシデント対応プロセスを準備する。
- 必要に応じて機密プロジェクト用の専用ワークスペースを使用する。
- 各タスクに必要な最小限のアクセスに権限を制限する。
これらの実践は、日常の開発ワークフローでBobをより安全に使用するのに役立ちます。