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に上げない

みたいな感じ。

参考

https://x.com/ai_security_CT/status/2054170493612433910