Claude Code 導入前のセキュリティチェックリスト|ソースコードとシークレットの扱い

この記事をシェア:
目次 クリックで開く

Anthropic社が提供を開始した「Claude Code」は、エンジニアが使い慣れたターミナルから直接対話できる強力なAIエージェントです。しかし、その強力なファイル操作能力やシェル実行権限は、エンタープライズ環境におけるセキュリティ担当者にとって「未知のリスク」として映ります。

特にソースコードの外部送信、APIキーなどのシークレットの扱い、そして自社コードがモデルの学習に利用されるかという懸念は、導入を阻む最大の障壁です。本稿では、IT実務者の視点から、Claude Codeを安全に業務に投入するためのセキュリティチェックリストと、具体的な設定手順を解説します。

Claude Code導入におけるセキュリティの全体像

Claude Codeは、単なるチャットツールではありません。ローカル環境のファイル構造を理解し、コードの書き換えやテストの実行までを自律的に行う「エージェント」です。そのため、従来のWebチャット型AI(Claude.ai)とは異なるリスク管理が求められます。

ターミナル型AIエージェント特有のリスクと対策

ブラウザ上で動作するAIと異なり、Claude CodeはOS上のファイルシステムに直接アクセスします。主なリスクは以下の3点に集約されます。

  • 過剰なコンテキスト送信:依存ライブラリやログファイルなど、不要なデータまでAnthropicのサーバーへ送信してしまう。
  • シークレットの混入:ハードコードされたAPIキーや環境変数ファイルをAIが読み込み、プロンプトの一部として送信してしまう。
  • 意図しないコマンド実行:AIが提案したシェルコマンドによって、重要なデータが削除されたり、外部へ流出したりする。

Anthropicのデータ取り扱いポリシー

実務担当者がまず確認すべきは、データの学習利用に関する公式見解です。Anthropicの商業向け利用規約(Anthropic Console経由のAPI利用)において、送信されたデータはデフォルトでモデルの学習に利用されません。Claude CodeはAnthropicのAPI(Messages API)をバックエンドに使用しているため、この規約が適用されます。

ただし、プロダクト改善のためのデータ保持(不正利用防止目的の30日間の保存など)は行われるため、そもそも「社外に出してはいけないデータ」をAIに読み込ませない設計が不可欠です。詳細はAnthropic公式のCommercial Termsをご確認ください。

【重要】ソースコードと機密情報の流出を防ぐガードレール設計

Claude Codeがどのファイルを読み、どのファイルを無視するかを制御することは、セキュリティの第一歩です。

.gitignoreとclaude.ignoreの優先順位と設定方法

Claude Codeは、プロジェクトルートにある .gitignore を尊重します。しかし、開発用には無視したいがAIには見せたい(あるいはその逆)というケースに対応するため、専用の claude.ignore ファイルを作成することを強く推奨します。

優先順位:

claude.ignore (最優先)

.gitignore

具体的には、以下のようなファイルを claude.ignore に記述し、AIの視界から完全に遮断します。


セキュリティ上必須の除外

.env
.env.*
*.pem
id_rsa
secrets.json

重いバイナリや不要なコンテキスト

node_modules/
dist/
build/
*.log

シークレットスキャンツールの併用

AIに渡す前に、人間が「うっかり」コミットしたり残したりした秘密情報を検知する必要があります。Claude Codeを起動する前のプリチェックとして、TruffleHogやgitleaksといったオープンソースのスキャンツールをCI/CDやローカルのGit Hookに組み込むのが理想的です。

企業内でのSaaS利用が増える中で、こうしたアカウント管理やシークレットの扱いはより複雑化しています。退職者による不正アクセスリスクも含め、ID管理の自動化については以下の記事が参考になります。

SaaS増えすぎ問題と退職者のアカウント削除漏れを防ぐ。Entra ID・Okta・ジョーシスを活用した自動化アーキテクチャ

Claude Codeの権限管理と実行制御

Claude Codeは対話の中で「このコマンドを実行してもいいですか?」と尋ねてきます。このプロンプトに対する人間の「y」という応答が、セキュリティの最後の砦となります。

シェル実行の承認プロセスと自動化のリスク

Claude Codeには --yes のような自動承認オプションが(現時点では標準で)制限されています。これは意図的な設計であり、AIが rm -rf /curl -X POST ... といった破壊的・流出的なコマンドを勝手に実行するのを防ぐためです。実務運用においては、以下のルールを徹底してください。

  • コマンド内容の目視確認:特に curlwget による外部通信が含まれていないかを確認する。
  • サンドボックス環境での利用:極めて高いセキュリティが要求されるプロジェクトでは、Dockerコンテナ内や制限されたVM内でのみClaude Codeを起動する。

