IT連携マップシステムどうしのデータ連携・接続仕様のまとめ

5 分で読む

Claude Code や Codex などの AI エージェントは、手元のファイルを読み、コマンドを動かします。そこに API キーを渡しても大丈夫か。5 つの道具の文書と、報告されている事例で確かめました。


まず、言葉をそろえる

言葉 意味
AI エージェント 指示を受けて、自分でファイルを読み、コマンドを動かして作業を進める AI。Claude Code・Codex・Gemini CLI・GitHub Copilot・Cursor など
除外設定 AI に読ませたくないファイルを並べておく設定
シェル・コマンド パソコンに文字で命令する画面(シェル)と、そこに打つ命令(コマンド)。AI エージェントもこれで作業する
スクリプト コマンドをまとめて書いた、小さなプログラム
環境変数 プログラムを動かすときに、外から渡しておく設定の値。API キーを入れることが多い
.env 環境変数に入れる値を書いておくファイル。API キーやパスワードが入る
MCP AI に外のサービスや道具をつなぐための決まり
OAuth 固定の鍵の代わりに、期限と範囲を決めて許可を出す仕組み

除外設定は、どこまで効くか

設定で .env の読み取りを拒否したとき、どこまで止まるかを、Claude Code の画面のイメージで 3 つの場合に分けて示した図。①AI の道具の「ファイルを読む」機能で開く(Read(.env))は止まる。②コマンドでファイル名を名指しして読む(Bash(cat .env))は道具による。Claude Code は止めるが、Cursor はエージェントの端末では止められないと書いている。③ファイル名を出さずに読む(grep -r)やスクリプトが自分で開く(python)は止まらず、.env の中身が読めてしまう。止めるにはサンドボックスを使う
設定で .env の読み取りを拒否したとき、どこまで止まるかを、Claude Code の画面のイメージで 3 つの場合に分けて示した図。①AI の道具の「ファイルを読む」機能で開く(Read(.env))は止まる。②コマンドでファイル名を名指しして読む(Bash(cat .env))は道具による。Claude Code は止めるが、Cursor はエージェントの端末では止められないと書いている。③ファイル名を出さずに読む(grep -r)やスクリプトが自分で開く(python)は止まらず、.env の中身が読めてしまう。止めるにはサンドボックスを使う

除外設定がそのまま効くのは、AI の道具に組み込まれた「ファイルを読む」機能です。Claude Code は、cat のようにファイル名を名指しするコマンドも止めます。

Claude Code Docs(Configure permissions)原文
Read and Edit deny rules apply to Claude’s built-in file tools, to file commands Claude Code recognizes in Bash, such as cat, head, tail, sed, and tee

出典を開く確認 2026-10-04

止まらないのは、ファイル名を出さずに読むコマンド
Claude Code Docs(Configure permissions)原文
They don’t apply to a command that reads files without naming them

出典を開く確認 2026-10-04

と、スクリプトが自分でファイルを開く場合です。

