Blog
ブログ
AI時代のセキュリティのもっと基本

🗝 APIキーって何?
超ざっくり言うと、「サービスを使うための合鍵」みたいなもの。
例えば OpenAI API を使う時、
sk-xxxxxxxxxxxxxxxx
みたいなキーが発行される。
このキーを持っている人は、
- あなたの契約経由で
- AIサービスを利用できて
- 利用料金もあなたに請求される
状態になる。
つまり、クレカ直結の合鍵に近い。
⚠️ なぜ危険なの?
普通のパスワードって、
「ログイン画面で入力するもの」
だから漏らしちゃダメ感が強い。
でも APIキーって、
.env- config
- AIツール
- GitHub
- Slack
みたいな場所に自然に置かれる。
だから、「危険なものを扱ってる感覚」が薄いのがかなり怖い。
💥 実際どう漏れるの?
.env をそのままAIに渡す
これかなりありがち。
例えば:
「エラー出たので見てください」
って AI にファイル丸ごと渡す。
でもその .env の中に:
- APIキー
- DBパスワード
- 外部サービス認証情報
が入ってたりする。
つまり、デバッグのつもりで秘密情報を全部渡してる状態。
GitHubに上げる
例えば:
.env- config
- secrets
を含んだまま GitHub に push。
すると、bot が数分単位でAPIキーを探してるらしい。
実際、APIキー流出から17分で不正利用開始みたいなケースもある。
「ちょっとテスト用で公開しただけ」が普通に事故になる。
SlackやLINEに貼る
これもかなりやりがち。
でも:
- Slack
- Discord
- LINE
- Notion
みたいなツールって、クラウド同期されてる。
つまり、「ローカルのメモ帳感覚」で貼ると危険。
🤖 最近のAIツールは権限が強い
ここが昔とかなり違う。
最近のAIツールって、
- コード読む
- ファイル編集
- ターミナル実行
- Git操作
- Browser操作
- MCP接続
までできる。
つまり、「補助ツール」というより、
「かなり権限の強い作業員」に近い。
🔌 API と MCP の違い
🧩 API:サービスの操作窓口
例えば Shopify に:
- 商品取得
- 在庫更新
- 注文取得
をお願いしたいとする。
その時、
https://api.shopify.com/...
みたいな専用窓口へアクセスする。
これが API。
つまり API は、
「外部サービスを操作する入口」
みたいなもの。
🔗 MCP:AIがその窓口を使えるようにする仕組み
MCP は、
「AIが外部ツールを扱うための橋渡し」
みたいな感じ。
例えば Claude Code に:
- GitHub見せる
- Slack読ませる
- Shopify触らせる
時、AIは:「そのサービスをどう使えばいいか」を知らない。
そこで MCP が:
- この操作で取得
- この形式で送信
- この権限が必要
みたいなルールを教える。
だから最近怖いのは、AIそのものというより、
AIが外部サービスを自動操作できるようになったこと
⚠️ 一番危ないのは「全部OK」
便利だからって:
- 全権限
- 全アクセス
- 全許可
にすると、
「動くけど危険」
状態になりやすい。
最近かなり感じるのが、
「動く」と「安全」は別
ということ。
🧠 最近の考え方
最近は、「完全防御」より、
「被害範囲を小さくする」
考え方が重要っぽい。
例えば:
- AI用tokenを分ける
- API権限を最小化
- 本番deployを分離
- 強い鍵を共通領域に置かない
.envをGitHubに上げない
みたいな感じ。