ネットワークアクセス制限の検討

プロキシ環境下でClaude Codeを利用する場合、特定のドメイン(https://www.google.com/search?q=api.anthropic.comなど)へのアクセスのみを許可し、それ以外の不審なアウトバウンド通信をFirewallレベルで遮断する構成が有効です。

競合ツールとのセキュリティ仕様比較

導入検討時に必ず問われるのが、GitHub CopilotやCursorといった既存ツールとの違いです。各ツールのセキュリティ特性を以下の表にまとめました。

比較項目 Claude Code GitHub Copilot (Enterprise) Cursor (Pro以上)
データ学習利用 API経由のため原則なし 設定により除外可能 プライバシーモードで除外可能
主なインターフェース CLI (ターミナル) IDE (VS Code/JetBrains等) IDE (VS Codeフォーク)
無視ファイルの制御 .gitignore / claude.ignore .copilotignore .cursorignore
実行権限 シェルコマンド実行可能 基本はコード提案のみ ターミナル統合(手動実行)
認証管理 Anthropic API Key GitHub Account (SSO可) Cursor Account / API Key

このように、Claude Codeは「CLIベースで広範な操作権限を持つ」点が特徴であり、その分、利用者側のリテラシーと制御設定が重要になります。

導入前チェックリスト:社内承認を得るための10項目

セキュリティ担当者や法務との合意形成に役立つ、実務的なチェックリストです。

1. データの保護と学習

  • [ ] Anthropicの「Commercial Terms」に同意し、API経由で利用しているか?
  • [ ] データが学習に転用されない設定(デフォルト)を確認したか?

2. アクセス制御と除外設定

  • [ ] プロジェクトごとに claude.ignore を配置しているか?
  • [ ] .env ファイルなどの秘匿情報が .gitignore に含まれているか?
  • [ ] 開発メンバーのAPIキーの権限を最小化(Least Privilege)しているか?

3. インシデント対応と監査

  • [ ] Anthropic Consoleから利用ログ(使用量・頻度)を監視できる体制か?
  • [ ] 意図しないコード流出が判明した際の、APIキー無効化フローが決まっているか?

4. 環境分離

  • [ ] 本番DBへの接続情報が含まれる環境で不用意に実行していないか?
  • [ ] 個人PCではなく、会社支給の管理された端末で利用しているか?

例えば、経理システムなどの基幹データを取り扱うプロジェクトでAIを導入する場合、データの整合性や機密性はより厳格に管理されるべきです。以下の記事では、会計ソフトと他システムの連携におけるデータ責務の分解について解説していますが、AI導入時にも同様の「どのデータまでをAIに見せるか」という責務分解の考え方が応用できます。

【完全版】「とりあえず電帳法対応」で導入したシステムが経理を殺す。Bill One等の受取SaaSと会計ソフトの正しい責務分解

運用フェーズでのセキュリティ監査とブラッシュアップ

Claude Codeを一度導入して終わりではなく、継続的な監視が必要です。Anthropic ConsoleではAPIのリクエスト数やトークン消費量がリアルタイムで把握できます。異常な消費(スパイク)が発生している場合、AIが無限ループに陥っているか、あるいは大量のファイルを意図せずスキャンしている可能性があります。

また、ビジネスプロセスの自動化において、AIエージェントは非常に強力な武器になりますが、その「自動化の設計図」自体がセキュアである必要があります。データ基盤を中心としたアーキテクチャ設計については、以下の記事も非常に示唆に富んでいます。

高額MAツールは不要。BigQueryとリバースETLで構築する「行動トリガー型LINE配信」の完全アーキテクチャ

.claudeignore の実用的な設定例(コピペで使える)

「claude ignore」(28imp/9.4位)「anthropic claude code .claudeignore」(4imp/6.7位)のクエリで本記事への流入があります。実プロジェクトで安全運用するための.claudeignoreテンプレートを共有します。

基本テンプレート(すべてのプロジェクトで必須)

# === シークレット・認証情報(絶対に渡してはいけない) ===
.env
.env.*
*.pem
*.key
*.crt
*.p12
secrets.json
credentials.json
service-account*.json
*.gpg
.npmrc
.netrc
.pypirc
~/.aws/credentials
~/.gcloud/

# === API キー含む設定ファイル ===
config/secrets/
config/production.yml
config/database.yml
appsettings.Production.json
*.config.local

# === 個人情報含む可能性がある領域 ===
data/
exports/
logs/
backups/
*.csv
*.xlsx
*.sql
*.dump

# === ビルド成果物・依存関係(容量・トークン節約) ===
node_modules/
.next/
.nuxt/
.cache/
dist/
build/
target/
.gradle/
.venv/
venv/
__pycache__/
*.pyc
.tox/
.pytest_cache/
.mypy_cache/

# === Git・IDE・OS 設定 ===
.git/
.svn/
.hg/
.vscode/
.idea/
*.iml
.DS_Store
Thumbs.db

# === ログ・テンポラリファイル ===
*.log
*.tmp
tmp/
temp/

# === コンテナ・インフラ機密 ===
docker-compose.production.yml
kubeconfig
*.tfstate
*.tfstate.backup
.terraform/
ansible-vault.yml

業界別の追加設定

  • 金融業界:取引データ・口座番号 CSV・取引明細・KYC関連を追加除外
  • 医療業界:患者データ CSV・診療記録・処方データを追加除外
  • EC・小売:顧客住所一覧・購買履歴 CSV・カード情報サンプルを追加除外
  • SaaS事業:顧客テナントデータ・利用履歴・API監査ログを追加除外

シークレットスキャンの自動化(CI/CD 統合)

「Claude Code に渡す前のチェック」だけでなく、「シークレットを誤って Git にコミットする前のチェック」も同時に整備すべきです。標準的なツールチェーンを共有します。

主要シークレットスキャンツール

ツール 料金 特徴
git-secrets 無料(OSS) AWS公式・git pre-commit hook
detect-secrets 無料(OSS) Yelp公式・多言語対応・baseline管理
truffleHog 無料/有料 過去コミット履歴も検査
GitGuardian $15〜/開発者 SaaS型・350+検出パターン
GitHub Advanced Security $49/開発者 GitHub統合・自動修正提案

pre-commit hook での実装例

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/Yelp/detect-secrets
    rev: v1.4.0
    hooks:
      - id: detect-secrets
        args: ['--baseline', '.secrets.baseline']
        exclude: package.lock.json

# 初回セットアップ
$ pip install pre-commit detect-secrets
$ detect-secrets scan > .secrets.baseline
$ pre-commit install

Claude Code の「権限承認」設計:自動化と安全のバランス

Claude Code はシェル実行・ファイル削除・外部ネットワーク通信のたびに人間の承認(y/n)を求めます。この承認を「すべてYes」にすると安全性が崩壊しますが、毎回確認も生産性が落ちます。バランスの取り方を整理します。

承認モードの3段階運用

  • Strict(厳格モード):すべての操作で個別承認。新人エンジニア・本番環境・機密プロジェクトで使用
  • Standard(標準モード):読み取りは自動承認、書き込み・削除・実行は個別承認。日常開発で推奨
  • Auto(自動モード):「ホワイトリスト化された安全コマンド」のみ自動実行。経験豊富な開発者の生産性向上用途

Auto モードのホワイトリスト例

# settings.local.json - 自動承認するコマンドパターン
{
  "permissions": {
    "allow": [
      "Bash(npm install)",
      "Bash(npm test)",
      "Bash(git status)",
      "Bash(git diff)",
      "Bash(git log)",
      "Bash(ls *)",
      "Bash(cat *)",
      "Bash(grep *)",
      "Read(*)",
      "Edit(*.ts)",
      "Edit(*.tsx)",
      "Edit(*.md)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl * | sh)",
      "Bash(wget * | sh)",
      "Bash(sudo *)",
      "Edit(.env*)",
      "Edit(*.key)",
      "Edit(secrets/*)"
    ]
  }
}

多要素認証(MFA)と SSO 統合

「claude 多要素認証」(10imp/4.2位)「claude sso login」(10imp/8位)のクエリで本記事への流入があります。Claude Code の認証強化の現状を整理します。

Anthropic の認証オプション

  • 個人ログイン:メールアドレス + パスワード + MFA(推奨)
  • Google / GitHub SSO:個人プランで利用可能
  • Enterprise SSO(SAML 2.0):Anthropic Enterprise プラン必須。Okta / Azure AD / Google Workspace と統合
  • API キー認証:個別開発者向け、組織管理機能はEnterprise必須

組織での Claude Code 利用時の認証統一

  • Anthropic Enterprise契約:年間契約で Workspace 経由のSSO・SCIM対応
  • 退職時の権限剥奪:SSO 切断で即時 Claude Code 利用不可に
  • API キー管理:組織でのAPIキー発行・回収プロセス整備

実プロジェクトで使える Claude Code 業務活用テンプレート

「claude code 経費精算」「claude code vba」「claude code kintone」「claude code rpa」「claude code 不動産」「claude code apex」「claude code power automate」「claude code 領収書」「claude code 会計」など、業務活用のクエリが多数。実用テンプレートを業務別に整理します。

1. Excel/VBA → モダン環境への変換

  • VBA → Python 移植:Claude に VBA コードを渡し、pandas + openpyxl で再実装
  • VBA → Power Automate フロー:自動化ロジックを Power Automate のクラウドフローに変換
  • VBA → Apps Script:Google Sheets 環境への移植

2. 会計・経費精算データ処理

  • 領収書 OCR データの整形:OCR 結果(CSV)を Claude に渡し、勘定科目を自動分類
  • 仕訳データのバリデーション:弥生・freee・MF からエクスポートした仕訳データの異常値検出
  • 消費税区分の自動判定:取引内容から軽減税率対応・課税区分を提案

3. Salesforce Apex 開発

  • Apex Trigger 生成:要件を伝えると Apex コード + テストコードを生成
  • Lightning Component(LWC)開発:要件 → JavaScript + HTML + CSS の一括生成
  • Salesforce Flow → Apex への変換:複雑なフローをコード化

4. kintone カスタマイズ JavaScript

  • kintone JS カスタマイズ:要件 → kintone JavaScript API を使ったコード自動生成
  • kintone REST API クライアント:Python / Node.js での連携コード生成
  • kintone から外部 SaaS への自動連携:Salesforce / freee 等への連携スクリプト

5. RPA 代替の Python スクリプト

  • Selenium / Playwright:Web 操作の自動化
  • pyautogui:デスクトップアプリ操作
  • RPA からの脱却:UiPath / WinActor のシナリオを Python に書き換え

セキュリティインシデント時の対応プロセス

万が一、Claude Code 経由で機密情報が漏洩した場合の対応プロセスを事前に整備しておきます。

インシデント発生時の初動(1時間以内)

  1. 該当ユーザーの Claude Code 利用を即時停止(API キー無効化 / SSO 切断)
  2. 漏洩した可能性のある情報の特定と影響範囲の把握
  3. Anthropic への報告(30日間のデータ保存があるため、削除依頼)
  4. 社内責任者(情シス・法務・経営層)への報告

72時間以内の対応

  • 漏洩した認証情報(APIキー・パスワード等)の即時ローテーション
  • 影響を受けたシステムのログ監査
  • 個人情報保護委員会への報告(個人情報漏洩時、個情法 72時間以内ルール)
  • 取引先・関係者への通知

事後の改善

  • インシデント原因の分析・再発防止策の策定
  • .claudeignore の見直し・追加設定
  • 従業員向けセキュリティ研修の追加実施
  • 承認フロー・権限設計の見直し

関連ガイド・クラスター

まとめ:安全にClaude Codeの生産性を享受するために

Claude Codeは、正しく設定し、適切なガードレールを設けることで、開発スピードを数倍に引き上げる可能性を秘めています。しかし、その魔法のような利便性の裏には、従来のIDEプラグイン型AIよりも深い階層へのアクセス権限があることを忘れてはなりません。

本稿で紹介した claude.ignore の徹底、シェルコマンドの目視確認、そしてチェックリストによる社内合意形成を実践することで、リスクを最小化しながら最新のAI技術をビジネスに活用してください。セキュリティは「禁止」するためのものではなく、新しいツールを「安全に使い倒す」ための土台なのです。

実務導入前に知っておくべき補足事項

Claude Codeを実務に投入する際、技術的な設定以外に「コスト構造」と「初期セットアップ」の2点で躓くケースが多く見られます。スムーズな社内承認と運用のために、以下のポイントを押さえておきましょう。

1. 従量課金コストの試算と予算管理

Claude Code自体の利用は無料(ベータ期間中)ですが、バックエンドで動作するAnthropic API(Claude 3.5 Sonnet等)の利用料が発生します。特にAIエージェントは、タスク解決のために何度もコンテキストを読み直すため、通常のチャットUIよりもトークン消費が激しくなる傾向があります。

  • コストの壁: 1プロジェクトの全コードを読み込ませた状態で、頻繁にリファクタリングを命じると、1日で数千円規模のコストがかかる場合があります。
  • 対策: Anthropic Console側で「Usage limits(月間予算上限)」を設定し、不測の事態を防いでください。

2. 初回起動時の「T-H-L」ポリシーの確認

Claude Codeをインストールした直後、初期設定フローの中で利用規約への同意が求められます。ここで重要なのは、開発環境が「完全に独立しているか」の再確認です。以下のステップに沿って、初回起動前の最終確認を行いましょう。

ステップ 実行アクション セキュリティ上の目的
1. 環境変数の隔離 export ANTHROPIC_API_KEY を専用のシェルプロファイルに記述 APIキーの不用意な露出を防ぐ
2. 疎通確認 claude –version で動作確認のみ行う インストールパッケージの整合性確認
3. インベントリ除外 claude.ignore がカレントディレクトリにあるか確認 AIによるファイルスキャン範囲の限定

公式リソースとさらなるデータ活用

Claude Codeの最新仕様や詳細な技術リファレンスについては、以下の公式ドキュメントを必ず参照してください。

Claude Code Official Documentation (Anthropic)

また、Claude Codeを用いて構築したアプリケーションのデータを、将来的にマーケティングや顧客分析に活用する場合、早期から「データの出口」を設計しておくことが重要です。高額なツールを導入する前に、以下の記事で解説している「モダンデータスタック」の考え方を学ぶことで、拡張性の高いシステム構成を検討できます。

高額なCDPは不要?BigQuery・dbt・リバースETLで構築する「モダンデータスタック」ツール選定と公式事例

AIエージェントによる開発の高速化と、セキュアなデータ基盤の構築は、DX推進の両輪です。本稿のチェックリストと合わせて、自社に最適なアーキテクチャを模索してください。

実運用における「よくある誤解」とセーフティネット

Claude Codeの導入検討において、情報システム部門やセキュリティ担当者から「AIが勝手にソースコードを書き換えて、勝手にデプロイしてしまうのではないか」という懸念が寄せられることがありますが、これは半分正しく、半分は誤解です。

AIの「自律性」に関する正しい認識

Claude Codeは自律的に動作する「エージェント」ですが、全ての破壊的操作(ファイルの削除、外部への書き出し、シェルコマンドの実行)には人間の明示的な承認(y/n)が必要です。現在の仕様では、人間がコマンドを一つひとつ確認することを前提として設計されています。

  • 誤解1:バックグラウンドで勝手にGitのpushが行われる。
  • 対策:Claude Codeが提案するコマンドに git push が含まれている場合、必ず承認プロンプトが表示されます。これを「目視確認」することが運用上の必須ルールです。
  • 誤解2:全てのファイルがAnthropicに送られる。
  • 対策:前述の claude.ignore で指定したファイルは、スキャン対象からも完全に除外されます。

権限と動作の確認チェックリスト

項目 デフォルトの挙動 実務上の注意点
読み取り権限 カレントディレクトリ以下すべて 不要なバイナリ、ログ、.gitディレクトリの除外設定を推奨。
書き込み権限 承認後に実行 上書きされたコードは、必ずIDEの差分確認(Diff)で人間が最終検収を行うこと。
外部通信 ツール内で制御 curl 等の通信を伴うコマンド実行時は、送信先URLに機密情報が含まれないか要確認。

公式リソースによる最新情報の確認

Claude Codeは急速に進化しているベータ版プロダクトです。最新のセキュリティプロトコルやデータの取り扱い詳細については、Anthropicが公開している以下の公式情報を定期的に参照してください。

また、Claude Codeのような強力なツールを「どの範囲の業務に適用するか」という判断は、企業のIT資産全体のアーキテクチャ設計に依存します。例えば、Webフロントエンドからバックエンドのデータ連携まで、AIに任せる「責務」の範囲を整理するには、以下の全体設計図が参考になります。

【図解】SFA・CRM・MA・Webの違いを解説。高額ツールに依存しない『データ連携の全体設計図』

セキュリティを担保しつつ開発を加速させるためには、ツールの導入だけでなく、こうした「データの流れ」を人間が正しく定義し続けることが、AI時代のシステム管理の肝となります。

AI・業務自動化

ChatGPT・Claude APIを活用したAIエージェント開発、n8n・Difyによるワークフロー自動化で繰り返し業務を削減します。まずはどの業務をAI化できるか診断します。

AT
aurant technologies 編集

上場企業からスタートアップまで、数多くのデータ分析基盤構築・AI導入プロジェクトを主導。単なる技術提供にとどまらず、MA/CRM(Salesforce, Hubspot, kintone, LINE)導入によるマーケティング最適化やバックオフィス業務の自動化など、常に「事業数値(売上・利益)」に直結する改善実績多数。

この記事が役に立ったらシェア: