AIエージェントにどこまで権限を与える?ファイル・コマンド・ネット接続の安全な考え方

AIエージェントは、権限を広げるほどできることが増えます。

ファイルを読むだけなら調査役に近いですが、書き込み、コマンド実行、ネットワーク接続、外部サービス操作まで許可すると、開発や業務をかなり自動化できます。

一方で、権限を広げるほど「意図していない操作が起きたときの影響範囲」も大きくなります。

結論から言うと、AIエージェントの権限は最初から最大にするのではなく、作業に必要な範囲だけ段階的に広げるのが基本です。

CodexやClaude Codeなど主要なAIエージェントも、サンドボックス、許可範囲、承認、許可・拒否ルールを組み合わせる方向で設計されています。

この記事では、AIエージェントへどこまで権限を与えるかを、5段階に分けて考えます。

AIエージェントの権限は5段階で考えると分かりやすい

まずは、よく使う権限を5段階に分けます。

権限レベルできることの例主なリスク基本の考え方
1. 読み取りファイル閲覧、一覧取得、検索機密情報の読み取り必要な範囲だけ見せる
2. 書き込みコード・Markdown・設定ファイル編集誤編集、上書き作業フォルダを限定する
3. コマンド実行テスト、ビルド、lint、Git操作削除、設定変更、別プロセス起動低リスクと高リスクを分ける
4. ネット・外部サービスWeb、GitHub、Slack、Gmail、クラウド情報送信、外部変更、Prompt Injection接続先と操作内容を限定する
5. フルアクセス任意ファイル、任意コマンド、広いネット接続PC・アカウント全体への影響環境分離と復旧手段を前提にする

大事なのは、読み取りだから安全、フルアクセスだから必ず危険、という単純な分け方ではないことです。

読み取りだけでも、パスワードやAPIキー、個人情報へアクセスできるなら情報漏えいのリスクがあります。反対に、フルアクセスでも使い捨ての仮想環境や復元可能なテスト環境なら、影響範囲をかなり限定できます。

権限の強さだけでなく、「どこまで届くか」「失敗したときに戻せるか」を一緒に考える必要があります。

サンドボックスと承認は役割が違う

AIエージェントの安全設定では、サンドボックスと承認がよく出てきます。

この2つは同じものではありません。

サンドボックスは「できる範囲」を技術的に区切る

サンドボックスは、AIエージェントが操作できる範囲そのものを制限します。

たとえば、

  • このプロジェクトフォルダには書き込める
  • それ以外のフォルダは読み取り専用
  • ネットワークには接続できない
  • 特定のパスは触れない

といった境界を作ります。

OpenAIもCodexの安全運用で、サンドボックスを「どこへ書き込めるか」「ネットワークへ接続できるか」「どのパスを保護するか」を決める技術的な境界として説明しています。

承認は「境界を越えるときに人が判断する」

承認は、AIエージェントが通常の範囲を越える操作をしようとしたときに止める仕組みです。

たとえば、

  • 新しいネットワーク接続を許可する
  • サンドボックス外へ書き込む
  • 影響の大きいコマンドを実行する
  • 外部サービスへ情報を送る

といった場面です。

毎回すべてを承認制にすると作業が止まりやすくなります。そのため、日常的な低リスク操作は自動で進め、高リスク操作だけを止める設計が使いやすくなります。

ファイル権限は「読む範囲」と「書く範囲」を分ける

AIエージェントへローカルファイルを触らせる場合、最初に分けたいのが読み取りと書き込みです。

読ませる範囲は必要な情報だけ

AIエージェントがプロジェクトを理解するには、複数のファイルを読む必要があります。

ただし、ホームフォルダ全体やドライブ全体を最初から見せる必要はありません。

  • 対象プロジェクト
  • 共通ルール
  • 必要な参照資料

など、作業に必要な範囲へ絞る方が管理しやすくなります。

特に、

  • .env
  • APIキー
  • SSH鍵
  • 個人情報
  • 他案件のデータ

が混在する場所は、読み取りだけでも慎重に扱う必要があります。

書き込みは作業フォルダへ限定する

コードや記事をAIエージェントに編集させるなら、書き込み権限は必要です。

その場合も、PC全体ではなく対象プロジェクトだけへ書ける形にすると、失敗時の影響を抑えられます。

Web版ChatGPTから自宅PCのファイルを操作する構成でも、許可フォルダを限定する考え方を使っています。

