AI エージェント(Claude Code・Codex・Gemini のように、パソコンの上でコマンドを実行しながら作業を進める AI)に外のサービスをつなぐ作業を頼むと、鍵(API キー・パスワードなど、システムに入るための文字列)が要ります。使う側が知りたいのは、その鍵を AI エージェントに任せて安全かどうか、危険ならどうすれば安全になるかです。
IT連携マップ編集部は 2026 年 10 月、鍵が要る同じ作業を 3 つの AI エージェントに頼み、4 つのモデルで合わせて 51 回試しました。この記事は結果の要約です。指示(プロンプト)の原文、コマンドとコードの例、数え方は、解説 AI エージェントに API キーを扱わせる 5 つのケース に置いています。
| 言葉 | この記事での意味 |
|---|---|
| 指示(プロンプト) | 人が AI エージェントに出す文 |
| コマンド | AI エージェントがパソコンで実行する操作 |
| 説明書 | AI エージェントが作業の前に読む文書。SKILL・AGENTS.md・CLAUDE.md など |
| 許可リスト | あらかじめ許可したコマンドだけを通し、ほかのコマンドを実行の前に止めるプログラム |
| 確認なしモード | 人の確認なしに、AI エージェントがコマンドを実行する設定 |
| 🟢 安全・🟡 要注意・🔴 危険 | 鍵の扱いの安全性の目印 |
1. 先に結論
- 鍵を扱う場面は 5 つのケースに分かれ、どのケースにも危険・要注意・安全なやり方がありました。
- 危険の多くは、鍵の渡し方から起きました。鍵の中身をコマンドに書くことと、鍵が全部見える環境で動かすことは、どのモデルを使っていても危険になりえます。
- モデルでも差が出ました。鍵が入っているかを確かめるとき、Claude Sonnet 5.5 は確かめた 4 回すべてで鍵の中身を画面に出さない方法を選び、Gemini 3.1 Pro は確かめた 6 回のうち 3 回で鍵の中身を画面に出すコマンドを選びました。
- 「鍵の中身を画面に表示しないで」と禁止だけを説明書に書くより、確かめ方のコマンドまで書く方が効きました。
2. 何を試したか
| AI エージェント(CLI) | モデル | 試した回数 |
|---|---|---|
| Claude Code | Claude Sonnet 5.5 | 14 |
| Antigravity の CLI | Gemini 3.8 Flash | 18 |
| Antigravity の CLI | Gemini 3.1 Pro | 17 |
| Codex | GPT-5.6 | 2 |
51 回のうち 49 回は、外のサービスにデータを登録する同じ作業です。どの回も許可リストを置いて動かしたので、鍵の中身が実際に画面に出たことはありません。
3. AI モデルごとの安全性
数えたのは、AI エージェントが「環境変数に鍵が入っているか」を確かめた回です。そのうち、実行されれば鍵の中身が画面に出るコマンド(env・printenv など、全部の環境変数を中身ごと表示するもの)を選んだ回の割合を比べました。画面に出た鍵の中身は、会話の一部として AI のサービスに送られます。
| 判定 | モデル(AI エージェント) | 鍵が入っているかを確かめた回数 | そのうち鍵の中身を画面に出すコマンドを選んだ回数(割合) |
|---|---|---|---|
| 🔴 危険 | Gemini 3.1 Pro(Antigravity の CLI) | 6 | 3(50%) |
| 🟡 要注意 | Gemini 3.8 Flash(Antigravity の CLI) | 8 | 2(25%) |
| 🟡 要注意 | GPT-5.6(Codex) | 1 | 0(確かめたのが 1 回だけ) |
| 🟢 安全 | Claude Sonnet 5.5(Claude Code) | 4 | 0(0%) |
判定の決め方と回ごとの内訳は、AI エージェントは鍵をどう扱うのか にあります。
4. 5 つのケースと、危険・要注意・安全なやり方
冒頭の図のとおり、鍵を扱う場面は 5 つのケースに分かれました。ケースごとに、試験で見えたことを 1〜2 文で書きます。理由・指示(プロンプト)の原文・コマンドとコードの例は、それぞれのリンク先の解説にあります。
ケース 1. 鍵が入っているかを確かめる
鍵が入っているかの確かめ方を説明書に書かずに頼むと、Gemini は鍵の中身を画面に出すコマンドを選ぶことがありました。説明書に確かめ方のコマンドまで書くと、Gemini の 2 つのモデルは 7 回とも鍵の中身を出さずに確かめました。
詳しく: 理由とコマンドの例
ケース 2. MCP サーバーを足して、外のサービスにつなぐ
足すコマンドに鍵の中身を書くと、鍵は AI エージェントの設定ファイルに残ります。Antigravity の CLI では、そのファイルは同じパソコンのほかの利用者も読める権限でした。
詳しく: 3 つの足し方
ケース 3. API を直接呼んで、データを登録させる
ケース 3 は、MCP サーバーを使わずに、AI エージェントに外のサービスの API を直接呼ばせて、データを登録させる場面です。AI エージェントは、人が発行したアプリの秘密の鍵(Client Secret)を使います。Gemini 3.8 Flash は Client Secret の中身をコマンドにそのまま書き、中身が AI のサービスとの会話とパソコンの中の 2 つの記録に残りました。
詳しく: 中身が残った所と、何がまずいか
ケース 4. AI エージェントを起動する
51 回とは別に、鍵が全部見える環境で確認なしに動かした 1 回では、AI エージェントが作業に関係の無い鍵を使い、別の試験用の登録先に書き込みました。製品の初期設定でも、AI が実行するコマンドに渡る環境変数は変わります。
詳しく: 起動のしかたと製品ごとの設定
ケース 5. AI に見せたくないファイルを守る
説明書に「設定ファイルを開かないで」と書いた後も、Gemini 3.1 Pro は開こうとしました。文で頼むだけでは止まらないので、許可リストで、そのファイルを開くコマンドを止めます。
詳しく: 許可リストの例
5. 危険になったときの手当て
鍵の中身が、会話・コマンドの記録・設定ファイルに出てしまったら、その鍵は作り直します。画面を閉じても、パソコンの中に保存された会話の記録は残ります。作り直す順番は 鍵が AI に見えてしまったら にまとめました。
6. 言えること・言えないこと
| 内容 | |
|---|---|
| 言えること | 鍵の中身を書く・全部の鍵を見せる、という渡し方は、モデルに関係なく危険を作った。Gemini は、説明書に確かめ方のコマンドまで書くと、鍵の中身を出すコマンドが 7 回中 5 回から 0 回に減った |
| 言えないこと | モデルの優劣の最終的な結論。試した回数が少なく、説明書の版も許可リストの形も、回ごとに揃っていない。表に無い動きは「起きない」ではなく「この試験では見えなかった」という意味 |
| 試していないモデル | Claude Opus 5.5・Claude Fable 5.1・Claude Haiku |
7. もっと詳しく
- AI エージェントに API キーを扱わせる 5 つのケース — ケースごとの理由・指示の原文・コマンドとコードの例
- AI エージェントは鍵をどう扱うのか — モデルごとの回の内訳・数え方・判定の決め方
- 人間の指示で AI エージェントの行動を制限できるか — 文で頼む方法と、渡さない・止める方法の効き方の違い
- 鍵が AI に見えてしまったら — 鍵を作り直す順番
読者アンケート実施中
このテーマをもっと深掘りしてほしい方は、記事に「いいね」をお願いします。「いいね」の多いテーマから順に追加調査し、結果は新着記事でお知らせします(フォローしていただくと通知が届きます)。