本文へ移動
AIコーディングをはじめよう

第18章・安全に、通しでやってみる

セーフガード:AI に読ませてはいけないものと、事故を防ぐしくみ

AI エージェントは、あなたのパソコンのファイルを読み、コマンドを動かして作業します。便利な一方で、読ませてはいけないものまで読んでしまったり、頼んでいない操作をしてしまったりすることもあります。そうした事故を防ぐしくみと心がけを、まとめて「セーフガード」と呼びます。

この章の中心は、AI に読ませてはいけないもの(API キーなどの秘密の値・個人情報・お客さんや会社の大事なデータ)と、その守り方です。.env への置き方、読み取りを止める設定、.gitignore で防げることと防げないこと、漏れたかもしれないときの順番を見ます。そのあと、外から入ってくる文章にまぎれた指示、消す・上書きする操作への備え、道具と AI の会社の側の安全装置を見渡します。

怖がって使わないためではなく、何を用意しておけば安心して任せられるかが分かるように書いています。許可・サンドボックス(第10章)、Git(第11章)、MCP(第14章)、フック(第15章)とつながる話は、その章へ案内します。

この章で見ること
AI に読ませたものの行き先、読ませてはいけないもの、秘密の値の置き方と読み取りを止める設定(3社)、.gitignore の限界、漏れたときの順番、架空のデータ、プロンプトインジェクションへの備え、壊す操作への備え、道具と会社の側の安全装置を、図で順に見ます。
読み終わると
AI に読ませてはいけないものを挙げられ、読ませないための置き方・設定と、事故を防ぐツールの安全装置の全体を説明できる
前の章までに知っていること
AI エージェントが道具を使ってファイルを読み、コマンドを動かすこと(第4章)。許可の画面と許可のルール・サンドボックス(第10章)。Git のコミットと .gitignore の前提になる記録のしくみ(第11章)。
読む時間の目安
20分ほど

この章で出てくる言葉

分かる言葉は読み飛ばして構いません。途中で分からない言葉が出たら、ここに戻ってくるか、用語集で探してください。

セーフガード
事故を防ぐためのしくみと心がけ。AI コーディングでは、AI に読ませないものを決める・危ない操作を止める設定を入れる・戻せる状態にしてから任せる、などをまとめてこう呼びます。
秘密の値(シークレット)
それを持っている人を本人とみなす値。API キー・パスワード・アクセストークン・秘密鍵など。漏れると、ほかの人があなたとして使えるので、AI にも人にも見せず、Git にも入れません。
個人情報
名前・住所・メールアドレス・電話番号・顔写真など、だれのことかが分かる情報。その人が知らないうちに外へ出さないように扱います。AI に渡すのも、外へ出すことの1つです。
本番(本番環境)
実際の利用者が使っている、動いているサービスと、そのデータ。試すための環境と分けて呼びます。AI に任せるときは、本番の鍵や接続先を AI の届く所に置かないようにします。
学習に使う(データの利用)
送った会話やコードを、AI の会社が新しいモデルを作るための材料にすること。使うかどうか・どれだけ残すかは、会社・プラン・設定で違います。
環境変数(かんきょうへんすう)
プログラムを動かすときに、外から渡す「名前=値」の組。秘密の値をコードに書かず、WEATHER_API_KEY のような名前で読むのに使います。
.env(ドットエンブ)
環境変数に入れる値を、1行に1つ「名前=値」の形で書いておくファイル。秘密の値を入れることが多いので、Git に入れず(.gitignore)、AI にも読ませない(deny)ようにします。
.gitignore(ギットイグノア)
Git に「このファイルは記録しない」と伝えるファイル。書いたファイルはコミットされず、GitHub にも上がりません。AI が読むのは止められず、すでに記録したファイルにも効きません。
ローテーション(キーの作り直し)
古いキーを使えなくして、新しいキーに取り替えること。秘密の値が漏れたかもしれないときは、記録から消すより先に、まずこれをします。
架空のデータ(ダミーデータ)
本物の代わりに使う、形だけ同じ作り物のデータ。試すときや、AI に例として見せるときに使います。メールアドレスなら、例のために取っておかれた example.com が使えます。
使用ポリシー
AI の会社が決めている、使ってはいけない使い方の決まり。悪意のあるプログラムを作る、などが挙がっています。違反すると、警告を受けたり使えなくなったりすることがあります。

