Claude Code Desktopを使い始めるとき、最初にぶつかる不安が「これって、勝手にファイル消されたりしないの?」「うっかりパスワード漏らさない?」という疑問じゃないでしょうか
結論から言うと、初期設定でちゃんと枠を作っておけば、かなり安心して使えるようになります
この記事では、Claude Code Desktopを始める非IT職の方向けに 最初の15分でやっておきたい最低限のセキュリティ対策を5つにまとめました
難しいプログラミング知識は不要、コピペで使える設定例も載せています
Claude自体の基本的な使い方はClaudeの使い方を初心者向けに解説した記事でまとめているので、まずそちらから読むとスムーズです

なぜClaude Code Desktopにセキュリティ対策が必要なのか
Claude Code Desktopはとても便利で、自分の代わりにファイルを読んだり、コードを書いたり、PCの中で色々な作業をしてくれます
でも裏を返すと、そこまでの権限をAIに渡しているということでもあります
もし何も設定せずに使っていると、たとえばこんなリスクがあります
- うっかり大事なファイルを削除されてしまう
- WordPressのパスワードがコードに書き込まれてGitHubに公開される
- 「やり直して」と言ったらgitの履歴が一気に消える
- 悪意のあるWebサイトを読み込んで、変な指示に従ってしまう
怖い話に聞こえるかもしれませんが、これは 初期設定をちゃんとやれば、ほぼ全部防げる話です
Claude Code Desktopのセキュリティは、ざっくり次の3層構造で守ります
- 権限設定(settings.json):「これは絶対やらせない」を機械的に決める
- プロジェクト指示(CLAUDE.md):「こういう方針で動いてね」とAIにお願いする
- 運用のルール:パスワードはコードに書かない、確認してからコミットするなど
本記事ではこの3層を、ひとつずつ整えていきます
対策1:設定ファイル「settings.json」の場所と用語を理解する
まずはClaude Code Desktopの本丸、権限を決める設定ファイルについて理解します
設定ファイルは3か所ある
Claude Code Desktopの権限設定は settings.json というJSONファイルに書きます、場所は次の3つです
| ファイル | 場所 | 適用範囲 |
|---|---|---|
~/.claude/settings.json | ユーザーフォルダ直下の .claude フォルダ内(Windowsなら C:\Users\ユーザー名\.claude\) | すべてのプロジェクトに共通 |
.claude/settings.json | 各プロジェクトフォルダ内 | そのプロジェクトのみ(チーム共有可) |
.claude/settings.local.json | 各プロジェクトフォルダ内 | そのプロジェクトのみ(自分専用、共有しない) |
個人ブログ運営のような自分1人の作業なら、まずは ~/.claude/settings.json(ユーザーフォルダ共通)に基本ルールを書いておけばOKです
ちなみに「JSONファイルを編集するのは怖い」という方は、Claudeに頼んで編集してもらうのが一番楽です、「~/.claude/settings.json に○○の設定を追加して」とお願いすればClaude Code Desktop自身がやってくれます
用語:allow / ask / deny / Bash とは
権限設定では、Claudeにやらせる操作を3つの態度に分けます
- allow(許可):何も聞かずに実行してOK、安全な作業に使う
- ask(確認):実行する前に「やってもいい?」と一度聞いてくる
- deny(拒否):絶対に実行させない、最強の鍵
そして「Bash」というのは、Claudeが裏で実行するコマンド(プログラム命令)のことです
自分で直接打つわけではなく、Claudeに「○○して」とお願いしたときに Claudeが必要に応じて使う仕組み、と思っておけば十分です
たとえば Bash(rm *) と書くと「Claudeが rm という削除コマンドを使おうとする操作」を指します
ファイル操作なら Read(読み込み)、Edit(編集)、Write(書き込み)といった種類もあります
このあと出てくる設定例を見るとイメージ湧くと思います
対策2:秘密の情報(パスワード・APIキー)を守る3ステップ
WordPressのパスワードや各種APIキー、こういう 秘密情報の漏えいはClaude Code Desktop利用時の事故で一番起きやすいトラブルです
守り方は3ステップで完結します
ステップ1:秘密情報は「.envファイル」に集約する
.env(ドット・イー・エヌ・ブイ)というファイル名で、プロジェクトフォルダの中に作ります
WP_BASE_URL=https://example.com
WP_USERNAME=admin
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxポイントは パスワードやAPIキーを直接コードに書かない、そして このファイルだけにまとめておくこと
コードからはこのファイルを読み込むようにしておけば、後でパスワードを変えるときも .env を書き換えるだけで済みます
ステップ2:「.gitignore」でGitに含めない
.gitignore(ドット・ギット・イグノア)はGitに 「このファイルは管理しないでね(=GitHubにもアップしないでね)」と伝えるためのリストです
.env
.env.local
.env.*
/secrets/これを入れておくと、うっかり git add や git push しても .env はGitHubに送信されません
逆にこれを忘れて公開リポジトリにパスワードを上げると 数分以内にbotが拾って悪用されることもあるくらいなので、最初に必ず入れておきましょう
ステップ3:settings.jsonでClaudeに読ませない
最後に、Claude自身が .env や秘密鍵を読まないように settings.json でブロックします
{
"respectGitignore": true,
"permissions": {
"deny": [
"Read(.env)",
"Read(.env.*)",
"Read(./secrets/**)",
"Read(./**/*.pem)",
"Read(./**/*.key)",
"Read(./**/id_rsa)",
"Read(./**/credentials.json)",
"Read(~/.ssh/**)",
"Read(~/.aws/credentials)"
]
}
}こうしておけば 「.envの中身を見せて」とお願いしてもClaude側でブロックされます
リストには .env 系のほかに、.pem や .key といった秘密鍵ファイル、SSH接続用の id_rsa、Googleサービスで使われる credentials.json、SSH鍵フォルダやAWS認証情報フォルダなど、各種認証ファイルをまとめて拒否しています
うっかり「.envを開いて」「秘密鍵見せて」みたいなことが起きても、ここで止まる仕組みです
1行目の "respectGitignore": true はちょっと違うタイプの設定で、.gitignore に書いたファイルをClaudeのファイル選択画面から自動的に除外する機能を有効にします
ステップ2で .gitignore に登録した .env などが、そもそもClaudeの目に触れる場面を減らせる効果があります(デフォルトで true ですが、明示しておくと意図が伝わって安心です)
「.claudeignore」は公式じゃないので使わない
古い記事や一部のSNSで「.claudeignore というファイルを置けば除外できる」という情報を見かけますが、これは 2026年5月時点でAnthropic公式にはサポートされていません
Claude自身が「.claudeignore がある」と幻覚を起こすケースまであるくらいで、書いても効かないので注意
除外設定は settings.json の permissions.deny でやるのが正解です

