「機密情報を扱うならオンプレミスでないと無理」と考える方は多いですが、実際には扱う情報の種類と設定次第で、多くの業務でClaude Codeを使えます。
この記事では、自社の設計資料や社内コードをClaude Codeに扱わせるときに、事前に決めておくべき前提を整理します。セキュリティの全体像はClaude Codeのセキュリティ 企業が導入前に確認すること、学習利用とデータ送信の停止設定はClaude Codeに学習させない・データを送らない設定にまとめています。
情報の種類で前提が変わる
すべての情報を同じ基準で扱う必要はありません。
- 一般公開されている情報(ライブラリの使い方、サンプルコード、公開仕様)— 商用プランを選べば、大きな制約なく扱えます
- 社外に出せない情報(自社の設計資料、顧客データ、未公開プロダクトのコード)— 読ませる範囲の限定、記録が残る運用、権限設定の3点を整えます
まず自社のコードとデータをこの2種類に仕分けし、後者について以下を決めます。
読ませてよい範囲を決める
Claude Codeが書き込みできるのは、起動したフォルダとそのサブフォルダに限られます。親ディレクトリのファイルは、明示的に許可しない限り変更できません。
読み取りについては、Read・Grep・Glob ツールを使えば承認プロンプトの後にこの境界の外も読めます。プロンプトを省略して範囲を広げたい場合は「追加ディレクトリ」で境界を拡張します。
機密情報を扱うときの基本は次のとおりです。
- 機密リポジトリは、他のプロジェクトと混ざらない専用のフォルダで起動する
- 読ませる必要のない資格情報ファイルや秘密鍵を、作業フォルダの外に置く
- 追加ディレクトリでむやみに範囲を広げない
権限モードを理解する
Claude Codeはデフォルトで読み取り専用です。ファイルの編集やコマンドの実行が必要になるたびに、利用者に承認を求めます。承認は1回だけにするか、自動的に許可するかを選べます。
- デフォルト — 読み取り専用から始まり、変更・実行のたびに確認
- Accept Edits モード — 作業ディレクトリ内のファイル編集と、
mkdir・touch・rm・mv・cpなどの決まったコマンドを自動承認。範囲外のパスとその他のコマンドは確認 - サンドボックス/dev container — ファイルシステムとネットワークを分離した環境で実行
機密リポジトリでは、Accept Edits を安易に使わず、プロジェクト固有の権限設定を用意します。設定は /permissions で定期的に監査します。
生成コードは脆弱性を前提にレビューする
入力側の管理に注目が集まりがちですが、出力されたコードをそのまま使ってよいかも同じくらい重要です。
AIが生成したコードは、動くように見えても次を含むことがあります。
- 入力値の検証が不十分で、想定外のデータを受け付ける
- 認証や権限のチェックが抜けている
- 古い書き方や、非推奨のライブラリを使っている
- エラー処理が省略され、障害時の挙動が読めない
対策は、静的解析と依存パッケージの脆弱性チェックをCIに組み込み、そのうえで開発者がレビューする体制です。Claude Code にはセッション中に自身の変更の脆弱性をレビューして修正する仕組みもあります。レビュー観点の標準化はAIレビューの限界とは 249項目チェックリストの企業活用術で扱っています。
プロンプトインジェクションに備える
外部のWebページやファイルに、AIへの指示を紛れ込ませる攻撃をプロンプトインジェクションと呼びます。Claude Codeには複数の対策があります。
- 機密操作には明示的な承認が必要
curlやwgetなどWebからコンテンツを取得するコマンドはデフォルトでは自動承認されない- Web fetch は、悪意ある指示の注入を避けるため別のコンテキストで処理される
- 初回のコードベース実行と新しいMCPサーバーには信頼確認が必要
運用側では、信頼できないコンテンツをClaudeに直接パイプしない、提案されたコマンドを承認前に確認する、重要ファイルへの変更を確認する、外部サービスと対話する処理はVMやdev containerで実行する、といった基本的な習慣を徹底します。
組織で標準化する
各自の設定に任せず、組織の標準として権限設定を適用するには、管理設定(managed settings)を使います。承認済みの権限設定はバージョン管理で共有し、セッション中の設定変更を監査・ブロックする仕組みもあわせて使います。
MCPサーバーは、自作するか信頼できるプロバイダーのものを使い、許可リストをソースコードにチェックインして管理します。
こうした運用を社内に定着させ、自社に必要なAIツールを内製できる状態にする進め方はAI内製化の進め方 「使う」から「作る」へで整理しています。
よくある質問
Q. オンプレミス環境でないと社内コードは扱えませんか
A. そのようなことはありません。商用プランの契約、読ませる範囲の限定、記録が残る運用、権限設定の4点を整えれば、多くの業務で扱えます。特に厳しい要件がある場合のみ、ゼロデータ保持の可否を確認します。
Q. 秘密鍵やパスワードを誤って読ませてしまうのが不安です
A. それらのファイルを作業フォルダの外に置き、追加ディレクトリで範囲を広げないのが基本です。認証情報はOSの資格情報ストアで保護されます。
Q. 生成されたコードはそのまま本番に入れてよいですか
A. 推奨しません。入力値の検証漏れや権限チェックの欠落を含むことがあるため、人によるレビューとCIでの自動検査を通してください。
Q. 非エンジニアが機密リポジトリで使っても大丈夫ですか
A. 権限設定とレビュー体制を整えたうえでなら可能です。何を入力してよいかの線引きを最初に決めることが前提になります。
まとめ
Claude Codeで機密情報・社内コードを扱うときの前提は次のとおりです。
- 自社のコードとデータを「公開情報」と「社外に出せない情報」に仕分ける
- 機密リポジトリは専用フォルダで起動し、資格情報は作業フォルダの外に置く
- 権限は読み取り専用から始め、機密リポジトリではプロジェクト固有の設定を使う
- 生成コードは脆弱性を前提に、レビューとCIを通す
- 外部コンテンツは直接パイプせず、承認前にコマンドと変更を確認する
当社の法人向け研修では、この前提を踏まえた運用を演習で身につけます。カリキュラムをまとめた資料は下のリンクから無料でダウンロードいただけます。
参考文献
- Claude Code Docs「Security(セキュリティ)」 https://code.claude.com/docs/ja/security
- Claude Code Docs「Permissions(権限設定)」 https://code.claude.com/docs/ja/permissions
- Claude Code Docs「Data usage(データの取り扱い)」 https://code.claude.com/docs/ja/data-usage
(権限モデル・保護機能の仕様は改定されることがあります。運用ルールを決める前に、各URLの最新版を確認してください。URLが変わっている場合はこちらで差し替えます。)