エージェントの権限を設定したい
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 省略 → 全コマンド許可
}
]
}こんな時に使う
- 読み取り専用のエージェントを作りたい時
- 特定コマンドのみ許可したい時
- セキュリティを強化したい時
使い方
- 1tools で使用可能なツールを列挙(省略で全許可)
- 2allowedCommands で Bash コマンドをホワイトリスト化
- 3* でワイルドカードマッチ(npm run:* など)
Tips
- 分析系は Read, Grep, Glob のみで十分なことが多い
- Write, Edit を外すと変更不可になる
- Bash を外すとコマンド実行不可になる
- allowedCommands は Bash ツールに対してのみ適用