対策3:危険な操作からプロジェクトを守る
次は「やられたら困る」コマンド系の防御です
自分が直接打つわけではないですが、Claudeが裏でやろうとする操作を制限する設定です
最低限denyしておきたいコマンド
{
"permissions": {
"deny": [
"Bash(rm -rf*)",
"Bash(git reset --hard*)",
"Bash(git push --force*)",
"Bash(git push -f*)",
"Bash(DROP TABLE*)",
"Bash(DELETE FROM*)"
],
"ask": [
"Bash(git push*)",
"Bash(rm*)"
]
}
}それぞれが何を防ぐのかは下の表を見てください
| コマンド | 何をするもの | なぜ怖い |
|---|---|---|
rm -rf | ファイルやフォルダを問答無用で削除 | 誤って全データが消える |
git reset --hard | Gitのコミットを巻き戻す | 数時間の作業が一瞬で消える |
git push --force | 強制でGitHubに上書き | 共同編集者の作業を消す可能性 |
DROP TABLE | データベースのテーブル削除 | 顧客データ・記事データが消える |
「自分はそんなコマンド打たないから関係ないかも」と思うかもしれませんが、Claudeに「整理して」「やり直して」とお願いした時に裏でこれらが動く可能性があります
表の上3つは個人ブログ運営でも普通に出てくる話なので、特に押さえておきたいところです
便利だけど危険な設定
Claude Code Desktopの設定画面に 「バイパス権限モードを許可」というトグルがあります