下にスクロールすると、図が1つずつ動いて説明が進みます。見逃したら、スクロールを戻せば同じところが巻き戻ります。図は、しくみを説明するために描いた模式図です。実際のアプリの画面ではありません。

  1. 01 / 20

    セーフガードは、事故を防ぐしくみと心がけのことです。AI コーディングでは、AI が読むものと動かすものの両方に気をつけます。

    この章の中心は「AI に読ませてはいけないもの」とその守り方です。あわせて、外から入る文章・壊す操作への備え・道具と会社の側の安全装置を見ます。

    会話では:「セーフガードを入れておこう」は、事故を防ぐ設定や決まりを、先に用意しておこう、という意味です。

    しくみの図セーフガード:事故を防ぐ5つの守り
  2. 02 / 20

    AI エージェントが読んだファイルの中身は、頼んだ文と一緒に、AI の会社のサーバーへ送られます。

    AI ツール(ハーネス)は手元で動いていても、考えるモデルは会社のサーバーの上にあります。読んだ中身は会話に足され、モデルに送られます(第4章)。

    会話では:「そのファイル、AI に読ませて大丈夫?」は、中身が会社のサーバーへ送られてもよいものか、という確認です。

    しくみの図AI に読ませたものは、どこへ行くか
  3. 03 / 20

    一度会話に入った中身は、返事の文・書き換えたファイル・会話の記録に出てくることがあります。

    会話の記録は、手元のパソコンにも残ります(Claude Code では既定で 30 日。2026年10月時点)。秘密の値は、はじめから会話に入れないのがいちばんです。

    会話では:「キーがログに残っちゃった」は、会話の記録やコマンドの出力に、秘密の値が書き出されてしまった、という意味です。

    しくみの図AI に読ませたものは、どこへ行くか
  4. 04 / 20

    送った中身をモデルの学習に使うか、どれだけ残すかは、会社とプランと設定で違います。

    3社とも、個人で使うときと、仕事向けのプランや API とで扱いが違います(2026年10月時点)。章の終わりの情報源で、自分のプランの説明を確かめます。

    会話では:「仕事のコードは、会社が契約したプランで扱おう」は、データの扱いが契約で決まっているプランを使おう、という意味です。

    しくみの図送った中身の扱いは、会社とプランで違う
  5. 05 / 20

    AI に読ませてはいけないものの1つ目は、秘密の値です。API キー・パスワード・アクセストークン・秘密鍵などです。

    どれも「これを持っている人は本人」とみなされる値です。漏れると、ほかの人があなたとして使い、料金がかかったり、データを読まれたりします。

    会話では:「シークレットは AI に渡さないで」の「シークレット」は、こうした秘密の値のことです。

    しくみの図AI に読ませてはいけないもの
  6. 06 / 20

    2つ目は個人情報、3つ目はお客さんや会社の大事なデータです。本物の名簿や、本番のデータベースの中身などです。

    自分だけの判断で外へ出してよいものではありません。仕事なら、AI に渡してよい範囲を、会社の決まりで先に確かめます。

    会話では:「本番のデータは貼らないで」は、本物のお客さんのデータを AI に渡さないで、という意味です。

    しくみの図AI に読ませてはいけないもの
  7. 07 / 20

    秘密の値は、コードに直接書かずに外へ出します。よく使うのは環境変数と、その値を書いておく .env というファイルです。

    コードは「WEATHER_API_KEY」のような名前で値を読みます。こうしておけば、コードを AI に見せても、値そのものは写りません。

    会話では:「キーは環境変数から読むようにして」は、コードに値を書かず、名前で読む形にして、という意味です。

    しくみの図秘密の値は、コードの外に置く
  8. 08 / 20

    Claude Code では、設定の deny に書くと、作業フォルダーの中の .env でも、AI が読むのを止められます。

    第10章の許可のルールの1つで、公式の例にある書き方です。CLAUDE.md に「読まないで」と書くのはお願いで、deny は Claude Code そのものが止めます。

    会話では:「.env は deny に入れておいて」は、この設定に書いて、AI が読めないようにして、という意味です。

    しくみの図読み取りを止める設定(Claude Code)
  9. 09 / 20

    deny が止めるのは、ファイルを読む道具と、cat などのよく知られたコマンドです。プログラムの中から読むものは止まりません。

    コマンドからの読み取りもまとめて止めるなら、サンドボックス(第10章)でも読めなくします。作業フォルダーの外に置けば、読む前に聞かれます。

    会話では:「deny してあるから絶対に読まれない、とは言えない」のは、この抜け道があるからです。

    しくみの図deny で止まるもの・止まらないもの
  10. 10 / 20

    Codex と Antigravity CLI にも、読ませないしくみがあります。名前と書き方は違いますが、ファイルを決めて止められます。

    Codex は権限のプロファイル(ベータ)、Antigravity CLI は許可のルールの deny に書きます。Antigravity CLI はサンドボックスを入れても、.env などが読めなくなります。

    会話では:「Codex に替えても .env は読ませない設定にしておいて」のように、道具が変わっても同じ守りを入れます。

    しくみの図3社のツールの安全装置
  11. 11 / 20

    .gitignore に .env と書くと、Git の記録に入らず、公開もされません。でも、AI が読むことは止められません。

    .gitignore は Git に「記録しない」と伝えるファイルで、すでに記録したファイルには効きません。公開しないのが .gitignore、読ませないのが deny です。

    会話では:「.env、gitignore に入ってる?」は、うっかりコミットして公開しないための確認です。

    しくみの図.gitignore で防げること・防げないこと
  12. 12 / 20

    秘密の値を貼ってしまった・コミットしてしまったときは、まずそのキーを無効にして、作り直します。

    GitHub の公式も、秘密の値なら最初に無効にするか作り直すよう書いています。記録から消しても、ほかの人の写し(クローン)などに残ることがあります。

    会話では:「キーをローテーションして」は、古いキーを使えなくして、新しいキーに取り替えて、という意味です。

    しくみの図漏れたかもしれないときの順番
  13. 13 / 20

    試すときは、本物の代わりに架空のデータを使います。エラーの文やログを貼る前には、秘密の値やアドレスを伏せます。

    架空のメールアドレスには、例のために取っておかれた example.com が使えます。伏せるときは「sk-xxxx…」のように、値が分からない形にします。

    会話では:「ダミーデータで試して」は、本物のお客さんのデータではなく、形だけ同じ作り物で試して、という意味です。

    しくみの図架空のデータで試す・貼る前に伏せる
  14. 14 / 20

    Web ページや Issue、MCP の結果など、外から入る文章に AI への指示がまぎれ込むと、AI がそれに従ってしまうことがあります。

    これがプロンプトインジェクション(第10章)です。人には見えにくい形でも、AI には指示として読めることがあります。

    会話では:「その Issue、AI への指示がまぎれてない?」は、外から来た文章に仕込みが無いかの確認です。

    しくみの図外から入ってくる文章にまぎれた指示
  15. 15 / 20

    備えは、外から来た中身を信じすぎないことです。許可の画面で、頼んでいない操作が混じっていないかを見ます。

    Claude Code の公式は、コマンドを読んでから承認する・信頼できない中身をそのまま流し込まない、を勧めています。Codex の公式も、Web の結果は信頼しないよう書いています。

    会話では:「頼んでないのに curl しようとしている」と気づいたら、No で止めて、理由を聞きます。

    しくみの図外から入ってくる文章にまぎれた指示
  16. 16 / 20

    消す・上書きする・本番に触る操作は、戻せないことがあります。任せる前に、戻せる状態と、触れる範囲を決めておきます。

    Claude Code の auto モードも、本番へのデプロイ(公開)や、前からあったファイルを戻せない形で消す操作を、止める対象にしています。それでも、備えるのは人です。

    会話では:「本番には触らせない」は、本番の鍵や接続先を、AI の届く所に置かない、という意味です。

    しくみの図壊す操作への備え
  17. 17 / 20

    道具の側にも、安全装置がいくつもあります。止める・聞く・囲う・戻すと働きが違うので、重ねて使います。

    Claude Code の公式は、こうした守りで危なさを大きく減らせても、すべての攻撃を防げるしくみは無いと書いています。人が確かめることの代わりにはなりません。

    会話では:「deny とサンドボックスの両方を入れておこう」は、守りを重ねておこう、という意味です。

    しくみの図道具の側の安全装置
  18. 18 / 20

    3社のツールとも、読ませない・確かめる・囲うしくみを持っています。違うのは名前と、最初から入っているかどうかです。

    たとえばサンドボックスは、Codex では最初から入り、Claude Code と Antigravity CLI では最初は切ってあります。細かい動きは版で変わります。

    会話では:「Codex は最初からサンドボックスの中。Claude Code は /sandbox で入れる」のように、違いを話します。

    しくみの図3社のツールの安全装置
  19. 19 / 20

    AI の会社の側にも、セーフガードがあります。使ってはいけない使い方の決まり(使用ポリシー)と、危ない出力を止めるしくみです。

    Anthropic の使用ポリシーは Claude Code にも当てはまり、違反が疑われると警告や停止があると書いています。OpenAI と Google にも使用ポリシーがあります。

    会話では:「それは使用ポリシーに当たるから断られた」は、会社の決まりで止められた、という意味です。

    しくみの図AI の会社の側のセーフガード
  20. 20 / 20

    まとめると、読ませない・外の文章を疑う・壊す前に備える・安全装置を重ねる・会社の決まりを知る、の5つです。

    怖がって使わないのではなく、守りを用意してから任せます。次の章では、ここまでの言葉を使って、1つの作業を最初から最後まで通して見ます。

    会話では:「セーフガードを入れてから任せよう」——この章の5つが、安全に任せるための下ごしらえです。

    しくみの図セーフガード:事故を防ぐ5つの守り

この章のまとめ

  1. 1

    AI が読んだものは、AI の会社のサーバーへ送られます。だから、秘密の値・個人情報・大事なデータは読ませません。送った中身の扱い(学習に使うか・どれだけ残すか)は、会社とプランと設定で違うので、自分のプランの説明を確かめます。

  2. 2

    秘密の値はコードの外に置き、読み取りを止める設定を入れます。Claude Code は deny、Codex は権限のプロファイル、Antigravity CLI は deny とサンドボックス。.gitignore は公開を防ぐもので、読ませないのは別の設定です。漏れたかもしれないときは、まずキーを無効にして作り直します。

  3. 3

    外から来た文章を信じすぎず、戻せる状態で任せます。まぎれ込んだ指示や戻せない操作には、許可の画面を読む・サンドボックスで囲う・コミットしてから任せる・本番に触らせない、を重ねます。どの守りも1つでは完全ではなく、最後に確かめるのは人です。

この章の内容を確かめた情報源

確認日: 2026年10月25日

次の章第19章 通しでやってみる:頼むところから取り込むまでIssue を立てて、計画し、作らせ、確かめ、Pull Request で取り込むまでを、ここまでの言葉で通して見る。

章の一覧へ戻る