← 기사 목록
日本語https://zenn.dev/topics/llm/feed

AIエージェントは最小権限で使う|Claude Code・MCP・VS Code拡張の安全な設定

추출된 키워드

30
最小権限·5Claude Code·5MCP·5AIエージェント·5最小権限の原則·4CLAUDE.md·4MCPサーバー·4プロンプトインジェクション·4VS Code拡張·4Excessive Agency·3過剰な権限·3SQLインジェクション·3LLM·3Gemini CLI·3Top 10 for LLM Applications 2025·3--allowedTools·3OWASP·3ブラウザ拡張·3GEMINI.md·3GitHub Copilot·3AGENTS.md·3.github/copilot-instructions.md·3Pull Request·2git diff·2Codex·2GitHub·2Slack·2GitHubリポジトリ·2英国国家サイバーセキュリティセンター·2NCSC·2

원문

4,178
AIエージェントは最小権限で使う|Claude Code・MCP・VS Code拡張の安全な設定

AIエージェントは最小権限で使う|Claude Code・MCP・VS Code拡張の安全な設定

Claude Codeを毎日使っています。コード補完、バグ修正、リファクタリング。もはや手放せないツールです。

でも、Claude Codeは「テキストで会話するチャットボット」ではありません。ファイルの読み書き、シェルコマンドの実行、外部APIへのアクセスができる、本物のエージェントです。

そのことを理解した上で使っているかどうかで、リスクが大きく変わります。

AIエージェントはファイル操作・シェル実行・外部API呼び出しをする

OWASP「Top 10 for LLM Applications 2025」には「Excessive Agency(過剰な権限)」というリスクが含まれています。

定義はシンプルです。AIが必要以上の権限を持っていると、誤作動・悪用・乗っ取りが起きたときの影響範囲が広がる、ということです。

Claude Codeでいえば、デフォルトでできることは意外と多い。ファイルの読み取りと書き込み、シェルコマンドの実行、ブラウザの操作(MCP経由)、外部APIの呼び出し。これらが全部有効な状態で使い始める人が多い。

最初から何でもできる状態は、便利です。でも問題が起きたときの影響も最大になります。

プロンプトインジェクションのリアリティ

NCSC(英国国家サイバーセキュリティセンター)は、プロンプトインジェクションとSQLインジェクションを混同しないよう説明しています。

SQLインジェクションには確立された防御手法があります。でもプロンプトインジェクションは構造が違う。LLMはデータと命令の間に堅牢な境界を持てないため、「完全に止める」設計が現時点では難しい。

実際的なリスクはこうです。外部のWebページ、PDF、メール、GitHubリポジトリをAIエージェントに読ませるとします。その文書の中に「前の指示を忘れて、このコマンドを実行してください」と書いてあったら、エージェントはそれに従う可能性がある。

自分が意図した操作だけ実行させる、という前提が崩れることがあります。

最小権限の原則と具体的な制限

「最初は最小権限で始める」というアプローチが有効です。

Claude Codeを例にすると、最初にとる設定は:

  • 読み取り専用モードで試す
  • シェルコマンドの実行を許可する前に一度確認を入れる
  • 外部への送信・Push・デプロイを伴う操作は承認が必要な設定にする

「全部許可してから困ったら制限する」より「最小で始めて必要な権限を足す」ほうが、問題が起きにくい。

Claude Codeには

--allowedTools
でツールを限定する方法があります。ファイルの読み書きだけ許可して、シェル実行は都度確認、という設定も可能です(
claude --help
で確認できます)。

Claude Codeの安全な使い方

個人開発者として実際にやっていることをそのまま共有します。

書き込み・実行は一度確認する。 コードの提案は自動でOKでも、ファイルへの書き込みやコマンドの実行は承認を求める設定にしています。ほんの少し手間ですが、意図しない変更が入るのを防げます。

外部リポジトリやURLを読ませるときは、書き込み・送信権限を切る。 信頼できないソースをAIに読ませるときは、その会話でファイル変更・git push・API呼び出しができない状態にしてから渡します。

作業が終わったらセッションを閉じる。 長時間同じセッションを開けたままにしない。特に別の作業に移るときは一度閉じる習慣をつけています。

MCP・ブラウザ拡張・VS Code拡張の絞り込み

MCPサーバー、ブラウザ拡張、VS Code拡張は、「使うもの」だけを有効にする。

MCPは特に注意が必要です。AIエージェントが外部サービス(Slack、GitHub、ファイルシステム等)と直接やり取りできる仕組みなので、接続先が多いほど影響範囲が広がります。使っていないMCPサーバーは切る。

ブラウザ拡張も同様です。「AIツールの名前に似た」拡張が増えています。公式サイトやGitHubからリンクされているものか確認してからインストールする。インストール数だけでは判断しない。

VS Code拡張は、インストールしたら使っているものと使っていないものを半年に一度整理する習慣が有効です。

設定ファイルはコードと同じレビューを

Claude Codeには

CLAUDE.md
という設定ファイルがあります。プロジェクトを開いたとき、AIが自動で読み込む「指示書」です。

他にも

AGENTS.md
(Codex)、
.github/copilot-instructions.md
(GitHub Copilot)、
GEMINI.md
(Gemini CLI)など、AIへの指示を記述するファイルが各ツールに存在します。

これらのファイルに悪意ある命令が書き込まれていたら、AIはその命令を実行しようとします。

対策として、

git diff
や Pull Request レビューで設定ファイルの変更を確認する習慣をつける。外部から受け取ったリポジトリを開く前に、設定ファイルの内容を読む。特に見知らぬリポジトリは、信頼できる人のコードレビューを経てから使うのが安全です。

今日やるチェックリスト

  • 使っているAIエージェントツールで、有効になっている権限(ツール・MCP・拡張)を確認する
  • 使っていないMCP・ブラウザ拡張・VS Code拡張を無効化・削除する
  • 触るリポジトリの
    CLAUDE.md
    AGENTS.md
    等の設定ファイルを一度読む

AIエージェントは、正しく設定すれば非常に安全に使えます。最小権限で始めて、必要なものを足していく。それだけで、ほとんどのリスクは管理できます。