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

チームで安全にClaude Codeを利用するためのプラクティス / team-claud...

Avatar for tomoki10 tomoki10
January 09, 2026

チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices

Burikaigi 2026 の登壇資料です。

Avatar for tomoki10

tomoki10

January 09, 2026
Tweet

More Decks by tomoki10

Other Decks in Technology

Transcript

  1. 本セッションの対象者 • Claude Codeをすでに使っている or これから使いたい⽅ • Claude Codeを導⼊したいがどんなリスクや対策があるのか知りたい⽅ 得られること

    • Claude Codeがもつ潜在的なリスクをざっくり知る • 社内でClaude Codeを導⼊する際のリスク分析の例を知り、問題に備える 本セッションの⽬的 2
  2. 名称    クラスメソッド株式会社 本社所在地 東京都港区⻄新橋1-1-1 ⽇⽐⾕フォートタワー 従業員数  820⼈(グループ全体) 売上    950億円(2025年6⽉末) 設⽴    2004年7⽉7⽇ (第21期) 拠点    国内 8拠点       東京

    / 札幌 / 仙台/ 上越 / 名古屋 / ⼤阪 / 福岡 / 那覇       海外 6拠点       ベルリン(ドイツ) / バンクーバー(カナダ) /       バンコク(タイ) / ソウル(韓国) /       ダナン(ベトナム)/ マレーシア 会社概要 4
  3. 第4回 Agentic AI Hackathon with Google Cloud 開催! 7 ハッカソン開催期間中に、AI

    Agent 構築の Bootcamp も開催! 詳細は「zenn ハッカソン」で!
  4. ⾃⼰紹介 8 • 2016年 某SIerにて基幹システム開発従事 • 2020年 ⼊社 バックエンドエンジニア ◦ IoT宅配ボックス、⼯場/家電などのIoTシステムの バックエンド、インフラ構築に従事 •

    2023年 テクニカルマネージャー ◦ 部署内全体技術⼒向上のため施策実施 ◦ 案件にアーキテクトとして参画 • 2025年 ◦ AI駆動開発など⽣成AIを活⽤した⽣産性向上を ⽬的として活動。AI駆動開発の外部向け研修実施 • 部署 ◦ 製造ビジネステクノロジー部 • 名前 ◦ 佐藤智樹 • 役割 ◦ テクニカルマネージャー @tmk2154 @tomoki10 @tomoki10
  5. 基本以下の4つで構成される • Profile … エージェントが誰かを定義 ex: 研究者、エンジニア • Memory …

    保持する固有の情報 ex: コンテキストやRAGなど • Planning … タスク分解やフィード バックなどで⾏動を計画 • Action … タスクの実⾏ Actionでコーディングに関連する ツールを使って作業を完遂 おさらい:AIコーディングエージェントの構造 11
  6. 基本以下の4つで構成される • Profile … エージェントが誰かを定義 ex: 研究者、エンジニア • Memory …

    保持する固有の情報 ex: コンテキストやRAGなど • Planning … タスク分解やフィード バックなどで⾏動を計画 • Action … タスクの実⾏ ⾚線部分がユーザーの検討領域 おさらい:AIコーディングエージェントの構造 12
  7. Claude Codeがもつツールの機能 13 • ファイル読取∕編集∕検索 ◦ 実⾏したディレクトリ配下のコードを読み取りや編集、検索が可能 • CLIコマンド実⾏ ◦

    デフォルトでは許可したコマンドを実⾏可能 ◦ --dangerously-skip-permissions オプションで⾃動承認が可能 • インターネットアクセス ◦ エージェントの知識強化やインターネットからの情報収集 • MCP / Skills の実⾏ ほかには、タスク管理、サブエージェント、ユーザー対話などなど 上記の機能をアクセス制御するための権限管理もある
  8. Claude Codeがもつツールの機能 14 Claude Code Tools File Read/Edit CLI Command

    Web Fetch MCP / Skills Terminal File Internet ※Claude Codeが外界のものを操作する仕組みのため記載  特有の考慮事項が多いため今回は検討対象から除外 実際のツールを抽象化して以下のように整理
  9. 脅威モデリングとは アプリケーションとその環境のセキュリティホールを⾒つけるための⼿法※ ⼀般的に以下のステップをとる 1. アプリケーションの評価と図式化 2. アプリケーションの構築におけるセキュリティ上の⽋陥を特定する 3. 発⾒した⽋陥を修正するための変更を⾏う 4.

    変更が適⽤され、正しく脅威が緩和されることを検証する 1を実施後、2はSTRIDEという脅威分類フレームワークを観点として⽤いて、脅威の 洗い出しと対策を検討。今回はアプリではないので、3,4はアレンジして検討 2はブレストなどで⾏うと複数⼈の観点が出るので良いです。今回は登壇者とLLMにて実施してます 脅威モデリングの実施 15 ※https://www.cloudflare.com/ja-jp/learning/security/glossary/what-is-threat-modeling/
  10. STRIDEは以下の頭⽂字です • Spoofing(なりすまし)… 利⽤者や権限のなりすまし • Tampering(改ざん)… データやコードの改ざん、実⾏環境のデータ削除 • Repudiation(否認)… 証跡がなく操作の追跡や証明ができない

    • Information disclosure(情報漏えい)… 機密データや個⼈情報の流出 • Denial of service(サービス妨害)… システムやサービスへの過剰な負荷 • Elevation of privilege(特権の昇格)… 管理者権限や特権の取得 STRIDE脅威モデルとは 16
  11. Claude Codeで当てはまる例を洗い出す 17 カテゴリ 具体例 Spoofing(なりすまし) ・別人が設定済みのAPIキーを悪用 Tampering(改ざん) ・エージェントが誤って重要なコードを編集/削除 ・

    想定範囲外の操作で実行環境のデータを削除 Repudiation(否認) ・誰がファイルを削除/編集したか追跡できない ・誰が「--dangerously-skip-permissions」を使ったか不明 Information disclosure (情報漏えい) ・機密ファイルや認証情報をAIが外部に送信 Denial of service (サービス妨害) ・AIが無限にCLIコマンドを実行しCPU/メモリ枯渇 ・ネットワークへの大量リクエスト送信 Elevation of privilege (特権の昇格) ・本来禁止されているコマンドを実行
  12. • 想定範囲外の操作で実⾏環境のデータを削除 → 不正なコマンド実⾏を防⽌のため操作権限を   settings.json や settings.local.json で絞る  

    ※コマンドやMCPツール実⾏確認時に「2. Yes …」を押してるとallowへ追加されるので再確認不要 Tampering(改ざん)への対策2 20 https://code.claude.com/docs/en/settings
  13. DevContainer内で使われる init-firewall.sh の紹介 • localhostに関連するNAT設定の保持 • iptables の初期化でNW転送ルールを削除 • 以下最低限の通信のみ許可

    ◦ DNS クライアント→サーバ ◦ SSH ◦ locahost • 特定ドメインのIPを解決し許可リストに追加 ◦ アクセスしたいドメインが増えるとClaude CodeのFetch許可+NW許可が必要 • ホストネットワークへの接続許可 • iptables ルールにマッチしない通信の拒否 Claude Codeが提供しているDevContainer設定の内容 24 https://github.com/anthropics/claude-code/blob/main/.devcontainer/init-firewall.sh
  14. DevContainerのNW制限設定を利⽤した感想 • メリット ◦ 想定外の箇所にClaude Codeがデータ送信することを防⽌ ▪ 「--dangerously-skip-permissions」を使っても防げる • デメリット

    ◦ アクセス先が制限されるので随時NWの⽳あけが必要 ▪ AWSであればIPリストが公開されているのでまとめて⽳あけ可能※ ◦ 外部ノウハウの収集時にアクセス制限で阻まれる→思考の質が落ちるかも? Claude Codeが提供しているDevContainer設定の注意 25 ※https://docs.aws.amazon.com/vpc/latest/userguide/aws-ip-ranges.html AWSのIPだけ穴あけしたサンプル https://github.com/tomoki10/claude-code-setup-sample/blob/main/.devcontainer/init-firewall.sh
  15. • AIが無限にCLIコマンドを実⾏しCPU/メモリ枯渇 → コンテキストの枯渇などで⾃然と上限までは操作継続されない? → 気になる場合、コンテナやVMなど分離された環境上で実⾏ • ネットワークへの⼤量リクエスト送信 → ⼤量リクエストはClaude

    Code⾃体で防⽌できない。気になる場合は   VPC上にClaude Codeを配置しNWトラフィックをVPC Flow Logsで監視 通常利⽤では⼤きな問題ではなそうだが、Claude CodeやClaude Codeの実⾏元が 乗っ取られるとこのリスクが⼤きくなる!? Denial of service(サービス妨害)への対策 26
  16. • 本来禁⽌されているコマンドを実⾏ → コマンド/ファイル操作権限をsettings.json や settings.local.json で絞る   Linuxの場合は実⾏ユーザの権限管理も合わせて実施 →

    実⾏環境の権限昇格がなされても被害がないようにコンテナやVMを   サンドボックスとして使って隔離(多層防御の観点) Elevation of privilege(特権の昇格)への対策 27
  17. 対策概要図 28 Claude Code Tools File Read/Edit CLI Command Web

    Fetch MCP / Skills Terminal File Internet Amazon EC2 OR settings.json + settings.local.json (allow/deny list) ローカルPC
  18. 対策サマリ 29 カテゴリ 具体例 考えられる対策 Spoofing(なりすまし) ・別人が設定済みの APIキーを悪用 ・.mcp.jsonなどにシークレットを含めず  環境変数などリポジトリ外で設定する

    Tampering(改ざん) ・エージェントが誤って重要なコードを編集 /削除 ・ 想定範囲外の操作で実行環境のデータを削除 ・コードの外部管理( GitHub/GitLabなど) ・settings.jsonやsettings.local.jsonで権限制御 ・環境分離(コンテナ/ VM 利用) Repudiation(否認) ・誰が「--dangerously-skip-permissions」を使ったか不明 ・誰がファイルを削除 /編集したか追跡できない ・コードの外部管理( GitHub/GitLabなど) ・ログを外部保管、環境分離 Information disclosure (情報漏えい) ・機密ファイルや認証情報を AIが外部に送信 ・インターネットアクセスを通じた誤送信 ・Fetch Toolのドメイン制御 ・MCPサーバの許可制御 ・ファイルアクセス範囲の制御 ・NW分離(コンテナ/VM 利用) Denial of service (サービス妨害) ・AIが無限ループでCLIコマンド実行→CPU/メモリ枯渇 ・ネットワークへの大量リクエスト送信 ・環境分離(コンテナ/ VM 利用) ・NW監視 Elevation of privilege (特権の昇格) ・本来禁止されているコマンドを実行 ・settings.json などで権限制御(sudo禁止) ・環境分離(コンテナ/ VM 利用)