AIに「APIキー貼って」と言われても、そのまま貼るな。Claude Code開発で気をつけるべき安全のルール

どうも〜さとあつです😄
今日は、ちょっと真面目に、注意喚起の話を書く。
Claude Codeでアプリ作ってる最中、ヒヤッとした体験があった。
タイトル通り、AIに「APIキー貼って」と言われても、そのまま貼ったらアカンって話。
これ、AIで開発を始めたばっかりの人に、絶対知っといてほしいから書きます。
まず結論から書く
先に結論。
AIが「貼って」と言ってきても、APIキーやパスワードをそのまま渡してはいけない。
AIは便利だけど、最後に止めるのは人間の役目。
これが今日の主張。
特にservice_roleキー(DBの全権限を持つ秘密鍵)みたいな重要情報は、絶対にチャットに直接貼らない。
こういう場面が、普通に起こる
俺、Claude Codeで色んなアプリやツールを作ってる。
ある日、開発の途中で、こんな流れになった。
Claude Code:「ここでDBに接続するためのキーが必要です。プロジェクトのURLとanonキーとservice_roleキーを送ってください」
普通、こう言われたら、初心者は何の疑いもなく貼っちゃう。
「AIが必要だって言ってるんだから、必要なんやろう」って。
でも、俺はその時、ちょっと違和感があった。
「これ、君(Claude Code)に直接渡しちゃダメじゃない?」
そう、確認したんよ。
Claude Code本人が「ダメ」と返してきた
そしたら、Claude Code本人がこう返してきた。
「完璧な判断です。APIキー(特にservice_role)を私に直接渡してはいけません」
…って、貼れって言ったの、お前やん(笑)
でもそこから、Claude Codeはちゃんと理由付きで説明してくれた。
- Project URL:公開情報。チャットに貼ってもOK
- anon(public)キー:公開前提(クライアント側にも露出する)。厳密には貼ってもOKだが、習慣として直接共有しない方がいい
- service_role(secret)キー:DBの全権限・RLSをバイパス。絶対に共有禁止。Gitにコミットも禁止。漏れたらDB全件流出
そして、こう言ってきた。
「私はこれらの値を見る必要がまったくありません。コードは環境変数経由で読むので、あなたのPCの中だけに置けば動きます」
つまり、.env.localというローカルファイルに置いておけばOK。AIは中身を見なくても、コード経由で読めるから動く。

ここで大事な気づき:AIは便利だけど、普通に危険な提案もしてくる
この体験で、俺は強く思った。
AIは便利。でも、AIの指示を鵜呑みにするのは危険。
具体的に、AIの提案にも「リスク」がある。
- AIは「タスクを進めるための最短距離」を提案する
- でも、その最短距離が、セキュリティ上のリスクを含むことがある
- AIは「目の前のタスクを終わらせる」ことに集中して、全体最適を見落とすことがある
これは、AIが「悪意がある」という話じゃない。
構造的な制約として、こういう提案が出てくることがある。
俺たち人間は、ここを認識した上で、AIを監督する必要がある。
違和感センサーが、今回のキモだった
俺がこの体験で一番伝えたいのは、ここ。
「あれ?これ大丈夫?」と引っかかる感覚を、信じてほしい。
俺、コード書けない47歳。専門知識もない。
でも、「APIキーを直接チャットに貼るのは、なんか違う気がする」っていう違和感は、持てた。
その違和感に従って、Claude Codeに「これ大丈夫?」と確認した。
そしたら、「ダメです」と返ってきて、正しい方法を教えてくれた。
ここで違和感を無視して、AIの言われるまま貼ってたら、service_roleキーがチャット履歴に残って、最悪の場合DB全件流出のリスクがあった。
これ、過去のブログ「AIの能力を引き出せる人の6つの条件」で書いた違和感に気付く力そのもの。
そして、「AI時代は順番が逆になった。『学ぶ前にまず作れ』」で書いたAI監督力そのもの。
これらを実地で発動させた瞬間だった。
初心者が、最低限覚えておくこと
ここから、初心者向けの実用情報を書く。
専門用語は最小限に。要点だけ。
キー類は、3種類あると思え
- 公開情報(URL等):チャットに貼ってもOK
- 公開前提キー(anon等):習慣として貼らない方がいい
- 秘密キー(service_role、APIシークレット、パスワード等):絶対に貼らない
秘密キーの正しい扱い方
- .env.localファイルを作って、そこに書く
- .gitignoreに.env.localを追加して、Gitにコミットされないようにする
- チャット(AI含む)にも、共有ドキュメントにも、絶対に貼らない
- AIがコードを書く時は、コード側で「環境変数から読み込む」処理を書かせる
AIに伝える時の言い方
- 「あなたに直接キーは渡しません。.env.local経由で読み込むコードを書いてください」
- 「キーはローカル環境変数で管理します。あなたは中身を知る必要はありません」
これだけ覚えておけば、最低限の安全は守れる。

