キーワードを入力してください(記事タイトル・タグ・カテゴリ)

メルマガ無料登録
せとうちAI

Claude Codeのセキュリティ対策の基本:最初にやる7つの設定【設定ファイル付き】

プロダクト開発·2026.08.30·12 min read·
Claude Codeとセキュリティ対策|せとうちAI
赤木 孝臣

SETODEZA合同会社 代表 / せとうちAI 編集長

赤木 孝臣

BBT大学卒業。システム開発・スタートアップ支援・マーケティングを経て生成AI事業を開始。SETODEZA合同会社代表として岡山・香川の中小企業へのAI導入を支援するほか、岡山市ももスタ「NoCodeBootCamp」を運営。せとうちAIの企画・編集を担当。

Claude Codeを安全に使うためのセキュリティ対策の基本を7ステップで整理。機密情報の読み取り・外部送信・破壊的コマンドを防ぐ許可/拒否設定を、そのまま貼れるsettings.json付きで解説します。

この記事の要点

  • Claude Codeは、AIにファイル編集やコマンド実行を任せる道具。だからこそ「どこまで触らせるか」を最初に決めておくのが安全の基本です
  • 気をつけるリスクは大きく3つ。①機密情報の読み取り ②意図しない外部送信 ③破壊的なコマンドの実行
  • 対策は難しくありません。~/.claude/settings.json に許可(allow)と拒否(deny)を書き、サンドボックスを有効にするだけで大半を防げます
  • この記事では、最初にやっておきたい7つの設定を、そのまま貼れる設定ファイル付きで紹介します
  • 設定のキー名やUIはバージョンで変わることがあります。あわせて公式ドキュメントも確認してください

Claude Codeは、日本語で指示するだけでコードの作成・修正・コマンド実行までAIが進めてくれる便利な道具です。一方で、AIに実行の権限を渡す道具でもあります。何も設定しないまま使うと、うっかり機密ファイルを読まれたり、意図しない操作をされたりするリスクがあります。

とはいえ、身構える必要はありません。最初に少しだけ設定しておけば、危険な操作だけを止めつつ、安全な作業は快適に任せられます。この記事では、Claude Codeを仕事で使う人向けに、セキュリティ対策の基本を7ステップで整理します。

Claude Codeで気をつけるべき3つのリスク

まず、何から守るのかを整理します。

リスク具体例
機密情報の読み取りSSH鍵・クラウドの認証情報・.envのAPIキーをAIが読んでしまう
意図しない外部送信curlなどで、データが知らないうちに外部へ送られる
破壊的なコマンドrm -rfのような、取り返しのつかない削除が実行される

この3つを塞ぐのが、対策の中心です。逆にここさえ押さえれば、日常の作業は安心して任せられます。

設定ファイルの場所

Claude Codeの設定は ~/.claude/settings.json にあります。開き方は2通りです。

  • Claude Codeの画面で /config と打つ
  • ターミナルで open ~/.claude/settings.json を実行する

中身が {} だけ、または空なら未設定の状態です。ここに、これから紹介する設定を書いていきます。

基本の7ステップ

STEP 1:サンドボックスを有効にする

AIが触れる範囲を「いま開いているフォルダの中だけ」に制限します。Claude Codeの画面で次を実行し、表示されたメニューで「Auto-allow mode」を選びます。

/sandbox

(Linuxの場合は先に sudo apt-get install bubblewrap socat が必要です)

STEP 2:機密ファイル・フォルダをブロックする

SSH鍵やクラウドの認証情報など、そもそもAIに読ませたくないものを deny で指定します。