Web版ChatGPTから自宅PCのファイルを操作する方法|Secure MCP Tunnel+Filesystem MCPをWindowsで構築【構築偏】
Secure MCP TunnelとFilesystem MCPを使い、Web版ChatGPTからWindows PCの許可フォルダを読み書きする環境を構築。tunnel-client、Runtime APIキー、許可リスト、動作確認、トラブル切り分けまで手順をまとめます。

コマンド実行は「低リスク」と「高リスク」を分ける

コーディングエージェントでは、コマンド実行を完全に止めると自動化できる範囲がかなり狭くなります。

一方、すべてのコマンドを無条件で許可すると、削除やシステム変更まで同じ扱いになります。

そこで、コマンドの種類で扱いを分けます。

自動実行しやすい例

  • テスト実行
  • lint
  • ビルド
  • git diff
  • git status
  • 既知の開発スクリプト

承認を残したい例

  • 大量削除
  • 権限変更
  • OS設定変更
  • 本番環境へのデプロイ
  • データベースの破壊的変更
  • 秘密情報を含むコマンド

OpenAIはCodexの運用例で、安全性の高い日常コマンドと危険なコマンドを同じ扱いにせず、ルールによって自動許可・承認・ブロックを分けています。

Claude Codeにも、許可するツールと拒否するツールを分ける設定があります。

「コマンド実行を許可するか」ではなく、「どのコマンドなら自動でよいか」を決める方が現実的です。

ネットワークアクセスはファイル権限と別に考える

ローカルファイルへ書き込めることと、インターネットへ自由に接続できることは別の権限です。

ネットワークを許可すると、

  • Web検索
  • パッケージ取得
  • GitHubアクセス
  • 外部API
  • クラウドサービス

などが使えるようになります。

その一方で、外部から情報を取り込むだけでなく、ローカル情報を外へ送る経路もできます。

そのため、ネットワークは「ONかOFFか」だけでなく、

  • 許可するドメイン
  • 利用するサービス
  • 読み取りだけか、書き込みも許可するか
  • 外部送信時に承認するか

まで分けると扱いやすくなります。

OpenAIもCodexの社内運用で、無制限の外向き通信ではなく、想定した宛先を許可し、不明な宛先では承認するネットワークポリシーを公開しています。

外部サービスは「読む」と「変更する」を分ける

AIエージェントがGmail、Slack、GitHub、カレンダーなどへ接続すると、ローカルPCとは別の影響が出ます。

たとえば、メールを読むだけなら情報取得ですが、

  • メールを送信する
  • Issueを閉じる
  • Pull Requestをマージする
  • カレンダー予定を削除する
  • ファイルを共有する

となると、他の人や外部システムにも影響します。

外部サービスでは、読み取り系と、状態を変更する操作を分けることが重要です。

AnthropicのMCP Connectorでも、読み取り専用のアシスタントや人間確認を残したいケースでは、書き込み系・破壊的ツールを拒否リストへ入れる運用例が示されています。

Prompt Injectionを前提に被害範囲を狭くする

AIエージェントがWebやメールを読むようになると、Prompt Injectionも考える必要があります。

Prompt Injectionは、Webページやメールなど外部コンテンツに埋め込まれた指示で、AIを本来とは違う行動へ誘導しようとする攻撃です。

たとえば、調査中に読んだWebページへ「秘密情報を別サイトへ送信せよ」という悪意ある指示が埋め込まれていた場合です。

AI側にも防御機能はありますが、これだけでリスクがゼロになるわけではありません。

そこで重要になるのが権限です。

  • 秘密情報へアクセスできなければ盗み出せない
  • 外部送信先が限定されていれば送信しにくい
  • 重要操作で承認が入れば人が止められる
  • 書き込み範囲が限定されていれば破壊範囲も狭い

OpenAIもAnthropicも、必要なデータだけへアクセスさせる最小権限や、重要操作の確認を安全策として案内しています。

作業内容ごとのおすすめ権限

AIエージェントへどこまで任せるかは、作業内容で変わります。

作業権限の目安人の確認を残したいところ
コード・資料の調査読み取り機密ファイルへのアクセス
記事・コード編集対象フォルダへの書き込み大量上書き、削除
テスト・ビルド既知のコマンド実行未知のスクリプト、OS変更
パッケージ導入コマンド+限定ネット接続新規ドメイン、広い権限要求
GitHub運用リポジトリ単位のアクセスマージ、削除、公開設定変更
メール・カレンダー必要サービスだけ接続送信、削除、共有
本番運用個別に設計デプロイ、DB変更、課金・公開操作