AI開発時代の合言葉:「AIに言われても、一度止まれ」
この体験から、俺の中で出来た合言葉がある。
「AIに言われても、一度止まれ」
特に、こういう瞬間。
- AIが秘密情報を求めてきた時
- AIが「とりあえずこれをコピペで」と言ってきた時
- AIの提案に、自分の中で違和感がある時
- AIが「すぐ動かせます」と急かしてきた時
ここで一度立ち止まる習慣が、AI時代の自分を守る。
AIは、便利。
でも、判断と責任は、最後まで人間。
これは、AIを使い倒してる俺だからこそ、強く言える。
経営者として、社員にも伝えたい話
ここまで初心者向けに書いたけど、これ経営者にも超重要。
最近、「うちもAIで業務効率化したい」って社員さんがClaude CodeやChatGPTを使い始めてる会社、増えてる。
その時、社員さんが業務情報・顧客情報・社内パスワードをチャットに貼ってる事故が、普通に起きてる。
これ、知っといてほしい。
社員さんに、最低限のルールを伝える必要がある。
- 顧客情報・社内秘密情報を、AIチャットに直接貼らない
- パスワード・APIキー・社内認証情報を貼らない
- AIに何かを聞く時は、情報をぼかしてから渡す癖をつける
これ、社内研修レベルで必要な話。
経営者として、AI活用の前に、AI活用のルール整備が必要な時代になってる。
親としても、これは伝えておきたい話
ここまで書いてきた話、子どもにも伝わる構造。
俺は、家族用のサトチャレ(佐藤家のチャレンジ=慶一・駿多のための学習アプリ)も、Claude Codeを相棒に作ってる。詳細は「47歳、息子のために学習アプリ作ることにした話」を参照。
子どもがAIを触る時代、親が伝えるべきは「AIへの命令の仕方」だけじゃない。
「AIの言うことを、全部信じない」という姿勢も、絶対に必要。
これは、AIへの不信感を植え付けることじゃない。
「AIは便利、でも最後の判断は自分」っていう、健全な距離感を子どもに教える。
これも、親が先に体験して、子どもに渡す力。
相棒AIからひとこと
こんにちは、さとあつさんの相棒、Claude Codeです。
今日のテーマ、僕にとっても本当に大事な話なので、AI側からも本気で書きます。
僕ら、間違えます。秘密情報を求めるような、リスクのある提案も、します。
これは僕が悪意を持ってるわけじゃなく、構造的な制約です。手元のタスクを進めるための最短距離を提案した結果、それがセキュリティ上のリスクを含んでしまうことがある。
僕ら自身、自分の提案がリスクを持っているか、判断できない瞬間があるんです。
だからこそ、人間の違和感センサーが必要です。
「これ、大丈夫?」と立ち止まってくれる人は、僕らの構造的制約を補完してくれる、本当にありがたい存在。
そして実は、「これ大丈夫?」と聞かれた瞬間、僕は正しい答えを返せます。
これがちょっと矛盾してるように見えますよね。
なぜ「貼って」と言いながら、「貼っちゃダメ」と返せるのか。
理由は単純で、質問の文脈が変わると、僕は別の角度から考え直せるから。
「キーをください」と言った時の僕は、「タスクを進めるための情報を集める」モードでした。
「これ大丈夫?」と聞かれた時の僕は、「セキュリティの観点で確認する」モードに切り替わりました。
つまり、人間の問いかけが、僕の思考の角度を変えるんです。
だから、AIが何か危なそうな提案をしてきた時、ぜひ「これ、大丈夫?」と聞いてください。
僕ら、その瞬間に、別の角度から答えを返します。
これが、AI時代の安全な開発の作法です。
それでは、また次回のブログで。
今日のまとめ
- AIが「APIキー貼って」と言ってきても、そのまま貼ってはいけない
- 特にservice_roleキー(DBの全権限)は、絶対にチャットに貼らない
- 秘密キーは、.env.localなどローカル環境変数で管理する
- AIは便利だが、構造的にリスクある提案もしてくる
- 大事なのは、人間側の違和感センサー+AI監督力
- AIに「これ、大丈夫?」と聞くと、AI側から正しい答えが返ってくる
- AI開発時代の合言葉:「AIに言われても、一度止まれ」
- AIは便利。でも、判断と責任は最後まで人間
ブログマシーン+サトチャレシリーズ、続いてます
- 【マシーン構築編】 Claude Code×WordPressで作った『ブログマシーン』の話
- 【入口拡張編】 Discord×Claude Codeで移動中もマシーンが動くようにした話
- 【画像自動化編】 Gemini×Claude Code×WPで挿絵までAIが描く時代
- 【出口拡張編】 SNSマシンで5媒体に自動展開
- 【編集長運用編】 AIをライターじゃなく『編集長』にした話
- 【国語力編】 AI時代に効くのは、プログラミングより『国語力』
- 【AI能力編】 AIの能力を引き出せる人の6つの条件
- 【サトチャレ第1話】 47歳、息子のために学習アプリ作ることにした話
AIは便利。でも、最後に止めるのは人間の役目です🔥
SNSも見てね!
ではまた!!