名前のとおり すべての権限チェック(denyやaskを含む)をバイパスして、Claudeを中断なく動作させるための設定です
確かにlintエラーの修正やボイラープレートコード生成のような「絶対に安全な繰り返し作業」を快適にこなせる便利な機能で、画面の説明文にもそういった用途が書かれています
ただし同じ画面に 「データ損失、システム破損、またはデータ流出(プロンプトインジェクション攻撃など)を引き起こす可能性」と明記されているとおり、リスクのほうがはるかに大きい設定です
この設定をONにすると、画面下のモード切替メニューに 「許可をバイパス」モードが選択肢として現れる仕組みで、OFFの間は同じ位置にグレーアウトで表示されています
つまり このトグル自体が、危険モードを使えるかどうかの鍵になっているわけです、よほど明確な理由がない限りONにしないでください
慣れて油断したタイミングほど事故が起きるので、面倒さよりリスクのほうが圧倒的に大きいです
「毎回確認が面倒だから」と感じる場合は、代わりに 「自動モード」を選ぶのがおすすめです
参考までに、画面下のモード切替メニューの中身はこんな感じです
| モード | 動作 |
|---|---|
| 許可を確認 | デフォルト、すべての操作で確認 |
| 編集を承認 | ファイル編集だけ自動承認 |
| プランモード | 計画を提示してOK後に実行 |
| 自動モード | denyを守りつつ自動進行(慣れたらこれがおすすめ) |
| 許可をバイパス | deny含めて全スキップ(前述のトグルをONにしない限り選べない) |
自動モードは denyルールは守りつつ、多くの操作を自動進行してくれるモードなので、ガードレールを保ったまま快適に使えるバランスの良い選択肢になります
対策4:CLAUDE.mdで「お願いごと」を伝える
権限設定だけでなく、もう一段の保険として CLAUDE.md というファイルにルールを書いておきます
CLAUDE.mdの位置づけ
CLAUDE.md はプロジェクトフォルダの直下に置く Claudeへの常時指示書です
Claude Code Desktopが起動するたびに自動で読み込まれて、会話中の判断のベースになります
ただし注意点として、CLAUDE.md はあくまで 「お願いベース」です
settings.json のdenyのように機械的にブロックされる強制力はなく、Claudeが「これは例外的にやってもいいかな」と判断することもあります
なので 絶対に守らせたいことは settings.json のdenyに書く、方針として伝えたいことは CLAUDE.md に書く、というすみ分けで考えてください
コピペで使えるCLAUDE.mdテンプレート
# プロジェクト方針
## 秘密情報の扱い
- APIキー・パスワードは必ず `.env` ファイルに入れる、コードに直接書かない
- `.env` の中身を画面に表示しない(cat や echo で出さない)
- ID・パスワードらしき文字列を見つけたら、コードに書く前に必ず私に確認する
## ファイル操作
- ファイル削除は私の明示的な指示があるまでしない
- 削除する場合も、まず削除対象のリストを見せて確認を取ってから実行する
## Git操作
- main / master ブランチへの直接コミット・pushはしない、必ず別ブランチで作業する
- `git push` する前に「pushしていいですか?」と一度確認する
## 動作確認
- コードを変更したあとは、必ず動作確認の手順を提示する
- 確認が取れていない変更を「完了」と報告しないこのテンプレを CLAUDE.md として保存して、プロジェクトフォルダに置くだけでOKです
自分の運用に合わせて項目を増やしたり、文言を調整したりして使ってください
ID・パスワードの自動検知について
「コードに秘密情報を入れようとしたら自動で止めてほしい」というニーズはよくあるのですが、Claude Code Desktop単体ではそういう自動検知機能はありません
上のテンプレに含めた「ID・パスワードらしき文字列を見つけたら確認する」という指示で ある程度は気づいてもらえます
ただし完璧ではないので、本格的に防ぎたい場合は Gitleaks や truffleHog といった専用ツールを併用するのが本筋になります(これは中級者向けなので別記事で扱います)
対策5:もう一歩進んだ安全策(+α編)
ここまでの4つで最低限の防御はできているので、ここから先は 慣れてきたら追加で検討するものとして軽く紹介します
Plan Modeで事前確認
Claude Code Desktopには「Plan Mode」というモードがあります
これを有効にすると、Claudeは 実行する前に「こういう手順でやろうと思います」という計画だけを提示してくれて、こちらがOKを出すまで実際の作業には進みません
大きな変更や、初めての種類の作業のときには特におすすめです、Shift+Tabキーで切り替えられます
Hooksで自動チェック
「Hooks」は Claudeが何かする前後に自動で動く小さなスクリプトを仕込む機能です
たとえば「Claudeがコマンドを実行する直前に、危ないキーワードが含まれていたらブロックする」といった自動チェックを差し込めます
スクリプトを書く知識が必要になるので、これは本格的に運用したくなってきた頃の選択肢として覚えておく感じでOKです
サンドボックスで隔離する
「サンドボックス」は Claudeが触れる範囲を仮想的な囲いの中だけに制限する仕組みです
万一おかしな動きをしても、囲いの外には影響しないので安心度が一段上がります
ただし設定するにはDockerなどの専門ツールが必要で、非IT職の方やバイブコーディング的にサクッと使いたい方には少しハードルが高めです
「権限設定とCLAUDE.mdだけだとちょっと不安、もう一段固めたい」と感じたら検討する選択肢、くらいの位置づけで覚えておけば十分です
おまけ|実はこれ全部Claudeに頼めます
ここまで読んで「いろいろ設定があって面倒そう」と感じた方、安心してください
実はこの記事で紹介した設定、ほとんどClaude Code Desktop自身にお願いできます、JSONファイルの編集なんて普段やらない人には腰が引ける作業ですが、AIに頼めば数分で全部終わります
Claudeに頼めること
settings.jsonへのdenyやrespectGitignoreの追加.gitignoreの作成と中身の追加CLAUDE.mdのテンプレート作成.env.example(認証情報の枠だけ)の作成
コピペで使える依頼テンプレート
たとえばこんな感じで頼めばOKです
このプロジェクトのセキュリティ初期設定をしてほしい
1. ~/.claude/settings.json に以下を追加
- "respectGitignore": true
- .env や秘密鍵系(.pem / .key / id_rsa / credentials.json)の Read を deny
2. このプロジェクトに .gitignore を作って次を追加
- .env / .env.local / .env.*
- /secrets/
3. このプロジェクトに CLAUDE.md を作って次の方針を書く
- 秘密情報の扱い(APIキー・パスワードは .env に集約、コードに直書きしない)
- ファイル削除は明示的な指示があるまでしない
- git push 前に確認を取る
4. .env.example を作って必要な環境変数の枠(値は空でOK)を用意
設定内容はそれぞれ私に提示してから書き込んでね最後の 「設定内容はそれぞれ私に提示してから書き込んでね」がポイントです、変な設定が紛れ込まないよう一度確認できます
自分でやる必要があるもの
.envの実際の値(パスワード・APIキー):Claudeに値を入れさせると架空の文字列で埋めてしまうことがあるので、自分でコピペするのが安全- 「バイパス権限モードを許可」トグル:GUI設定なのでClaudeでは触れない、デフォルトOFFなので「触らない」だけでOK
それでも理屈を先に学ぶべき理由
ここまで読んで「Claudeに頼めるなら、この記事を最初から読まなくてもよかったのでは?」と思うかもしれません
でも実は、記事で紹介した 「何のために何をやっているか」が分かっていることが大事です
Claudeも完璧ではないので、頼んだ内容と微妙に違う設定が出てくることもあります、そのとき 「想定通りか」を自分の目で確認できるのは、ここまで読んだ人だけの強みです
逆に「中身わからないけど全部任せた」状態だと、おかしな設定が混ざっていても気付けません
記事の知識 + Claudeへの依頼、この組み合わせが一番安全で速いやり方になります
まとめ|最初の15分でやる5つの設定
長くなりましたが、要点を整理するとこんな感じです
- settings.jsonで権限設定の仕組みを理解する(allow / ask / deny)
- 秘密情報は.env + .gitignore + settings.jsonのdenyの3段構えで守る
- rm -rf や git push –force などClaudeが裏で使う危険な操作をdenyに登録する
- CLAUDE.mdでAIへの方針(お願いごと)を明文化する
- 慣れてきたらPlan Mode・Hooks・サンドボックスなどで一段守りを固める
ポイントは 「絶対やらせたくないこと」と「方針として伝えたいこと」をきっちり分けること
前者は settings.json のdenyで機械的にブロック、後者は CLAUDE.md でお願い、この使い分けができれば最低限のガードレールは整います
そして個人的に大事だと思うのが、「設定したから安心」じゃなくて、変更内容は毎回ちゃんと自分でレビューすること
AIが書いたコードや実行しようとする操作を、最後に自分の目で確認する習慣を持っておくと、設定の網を抜けた問題にも気付けます
Claude Code Desktopはとても強力なツールなので、安全に使う枠組みを最初に作っておけば、長く快適に付き合えると思います
Claude自体の基本的な使い方はこちらの記事で解説しているので、まだの方はぜひ合わせてどうぞ

コメント