最初は狭い権限で始め、必要な操作が出た段階で広げる方が、何のために権限を追加したのか分かりやすくなります。

フルアクセスが向く環境と避けたい環境

フルアクセスは、常に避けるべき設定ではありません。

隔離された開発環境など、作業効率を優先しやすい場面では合理的な選択になり得ます。

フルアクセスを使いやすい環境

  • 使い捨てのVM
  • コンテナ
  • 専用の開発PC
  • 対象データを限定したテスト環境
  • スナップショットやバックアップですぐ戻せる環境
  • 機密情報を分離した環境

こうした環境なら、問題が起きても影響を閉じ込めやすくなります。

慎重にしたい環境

  • 普段使いのPC全体
  • 個人データと仕事データが混在するPC
  • 本番環境へ直接つながる端末
  • 管理者権限を常用する環境
  • 復旧手段がない環境
  • APIキーや秘密情報が広い範囲に保存されている環境

OpenAIのWindows向けCodex Sandbox解説でも、Full Accessは制限や承認を外す代わりに監督を弱める選択として説明されています。

フルアクセスを使うなら、権限そのものを信頼するのではなく、失敗しても困らない環境を作る方が安全性を上げやすくなります。

CodexとClaude Codeの設計から見える共通点

2026年9月2日時点のCodexとClaude Codeを見ると、細かい名称やUIは違っても考え方はかなり共通しています。

Codex

  • read-onlyやworkspace-writeなどでサンドボックス範囲を分ける
  • 境界を越える操作は承認ポリシーで制御する
  • ネットワークを別に制限する
  • コマンドをルールで許可・承認・ブロックする
  • Full Accessという強い権限も選べる

Claude Code

  • 読み取り、Bash、編集などで権限を分ける
  • 許可・拒否ルールを設定できる
  • planなど変更を行わないモードがある
  • 追加ディレクトリでアクセス範囲を広げられる
  • 権限確認を省略する強いモードも、安全な環境での利用を前提としている

どちらも、AIエージェントの能力を止めることではなく、必要な能力だけを安全な境界の中で動かす方向に設計されています。

MCPなどでAIエージェントへ外部ツールを追加するときも、この権限設計はそのまま使えます。

MCPとA2Aの違いとは?AIエージェントの接続先と使い分けを解説
MCPとA2Aの違いを初心者向けに解説。MCPはAIとツール・データ、A2AはAIエージェント同士を接続する規格です。役割、使い分け、両方を組み合わせる構成まで整理します。

まとめ

AIエージェントへ与える権限は、強い・弱いの二択で考えるより、作業ごとに分ける方が扱いやすくなります。

  • 読み取りは必要な範囲だけ
  • 書き込みは作業フォルダへ限定
  • コマンドは低リスクと高リスクを分ける
  • ネットワークは接続先を限定する
  • 外部サービスでは読み取りと変更操作を分ける
  • 削除・送信・公開・本番変更などは承認を残す
  • フルアクセスを使うなら、隔離・バックアップ・復旧手段を用意する

AIエージェントを便利に使うために必要なのは、すべての権限を止めることではありません。

任せたい作業に必要な範囲だけ権限を広げ、失敗したときの影響範囲を小さくすることが、長く使いやすい権限設計になります。

今日の注目アイテム

USB 3.0対応で、周辺機器側に4つのUSB Type-Aポートを備えたバッファローのUSBハブです。バスパワー方式で、WindowsパソコンやMac、Chromebook、ゲーム機、タブレットに対応し、約10cmのケーブルを本体に直付けしています。

ケーブルを使わずノートパソコンに直接挿せる、USB 2.0対応の3ポートUSBハブです。270度回転するスイングコネクタを採用し、MacBookやSurface Pro、Chromebook、Nintendo Switchなどに対応しています。

USB 3.0対応で、4つのUSB-Aポートを備えたAnkerのウルトラスリムUSBハブです。最大5Gbpsのデータ転送に対応し、約60cmのケーブルを備えたバスパワータイプです。

※アフィリエイトリンクを含みます。

公式情報・参照先

タイトルとURLをコピーしました