セキュリティ設定一つでMVP全体が丸裸になる可能性があります
最近ではClaudeやCursorのようなAIツールを1~2つうまく組み合わせれば、MVPはあっという間に完成する。GPTが言葉を美しく整え、Claudeは質問に感動的に答え、Cursor IDEは思考をコードに変換してくれる。
20年目のベテラン開発者も「いやあ、世の中本当に良くなったな」と話す。非開発者の私でもMVPサーバーをあっという間に作れるのを見ると、C言語で開発してきた先輩の立場からすれば悔しいだけだ。しかし、私たちがAIと交わした会話やコードがどこに保存され、どこへ送信されるのかはよく分かっていない。
Claudeは基本的に30日間ログを保管し、Cursorはデフォルト設定状態でリポジトリ全体の情報が外部に送信される可能性がある。それでも大半はこの便利さに安心し、セキュリティ設定には無頓着だ。
しかしセキュリティ事故の大半はハッキングではなく、「設定していないために発生する問題」だ。
1. 観察する:実際の漏洩は技術よりも「設定ミス」から発生する
ClaudeとCursorはAI業務自動化において非常に有用だが、デフォルト設定のまま使用すると情報漏洩リスクが常に存在する。
✅ 核心的な問題
- Claude APIはデフォルトで30日間プロンプト及び応答データを保存する
- Cursor IDEはPrivacy Mode OFF状態で作業ログとコード断片が外部サーバーへ送信される
- ユーザーはこれを認識せずに機密データを入力するケースが多い
📌 漏洩事例シナリオ1
ClaudeにAPIキーを含むリクエストを送信した場合 → ログにそのまま保存される
✅ 状況
ユーザーがClaudeに以下のように直接APIの使用方法を尋ねる状況:
이 API 키로 사용자 리스트 가져오려면 어떻게 해야 해?
API Key: sk-test-51a23abc456defg789
⚙ 動作原理
- Claude API(MCP)はデフォルトでプロンプトと応答ログを30日間保存します。
- 別途契約(Enterpriseプラン)または設定なしで使用する場合、該当サーバーに保管されます
- Claudeシステム上、Anthropic内部運用チームは当該ログにアクセス可能(エンタープライズプラン以外の場合)
🧨 発生経路
- プロンプトに含まれるAPIキー → Claudeに送信される
- Claude APIサーバーが内容を自動記録
- ログは30日間保管され、内部監査・デバッグ時に閲覧可能
- 外部からの侵害がなくとも、内部監査やエラーデバッグ時に露出する可能性がある
📊 リスク評価
| 項目 | リスクレベル |
|---|---|
| 漏洩範囲 | APIキー1件 → 全サーバーへのアクセス可能性 |
| 内部への露出可能性 | Anthropic内部運営チームがアクセス可能 |
| 外部への漏洩可能性 | 低 (直接的なハッキングはないがセキュリティが脆弱) |
| ミス発生可能性 | 高 (開発者、企画者、マーケター全員がGPTに質問する習慣あり) |
📌 漏洩事例シナリオ2
CursorでプライバシーモードOFF → 全コード自動アップロード
✅ 状況
- Claude連携プロンプト作成
.env,config.json,api_keys.pyなどが含まれるリポジトリをインデックス化
⚙ 動作原理
- プライバシーモードOFF状態では作業履歴がCursorログ+Fireworks等の外部サーバーへ送信される
- リポジトリインデックス化時、全体構造がチャンク単位で外部アップロードされる
- フィルタリングなし
.env、機密ファイルを含む可能性あり
🧨 発生経路
- 機密ファイルを含むリポジトリをインデックス化
- カーソルが自動的に解析・保存
- サードパーティサーバーにコード構造と設定値の一部が送信される
- 外部サーバーのログ保管期間により最大30日以上保存される
📊 リスク評価
| 項目 | リスクレベル |
|---|---|
| 漏洩範囲 | プロジェクト全体の構造 + 機密設定値 |
| 内部への露出可能性 | Cursorチームまたは連携された外部プラットフォームへのアクセス可能性 |
| 外部への露出可能性 | 中間者攻撃またはAPI連携の問題発生時に発生可能 |
| ミス発生可能性 | 非常に高い(初期状態がデフォルトでONであり、通知不足) |
2. 接続する:Claude + Cursor + ユーザーの習慣が生む三重のリスク
実際の情報漏洩は単一ツールの問題ではなく、Claude API + Cursor IDE + ユーザー行動が連動した際に発生する。
三つの構成要素の同時露出は予期せぬセキュリティ脆弱性を生み出す。
構成要素 | 主なリスク |
|---|---|
| Claude MCP | – デフォルト で30日間のログ保存- ツール 登録時に危険なコマンド実行の可能性- 設定不備の場合、送信履歴が削除されない |
| Cursor IDE | – プライバシーモードOFF時:ログ 保存+外部送信- 全リポジトリインデックス化時:セキュリティファイル包含リスク |
| ユーザーの習慣 | – 会議 中のプロンプト画面共有- キャプチャ 画像によるAPIキー漏洩- Slack/Notionへの機密コード断片共有 |
🎯 核心インサイト
ツールのセキュリティ → IDE設定 → 人の習慣の三つが同時に緩んだ時、実際のセキュリティインシデントは静かに発生する。
3. 原理の発見:最も頻繁に発生するミス
実際の漏洩はほとんど「習慣」に起因する
| 誤った習慣 | 発生可能性のあるリスク |
|---|---|
| ClaudeにAPIキーを直接入力 | サーバーへのアクセス権限の漏洩 |
| カーソルプライバシーモードOFF | プロジェクト全体のログ送信 |
GitHubへの .env アップロード | サービス全体公開 |
| プロンプトに実際のURL/パスを入力 | 競合他社へのサービス構造漏洩 |
4. セキュリティ安全の実践:Claude MCP + Cursor セキュリティチェックリスト
Claude API
- EnterpriseプランでZero-Retention設定をリクエスト
- フロントエンドから直接呼び出さず、バックエンドでのみAPI呼び出し
- プロンプトへのAPIキー、URL、製品名の直接入力禁止 →
<<KEY>>,<<URL>>使用
MCP Tool
- 登録時、JSONスキーマの必須適用
- 結果はSandboxで先に実行
- ツール権限は読み取り/書き込みを分離して設定
Cursor IDE
- プライバシーモードON必須
- インデックス作成時はREADMEレベルまでのみ許可
.cursorignore以下を含む:
.env
credentials.json
secret.py
組織のセキュリティポリシー
- 重要文書はGit-cryptまたはAgeで暗号化保存
- 外部協力者はNDA締結 + アクセス権限の最小化
- 四半期ごとのレッドチームセキュリティ検査を実施
