セキュリティ

信頼フォルダー

信頼フォルダーのセキュリティを使用して、Bob Shell の完全な機能を使用できるプロジェクトを制御してください。

信頼フォルダー

信頼フォルダーにより、Bob Shell で使用できるプロジェクトを制御できます。Bob Shell がプロジェクト固有の設定を読み込む前に、フォルダーを承認する必要があります。これにより、悪意のあるコードから保護されます。

注:

信頼フォルダー機能はデフォルトで無効になっています。有効にするには、/settings メニューを開いて Folder Trusttrue に設定してください。変更を反映するには再起動が必要です。

信頼フォルダーの仕組み

フォルダーから初めて Bob Shell を実行すると、信頼ダイアログが自動的に表示され、選択を求められます:

  • フォルダーを信頼する: 現在のフォルダー(例:my-project)に完全な信頼を付与する
  • 親フォルダーを信頼する: 親ディレクトリ(例:safe-projects)に信頼を付与する。これにより、そのすべてのサブディレクトリが自動的に信頼されます。すべての安全なプロジェクトを一箇所にまとめている場合にこのオプションを使用してください
  • 信頼しない: フォルダーを信頼されていないとしてマークする。Bob Shell は制限付きのセーフモードで動作します

選択内容は ~/.bob/trustedFolders.json に保存されるため、フォルダーごとに一度だけ確認されます。

信頼されていないフォルダーの影響

フォルダーが信頼されていない場合、Bob Shell は制限付きのセーフモードで動作します。以下の機能は無効になるか、無視されます:

機能セーフモードでの動作
プロジェクト設定.bob/settings.json は読み込まれません。カスタムツールや潜在的に危険な設定はブロックされます。
ツールの自動承認自動承認をグローバルで有効にしていても、ツールの実行前に毎回確認を求められます。
MCP サーバーBob Shell は MCP サーバーへの接続を試みません。
カスタムモードプロジェクトフォルダーで定義されたモードは利用できません。組み込みモードとグローバルに定義したモードのみ使用できます。
Skillsプロジェクトに含まれる skills は読み込まれません。グローバルに利用可能な skills と組み込み機能のみが有効です。
Subagentsプロジェクトフォルダー内のカスタム subagents は利用できません。エージェントはプロジェクト提供のヘルパーに作業を委任できません。
プロジェクト指示AGENTS.md のようなガイダンスファイルやカスタムのプロジェクトルールは読み込まれません。エージェントはプロジェクト固有の指示なしで動作します。

フォルダーに信頼を付与すると、そのワークスペースで Bob Shell の完全な機能が使用できるようになります。

信頼設定の管理

信頼の解決方法
Bob Shell は ~/.bob/trustedFolders.json を確認し、現在のフォルダーに対する既存の判断があるかを調べます。
現在のフォルダーの信頼を変更する
Bob Shell 内から /permissions スラッシュコマンドを実行します。インタラクティブダイアログが表示され、現在のフォルダーの信頼レベルを変更できます。
すべての信頼ルールを表示する
ホームディレクトリの ~/.bob/trustedFolders.json を確認すると、信頼されているフォルダーと信頼されていないフォルダーのルールをすべて確認できます。

非インタラクティブセッション

インタラクティブモードとは異なり、非インタラクティブセッションでは信頼ダイアログが表示されません。Bob Shell は既存の信頼の決定に基づいてサイレントに動作します。

この機能が有効で、フォルダーに対する信頼の決定が存在しない場合、またはフォルダーが信頼されていないとマークされている場合、Bob Shell はエラーを出して実行されません:

<folder> is not a trusted folder. Pass --trust to run in this folder,
or run Bob Shell interactively and choose a trust level.

モードごとのフラグの動作

--trust--auto-approve フラグの動作は、Bob Shell の起動方法によって異なります。セッションに対応する動作を見るには、モードを選択してください:

--trust
フォルダーは永続的に信頼済みとして保存されます。Bob Shell は現在のディレクトリに対する信頼エントリーを ~/.bob/trustedFolders.json に書き込み、初回アクセス時の信頼ダイアログをスキップします。これはフォルダーを開いて手動で「フォルダーを信頼する」を選ぶのと同じです。
--auto-approve
信頼されていないフォルダーでは自動承認が暗黙的に抑制されます。引き続き、各ツールの実行前に確認を求められます。
--trust
その実行に限ってフォルダーが信頼済みとして扱われます。信頼の決定は保存されず、信頼ストアにも何も書き込まれません。

自動化のための事前設定

安全な自動化と CI/CD パイプラインのために、非インタラクティブコマンドを実行する前に信頼の決定を確立してください:

  1. まずインタラクティブセッションを実行して、ダイアログで信頼の設定を行います。
  2. ~/.bob/trustedFolders.json を手動で設定します。

判断が存在しない場合に Bob Shell は信頼済み状態へフォールバックしないため、セキュリティに敏感な環境では信頼の事前設定が不可欠です。

ベストプラクティス

  • 自分でレビューまたは作成したコードが含まれるフォルダーのみを信頼してください
  • 複数の安全なプロジェクトを含むディレクトリには「親フォルダーを信頼する」オプションを使用してください
  • ~/.bob/trustedFolders.json の信頼フォルダーリストを定期的に確認してください
  • 不慣れなコードを扱う場合は、信頼を付与する前にプロジェクトを理解するために信頼されていないモードで始めてください
このトピックはいかがですか?