CC逆引きリファレンス

エージェントの権限を設定したい

4. 権限・セキュリティ

コマンド / 機能

tools と allowedCommands で制限

最小権限の原則でセキュリティ向上

設定例

{
  "agents": [
    {
      "name": "safe-analyzer",
      "description": "コード分析専用。読み取りのみで変更は行わない。",
      "prompt": "コードを分析して報告してください。ファイルの変更は行わないでください。",
      "tools": ["Read", "Grep", "Glob"]
      // Write, Edit, Bash なし → 変更不可
    },
    {
      "name": "build-runner",
      "description": "ビルド実行専用。npm/yarn のビルドコマンドのみ許可。",
      "prompt": "ビルドを実行し、エラーがあれば報告してください。",
      "tools": ["Bash", "Read"],
      "allowedCommands": [
        "npm run build",
        "npm run build:*",
        "yarn build",
        "yarn build:*"
      ]
      // rm, git push など危険なコマンドは実行不可
    },
    {
      "name": "full-access-agent",
      "description": "フルアクセスエージェント(信頼できるタスク用)",
      "prompt": "指示されたタスクを完遂してください。"
      // tools 省略 → 全ツール使用可能
      // allowedCommands 省略 → 全コマンド許可
    }
  ]
}

こんな時に使う

  • 読み取り専用のエージェントを作りたい時
  • 特定コマンドのみ許可したい時
  • セキュリティを強化したい時

使い方

  1. 1tools で使用可能なツールを列挙(省略で全許可)
  2. 2allowedCommands で Bash コマンドをホワイトリスト化
  3. 3* でワイルドカードマッチ(npm run:* など)

Tips

  • 分析系は Read, Grep, Glob のみで十分なことが多い
  • Write, Edit を外すと変更不可になる
  • Bash を外すとコマンド実行不可になる
  • allowedCommands は Bash ツールに対してのみ適用