Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Cl...

【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616

Avatar for MasahiroKawahara

MasahiroKawahara

June 21, 2026

More Decks by MasahiroKawahara

Other Decks in Technology

Transcript

  1. 本発表の狙い 想定する視聴者 Claude Code を使う方 / チームや組織で管理・推進する方 達成したいこと Claude Code

    を安全に使う / 使わせるために必要なセキュリテ ィの考え方をざっくりと把握する 5
  2. Claude Code は Agentic Loop で動く Claude Code は 推論

    → ツール実行 → 検証 を繰り返す ループ (Agentic Loop)で動きます。 モデルが「次に何をすべきか」を考え、 ツール がファイル操作やコマン ド実行などの実際のアクションを担います。 出典: https://code.claude.com/docs/ja/how-claude-code-works 8
  3. ツールは多種多様 = 何でもできる Claude Code のツールは多彩で、たいていの操作ができてしまいます。 Read : ファイルを読む Edit

    / Write : ファイルを変更する Bash : シェルコマンドを何でも実行する MCP や Skill : 広義にはツールの一種として扱われる 💡 だからこそツール制御が肝 Claude が「できること」はツールで決まります。 つまり ツールをどう制御するか が、そのまま安全性を左右します。 9
  4. 抑止 / 制限 / 隔離 抑止する : 危険なツールを実行させないように誘導する 制限する :

    危険なツールを実行できないようにする 隔離する : 危険なツールを実行しても問題ない環境を作る 💡 Claude Code で実現するには 抑止 → CLAUDE.md / 制限 → permissions / 隔離 → サンドボックス 11
  5. ヒトに例えると 新しいメンバーに仕事を任せるイメージです。 軸 考え方 ヒトでいうと 抑 止 「やらないでね」とお願い する ルールを伝える・注意する

    制 限 仕組みで操作を防ぐ 危険な道具(刃物・工具など)を持た せない 隔 離 影響が及ばない環境にする 外と隔てた専用の作業部屋で作業して もらう 仕組みや環境で多層に守るのが基本です。 12
  6. CLAUDE.md で「お願い」する CLAUDE.md は Claude に 永続的な指示を与える マークダウンです。 Claude は各セッションの開始時にこれを読みます。

    「やってほしくないこと」を書いておく例: # セキュリティ - .env, credentials 等の機密ファイルを読み取り・編集しない - シークレットやAPIキーをコードにハードコードしないこと - rm -rf / や force push 等の破壊的コマンドを実行しないこと 14
  7. permissions で止める ツールの許可・拒否は settings.json (Claude Code 設定ファイル)の permissions に書きます。 permissions.allow

    : 手動承認なしで許可 permissions.ask : 実行のたびに確認する permissions.deny : 拒否する 💡 評価の順序 ルールは deny → ask → allow の順に評価されます。 最初にマッチしたものが優先されるため、deny が常に最優先です。 18
  8. permissions.deny の具体例 ~/.claude/settings.json に置く例です。 { "permissions": { "deny": [ "Read(//**/.env*)",

    "Read(//**/credentials*)", "Edit(//**/.env*)", "Bash(rm *)", "Bash(git push *)" ]}} 19
  9. permissions の注意点 ⚠ Read(.env) の deny は Bash(cat .env) を防げない

    deny の効果は「そのツール内のみ」 。 Bash 経由の迂回 ( cat .env , less.env , スク リプト等) は止められません。 ここを塞ぐのが、次の「隔離」です。 21
  10. Bash サンドボックスとは は Bash ツールのファイルアクセスとネットワーク を OS レベル で制限します。 💡

    何が嬉しい? OS レベルで制限するため、コマンド名に関係なく すべての子プロセスに同じ制約が かかります。 permissionsで課題だった 「文字列マッチの迂回」を根本から塞げます。 Bash サンドボックス 25
  11. Bashサンドボックスの設定例 settings.json の sandbox セクションで有効化します。 { "sandbox": { "enabled": true,

    "autoAllowBashIfSandboxed": false, "filesystem": { "denyRead": [ "//**/.env*" ] }, "network": { "allowedDomains": [ "dev.classmethod.jp" ] }}} 26
  12. Tips: ユーザー体験は結構悪くなる 強力な仕組みですが、使い勝手とのトレードオフがあります。 (以下、自 身の体感を含みます) 最初は Bash の実行失敗や、アクセス承認の確認が多発しがち 一部のツール (

    gh , terraform 等) が素の設定では動かないこともあ る 例外や境界設定を地道にチューニングしながら運用するのが現実的 管理設定 ( managed-settings.json 等) で組織全体にサンドボックスを強制 するときは、 開発体験を大きく損なう可能性がある点に注意しましょう。 28
  13. 1つに頼らず、重ねて守る 安全に Claude Code を使う鍵は ツールの制御 。 抑止 : CLAUDE.md

    でお願いする — ただし「お願い」レベル 制限 : permissions で機械的に止める — ただし迂回経路は残る 隔離 : Bash サンドボックスなどで環境を分離する 重ねて守る のが基本です。 30
  14. 加えて、周辺環境も整える Claude Code 単体だけでなく、周りも合わせて整えます。 シークレット管理ツール ( , 等) 認証情報を平文で置かず、読み取られるリスク自体を無くす 最小権限の原則

    Claude Code に渡す権限は必要最小限に絞る (例: AWS調査の みであればReadOnlyポリシーのみ) 機密情報のコミット防止 .gitignore や 等で、意図しないコミットを未然に防ぐ 1Password CLI aws-vault gitleaks 31
  15. 加えて、 「人」も大事 仕組みで守るのが基本ですが、 使う人のリテラシー・スキル も大事で す。 たとえば Claude が提案するツール実行に対して「これは OK

    / これは危 険」を判断できるか。 Linux コマンドや git, aws, python 等のツールに 対する理解があってこそ、 適切に承認・拒否できます。 📝 NIST CSF も「人」を挙げている 代表的なフレームワーク NIST CSF でも、防御 (Protect) の中に 意識向上とトレー ニング (PR.AT) が位置づけられています。 仕組み + 人 の両輪で守りましょう。 32
  16. 参考リンク Claude Code の設定 - Claude Code Docs 権限を設定する -

    Claude Code Docs Bash サンドボックス - Claude Code Docs サンドボックス環境 - Claude Code Docs NIST Cybersecurity Framework - NIST Claude Code を安全に使おう【社内勉強会スライド】 - DevelopersIO 34