{
  "permissions": {
    "deny": [
      "Read(~/.ssh/**)",
      "Read(~/.gnupg/**)",
      "Read(~/.aws/**)",
      "Read(~/.azure/**)",
      "Read(~/.kube/**)",
      "Read(~/.npmrc)",
      "Read(~/.git-credentials)",
      "Read(~/.config/gh/**)",
      "Edit(~/.bashrc)",
      "Edit(~/.zshrc)"
    ]
  }
}
設定何を守るか
~/.ssh/**サーバーへの接続鍵
~/.gnupg/**暗号化鍵
~/.aws~/.azure~/.kubeクラウドサービスのログイン情報
~/.npmrc~/.git-credentials~/.config/gh開発ツールのログイン情報
~/.bashrc~/.zshrc起動時に自動実行される設定ファイル

STEP 3:外部通信・破壊的コマンドをブロックする

データの外部送信や、取り返しのつかない削除を止めます。STEP 2の deny に追加します。

"Bash(curl *)",
"Bash(wget *)",
"Bash(nc *)",
"Bash(ssh *)",
"Bash(git push *)",
"Bash(rm -rf *)",
"Bash(git push --force)",
"Bash(curl * | bash)",
"Bash(env)",
"Bash(printenv)"

git push * を止めると、自分がpushしたいときも影響します。その場合はAIを介さず、ターミナルから手動で実行すれば問題ありません。

STEP 4:よく使う安全な操作を自動許可にする

安全とわかっている操作は、確認なしで進むようにします。毎回「OK」を押す“確認疲れ”を防ぎ、本当に危ない操作だけ確認が出るようにするのが狙いです。

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(npm test *)",
      "Bash(npx prettier *)",
      "Bash(npx eslint *)",
      "Bash(git status)",
      "Bash(git diff *)",
      "Bash(git log *)",
      "Bash(git commit *)",
      "Bash(ls *)",
      "Bash(cat *)",
      "Bash(grep *)"
    ]
  }
}

STEP 5:.envファイルをブロックする

APIキーやパスワードを書く .env を読めないようにします。deny に追加します。

"Read(*.env)",
"Read(.env.*)"

サンドボックス側にも指定すると、より強固になります(キー名はバージョンで異なる場合あり)。

{
  "sandbox": {
    "filesystem": {
      "denyRead": ["./.env", "./.env.*"]
    }
  }
}

STEP 6:外部連携(MCP)の自動読み込みをオフにする

プロジェクトのMCP設定が、知らないうちに有効にならないようにします。

{
  "enableAllProjectMcpServers": false
}

使いたい連携がある場合だけ、手動で個別に有効化します。

STEP 7:バージョンを最新にする

既知の脆弱性が直ったバージョンを使うため、定期的に更新します。月1回を目安に、次を実行してください。

claude update

まとめ:そのまま貼れる設定ファイル

STEP 2〜6を一括で適用するなら、以下を ~/.claude/settings.json に丸ごと貼り付けます。

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(npm test *)",
      "Bash(npx prettier *)",
      "Bash(npx eslint *)",
      "Bash(git status)",
      "Bash(git diff *)",
      "Bash(git log *)",
      "Bash(git commit *)",
      "Bash(ls *)",
      "Bash(cat *)",
      "Bash(grep *)"
    ],
    "deny": [
      "Read(~/.ssh/**)",
      "Read(~/.gnupg/**)",
      "Read(~/.aws/**)",
      "Read(~/.azure/**)",
      "Read(~/.kube/**)",
      "Read(~/.npmrc)",
      "Read(~/.git-credentials)",
      "Read(~/.config/gh/**)",
      "Edit(~/.bashrc)",
      "Edit(~/.zshrc)",
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(nc *)",
      "Bash(ssh *)",
      "Bash(git push *)",
      "Bash(rm -rf *)",
      "Bash(git push --force)",
      "Bash(curl * | bash)",
      "Bash(env)",
      "Bash(printenv)",
      "Read(*.env)",
      "Read(.env.*)"
    ]
  },
  "enableAllProjectMcpServers": false,
  "sandbox": {
    "filesystem": {
      "denyRead": ["./.env", "./.env.*"]
    }
  }
}

貼り付けたあと、/sandbox で「Auto-allow mode」を選び、claude update で最新版にすれば完了です。自分のプロジェクトでよく使う安全なコマンドは、allow に足していってください。

やってはいけないこと

設定と同じくらい大事なのが、次の3つを避けることです。

  • --dangerously-skip-permissions を安易に常用しない — すべての確認を飛ばすオプションです。速い代わりに歯止めが無くなるので、内容を理解した信頼できる環境でだけ使います
  • 機密情報をプロンプトに直接貼らない — パスワードや個人情報をチャット欄に貼るのは避け、必要なら環境変数や参照で渡します
  • AIの操作を見ずに任せきりにしない — とくに削除・上書き・外部送信は、実行前の確認をちゃんと読む習慣をつけます

チーム・企業で使う場合

複数人で使うなら、managed-settings.json を使うと、全メンバーに同じ設定を強制適用できます。設定は次の優先順位で、上ほど強く効きます。

優先ファイル位置づけ
1managed-settings.jsonIT管理・変更不可
2.claude/settings.local.json個人のローカル上書き
3.claude/settings.jsonプロジェクト共有
4~/.claude/settings.json個人グローバル

CI/CDなど自動実行で使う場合は、--allowedTools "Read,Grep,Glob" のように、使えるツールをホワイトリストで絞るのが安全です。

よくある質問

Q. 設定しないと危険ですか。 初期状態でも、危険な操作には確認が入ります。ただ、確認を見落とすこともあるため、機密ファイルや破壊的コマンドは deny で最初から塞いでおくのが安心です。

Q. 設定すると使いにくくなりませんか。 むしろ逆です。安全な操作を allow に入れておくと確認が減り、危ない操作だけ止まるので、快適さと安全性を両立できます。

Q. どこまで自分でやればいいか不安です。 まずはこの記事の「そのまま貼れる設定ファイル」を入れるだけで十分な土台になります。チーム導入や、自社の業務に合わせた設計は、専門家に相談すると安全に進められます。

岡山でClaude Codeの導入を考えているなら

せとうちAI(運営:SETODEZA合同会社)は、岡山市の拠点「ももスタ」を軸に、Claude Codeのセットアップからセキュリティ設定、業務への定着までを伴走しています。「設定が難しそう」で止まっているなら、最初の環境づくりだけでも一緒にやると早いです。気になる方は、下のフォームからお気軽にご相談ください。


関連記事

シェア:XB!はてブ

BUSINESS & PRESS

事業提携・取材のご依頼

メディアへの取材・寄稿のご相談、共同企画・事業提携のご提案、AI研修・導入コンサルティングのお問い合わせを承っています。

お問い合わせはこちら →

関連記事

せとうちAI

AI導入、何から
始めればいい?

10分でわかる無料
AI導入診断を受ける

無料診断を受ける →