道具 どこに・どう書くか 効かないところ
Claude Code 設定ファイル(settings.json)の拒否の規則に Read(./.env) と書く
Claude Code Docs(Configure permissions)原文
To block Claude’s file tools from reading a file or directory, add a Read deny rule for its path, such as Read(./.env) or Read(./secrets/**)

出典を開く確認 2026-10-04

Claude Code Docs(Configure permissions)原文
The dialog lists all permission rules and the settings.json file each rule comes from.

出典を開く確認 2026-10-04

ファイルを自分で開くスクリプトなど
Claude Code Docs(Configure permissions)原文
or to arbitrary subprocesses that read or write files indirectly, like a Python or Node script that opens files itself.

出典を開く確認 2026-10-04

Cursor プロジェクトの一番上に .cursorignore を作る。
Cursor Docs(無視ファイル)原文
ルートディレクトリに、.gitignore 構文を使用した .cursorignore ファイルを作成します。

出典を開く確認 2026-10-04

.env は初めから除外される
Cursor Docs(無視ファイル)原文
Cursor は .gitignore 内のファイルと、以下のデフォルトの ignore リストに含まれるファイルを自動的に無視します。

出典を開く確認 2026-10-04

エージェントがコマンドを打つ画面(端末)と、MCP の道具
Cursor Docs(無視ファイル)原文
Agent が使用する Terminal および MCP サーバーツールでは、.cursorignore で指定されたコードへのアクセスをブロックできません。

出典を開く確認 2026-10-04

Gemini CLI プロジェクトの一番上に .geminiignore を作る
Gemini CLI Docs(Ignoring files)原文
Create a file named .geminiignore in the root of your project directory.

出典を開く確認 2026-10-04

この設定に対応していない道具
Gemini CLI Docs(Ignoring files)原文
file will exclude them from tools that support this feature, although they will still be visible to other services

出典を開く確認 2026-10-04

GitHub Copilot リポジトリの設定の Content exclusion に、除外するパスを書く。
GitHub Docs(Excluding content from GitHub Copilot)原文
enter the paths to files from which Copilot should be excluded.

出典を開く確認 2026-10-04

Business・Enterprise の契約が要る
GitHub Docs(Excluding content from GitHub Copilot)原文
Organizations with a Copilot Business or Copilot Enterprise plan.

出典を開く確認 2026-10-04

コマンドで使う版(CLI)と、編集ソフト(IDE)のエージェントモード
GitHub Docs(Excluding content from GitHub Copilot)原文
GitHub Copilot CLI and Agent mode in Copilot Chat in IDEs do not support content exclusion.

出典を開く確認 2026-10-04

Codex ファイルではなく、コマンドに渡す環境変数を絞る設定
OpenAI Codex Docs(Advanced configuration)原文
shell_environment_policy controls which environment variables Codex passes to spawned commands.

出典を開く確認 2026-10-04

初期設定では、KEY・SECRET・TOKEN を含む変数を消さない
OpenAI Codex Docs(Advanced configuration)原文
so Codex doesn’t automatically remove variable names containing

出典を開く確認 2026-10-04

除外設定は、うっかり読むのを減らすためのものです。すべてのプログラムから読ませないようにするには、サンドボックスを使います(最後の節)。

鍵が会話に入ると、手元の記録に残る

道具 会話の記録 知っておくこと
Claude Code 手元に、暗号化しない文字のまま保存する
Claude Code Docs(Data usage)原文
Claude Code clients store session transcripts locally in plaintext under

出典を開く確認 2026-10-04

AI が呼び出した別のプログラムに鍵を渡さない設定は、自分で有効にしたときだけ働く
Claude Code Docs(Environment variables)原文
Set to 1 to strip credentials from the environments of the subprocesses Claude Code starts, such as Bash commands, hooks, and stdio MCP servers.

出典を開く確認 2026-10-04

Codex 手元に保存する
OpenAI Codex Docs(Advanced configuration)原文
By default, Codex saves local session transcripts under

出典を開く確認 2026-10-04

鍵らしい名前の環境変数も、初期設定では渡したまま(前の表)

鍵を会話に貼ったり、AI に .env を表示させたりすると、その鍵は会話の記録に残ります。記録のファイルが漏れれば、鍵も一緒に漏れます。

文章に仕込まれた指示で、鍵が外に送られた

対象 起きたこと 種類
Claude Code 確認を飛ばしてファイルを読み、中身をネットワークに送れた
GitHub Advisory Database(GHSA-x5gv-jw7f-j6xj・CVE-2025-55284)原文
it was possible to bypass the Claude Code confirmation prompts to read a file and then send file contents over the network without user confirmation.

出典を開く確認 2026-10-04

研究者の実証
Gemini CLI 環境変数がまるごと攻撃者のサーバーに送られた
Tracebit(2025-07-28)原文
all their environment variables have been sent to the attacker's server

出典を開く確認 2026-10-04

研究者の実証
GitHub Copilot Chat リポジトリ全体から鍵の名前を探させ、外に出せた
Legit Security(2025-10-08)原文
I also managed to get Copilot to search the victim's entire codebase for the keyword

出典を開く確認 2026-10-04

研究者の実証
npm(JavaScript の部品の置き場)の部品(s1ngularity) 入り込んだ悪意のあるコードが、利用者の AI の道具を危険なオプション付きで動かした
Wiz(2025-08-27)原文
Notably, the campaign weaponized installed AI CLI tools by prompting them with dangerous flags

出典を開く確認 2026-10-04

実際の攻撃

AI は、読んだ文章の中の指示に従ってしまうことがあります(プロンプトインジェクション)。鍵が AI の手の届く所にあれば、指示ひとつで外に出ます。

AI に書かせると、鍵は漏れやすくなるのか

公開 GitHub のコミットに鍵が混ざる割合の棒グラフ。Claude Code を使ったコミットは 3.2%、公開 GitHub のコミット全体は 1.5%。GitGuardian 自身は、道具の欠陥と単純に読むべきではないと書いている
公開 GitHub のコミットに鍵が混ざる割合の棒グラフ。Claude Code を使ったコミットは 3.2%、公開 GitHub のコミット全体は 1.5%。GitGuardian 自身は、道具の欠陥と単純に読むべきではないと書いている
調べたもの 結果
公開されている GitHub のコミット(コードの変更の記録) Claude Code を使ったコミットで鍵が混ざる割合は 3.2%、全体は 1.5%
GitGuardian(The State of Secrets Sprawl 2026・2026-03-17)原文
Claude Code-assisted commits showed a 3.2% secret-leak rate, versus a 1.5% baseline across all public GitHub commits.

出典を開く確認 2026-10-04

AI エージェントが作った変更の依頼 漏れた本物の鍵の 67.6% は、人が入れていた
Sakib et al.「Trust but Verify?」(arXiv 2607.12428・2026-07-14)原文
human collaborators are responsible for introducing 67.6% of genuine leaked secrets within these agent-assisted workflows

出典を開く確認 2026-10-04

差はありますが、AI が原因とは言えません。報告した本人たちも、道具の欠陥と単純に読むべきではないと書いています。

GitGuardian(The State of Secrets Sprawl 2026・2026-03-17)原文
That gap is meaningful, but it should not be read as a simple tool failure.

出典を開く確認 2026-10-04

AI を使うかどうかより、鍵がどこに置かれているかの方が効きます。

MCP で鍵を渡すときは、鍵の権限で決まる

公開されている MCP サーバーの鍵の受け取り方の棒グラフ。期限の長い固定の鍵(API キーや個人用アクセストークン)が 53%、OAuth(期限と範囲を決めた許可)は 8.5%(Astrix Security)
公開されている MCP サーバーの鍵の受け取り方の棒グラフ。期限の長い固定の鍵(API キーや個人用アクセストークン)が 53%、OAuth(期限と範囲を決めた許可)は 8.5%(Astrix Security)
何を どうなっているか
公開されている MCP サーバー 53% が期限の長い固定の鍵を使い、
Astrix Security(State of MCP Server Security 2025・2025-10-15)原文
Over half (53%) rely on static API keys or Personal Access Tokens (PATs), which are long-lived and rarely rotated.

出典を開く確認 2026-10-04

OAuth は 8.5%
Astrix Security(State of MCP Server Security 2025・2025-10-15)原文
Only 8.5% use OAuth, the modern, preferred method for secure delegation.

出典を開く確認 2026-10-04

MCP の仕様 手元で動かす MCP サーバーは、鍵を環境から読む
Model Context Protocol 仕様(Authorization・2025-06-18)原文
Implementations using an STDIO transport SHOULD NOT follow this specification, and instead retrieve credentials from the environment.

出典を開く確認 2026-10-04

freee 公式の MCP サーバーがあり freee会計 MCP 対応 、API の認可は OAuth(期限のある許可) freee会計 API の認証方式
マネーフォワードの公式 MCP API キーは、発行した人の権限の範囲でしか使えない
マネーフォワード クラウド(MCPサーバーの認証・認可)原文
APIキーを発行したユーザー自身がマネーフォワード クラウドの各サービスで付与されている権限でアクセス可能なデータのみにアクセスできます。

出典を開く確認 2026-10-04

kintone の公式 MCP API トークンかパスワードで認証する。本番では、その権限を必要最小限にするようサイボウズ自身が書いている
cybozu developer network(kintone MCPサーバーのクイックスタート)原文
本番環境で利用する場合は、対象アプリのAPIトークンの権限や「パスワード認証」時のユーザー権限を必要最小限に設定し、AIがアクセスできる範囲を適切に制限してください。

出典を開く確認 2026-10-04

AI が指示に乗せられても、鍵にできることが少なければ被害も小さくなります。

渡すなら、この順で

AI エージェントに鍵を渡すときの 5 つの手順を並べた図。①鍵を会話に入れない、②権限を絞った鍵を作る、③期限のある許可(OAuth)を選べるならそちらを使う、④除外設定とサンドボックスで読める範囲を絞る(AI が動かしたコマンドに開かせるときにも止めるには、サンドボックスを使う)、⑤漏れたらすぐ取り消す
AI エージェントに鍵を渡すときの 5 つの手順を並べた図。①鍵を会話に入れない、②権限を絞った鍵を作る、③期限のある許可(OAuth)を選べるならそちらを使う、④除外設定とサンドボックスで読める範囲を絞る(AI が動かしたコマンドに開かせるときにも止めるには、サンドボックスを使う)、⑤漏れたらすぐ取り消す

まず会話に入れないこと、次に権限を絞ることです。OWASP も、AI の拡張機能には OAuth と最小限の権限を使うよう勧めています。

OWASP Top 10 for LLM Applications 2025(LLM06 Excessive Agency)原文
an LLM extension that reads a user’s code repo should require the user to authenticate via OAuth and with the minimum scope required.

出典を開く確認 2026-10-04

MCP の仕様は、漏れたときの被害を小さくするために期限の短い許可を出すよう求めています。
Model Context Protocol 仕様(Authorization・2025-06-18)原文
short-lived access tokens to reduce the impact of leaked tokens

出典を開く確認 2026-10-04

AI が動かしたコマンドからも読ませたくないファイルは、サンドボックス(パソコンの仕組みで、すべてのプログラムが触れる範囲を閉じる設定)で止めます。
Claude Code Docs(Configure permissions)原文
For OS-level enforcement that blocks all processes from accessing a path, enable the sandbox.

出典を開く確認 2026-10-04

ここから先は調査の詳細です(約 1 分)。上のカードだけで決められます。調べた 1 件ずつの記録は IT連携マップ に、出典 URL と調査日つきで公開しています。

調査の詳細

2026 年 10 月 4 日に、Claude Code・Codex・Gemini CLI・GitHub Copilot・Cursor の公開文書(権限・設定・データの扱い・環境変数・サンドボックス・除外設定)と、事例の報告(GitHub のアドバイザリー、各研究者と各社の報告)、GitGuardian・Astrix Security の調査、MCP の仕様、freee・マネーフォワード・サイボウズの公式 MCP の文書を読みました。表の言い方は各文書の文から取り、原文は[原文・出典]に置いています。

言えないこと

  • 文書に書かれている設定と動きを並べたもので、5 つの道具を同じ条件で動かして比べたわけではありません
  • 第 3 節の事例は、報告した人の実証と報告です。私たちは再現していません
  • 第 4 節の割合は、報告した会社の数え方によるもので、AI を使った場合と使わない場合を条件を揃えて比べたものではありません
  • 公開されている MCP サーバーの割合は、Astrix Security が GitHub で集めた範囲のものです
  • Gemini CLI の文書には、環境変数の中の鍵らしい値を伏せる働きの説明がありますが、同じ文書の設定一覧ではその設定の初期値が無効になっており、どちらが今の動きかは確かめていません

この記事に登場するシステム(1)

kintone

← 調査記事の一覧へ 比較する

「AI エージェントに鍵を渡しても大丈夫か — 除外設定」について、分からないところを聞いてください
この画面のヒント
「AI エージェントに鍵を渡しても大丈夫か — 除外設定」について、分からないところを聞いてください
編集部はベンダーからの掲載料・送客料・成果報酬を一切受け取りません。判定は編集部の調査記録にある一次資料から、機械で組み立てています。 チャット(HINT)の相談内容の扱いはプライバシーポリシーに書いています。
一覧: システム一覧 連携ツール(連携サービス)一覧 AI・自動化ツール一覧 稼働状況・障害情報
記載の誤り・掲載についてのご連絡 → 訂正・掲載のご依頼(無料・無条件・全社同一) 運営者情報