AI

ClaudeのAIアシスタント「Coworkモード」を支えるLinuxコンテナ環境とは?


Anthropicの提供するAIアシスタント「Cowork」はユーザーの指示に基づいて日常業務の支援やファイル操作を行うことができる強力なツールです。CoworkモードはLinuxコンテナ環境上で動作しているのですが、詳細な構成と運用方法についてAnthropicのテクニカルスタッフであるSimon Willison氏がGitHub Gistにて公開しています。

linux-container-environment-report.md
https://gist.github.com/simonw/35732f187edbe4fbd0bf976d013f22c8

◆ハードウェア構成

CPUARM64コア(48 BogoMIPS)×4
RAM3.8GiB(うち2.8GiBが利用可能上限)
Swap(なし)
ルートディスク10GB NVMe
セッションディスク10GB NVMe

ARM64プロセッサを使用していることについては「ハードウェア暗号アクセラレーション(AES・SHA1・SHA2・SHA3・SHA512)、アトミック操作ポインタ認証(PACA/PACG)、セキュリティのための分岐ターゲット識別(BTI)などの高度な機能を備えている」と述べられており、AnthropicがAI推論モデルの構成ハードウェアとしてARMアーキテクチャの効率性を高く評価していることがわかります。Coworkモードで2.8GiBが利用可能な上限とされているのはリソース管理と安定性を確保するための措置と考えられます。ストレージについてはルートディスクとセッションディスクの両方に10GBのNVMeを割り当てることで高速なデータアクセスを実現しているものと考えられます。

◆OS構成

ディストリビューションUbuntu 22.04.5 LTS (Jammy Jellyfish)
カーネルLinux 6.8.0-90-generic (PREEMPT_DYNAMIC)
アーキテクチャーaarch64 (ARM64)
ホスト名claude

記事作成時点におけるUbuntuの最新LTSは24.04ですがCoworkモードのコンテナ環境は22.04が採用されています。一方でカーネルバージョンは6.8.0-90-genericとなっており24.04 LTSと同じものが使用されています。カーネルについてはPREEMPT_DYNAMICというプリエンプションモデルが採用されておりリアルタイム性が求められるアプリケーションに対しても柔軟に対応できる構成になっています。

◆コンテナ構成

サンドボックス方式Bubblewrap(bwrap)
ネットワーク隔離--unshare-netにより独立したネットワーク名前空間を作成
PID隔離--unshare-pidにより独立したプロセス名前空間を作成
Die-with-parentコンテナは親プロセスの終了に伴い終了する
新セッション端末ハイジャック攻撃を防ぐ

coworkモードのコンテナ環境ではBubblewrap(bwrap)が使用されています。bwrapはLinuxの名前空間機能を利用してプロセスを隔離する軽量なサンドボックスツールであり、特にセキュリティとリソース管理に優れています。Coworkモードではネットワーク名前空間とプロセス名前空間が独立しており他のコンテナやホストシステムからの影響を受けにくい構成となっています。またDie-with-parentオプションにより親プロセスが終了するとコンテナも自動的に終了するため、コンテナのシステムへの影響を抑えるとともに不要なリソース消費を防止しています。

◆Seccompフィルタリング

Seccompモード2:filterモード
アクティブフィルター2
NoNewPrivs有効:権限の昇格を防止
Capabilities全権限をドロップ(CapEff = 0)

Secure computing mode(Seccomp)はLinuxカーネルの機能でプロセスが使用できるシステムコールを制限することでセキュリティを強化します。CapabilitiesはLinuxの権限管理機能で特定の権限をプロセスに付与または剥奪することができますが、Coworkモードでは全ての権限がドロップされておりプロセスがシステム全体に影響を与えることを防止します。

◆ネットワークプロキシーアーキテクチャー

プロトコルプロキシーポートUNIXドメインソケット
HTTP/HTTPShttp://localhost:3128/tmp/claude-http-*.sock
SOCKS5socks5h://localhost:1080/tmp/claude-socks-*.sock
FTP/gRPCsocks5h://localhost:1080/tmp/claude-socks-*.sock

Coworkモードのコンテナ環境では外部との通信についてローカルトンネルをプロキシーとして経由しています。 HTTP/HTTPS通信にはポート3128で動作するHTTPプロキシーが使用され、FTPおよびgRPCにはポート1080で動作するSOCKS5プロキシーが使用されています。ローカルトンネルの作成にはsocatコマンドが使用されており、ネットワークトラフィックをUNIXドメインソケット経由でホストシステムに転送します。ネットワークプロキシーアーキテクチャーを適切に設定することにより通信の監視と制御が可能となりセキュリティとプライバシーの保護が強化されています。

◆パーティション構成

デバイスマウントポイントサイズファイルシステム
nvme0n1p1/9.6GBext4
nvme0n1p15/boot/efi98MBvfat
nvme1n1/sessions10GBext4

ルートファイルシステムがext4形式で10GBのNVMeデバイスにマウントされており、すべてのシステムリソースが配置されるものと考えられます。/boot/efiディレクトリには98MBのvfat形式のEFIシステムパーティションがマウントされていますがこれはUEFIブート用です。/sessionsディレクトリには別の10GBのNVMeデバイスがマウントされておりユーザーセッションに関連するデータの保存に使用されます。

◆実行プロセス構成

PIDプロセス概要
1bwrapbwrapサンドボックス制御
2bashプロキシーデーモン管理用シェルラッパー
3socatHTTPプロキシーフォワーダー(ポート3128)
4socatSOCKSプロキシーフォワーダー(ポート1080)
5claudeClaude Codeエージェントプロセス本体

メインのClaudeプロセスはclaud-opus-4-5-20251101モデルで実行されており、Task・Bash・Glob・Grep・Read・Edit・Writeといった特定の許可されたツールを使用できます。

また、2つのModel Context Protocol(MCP)サーバーが設定されています。

MCPサーバー概要
Claude in Chromeブラウザ自動化機能
b89c1e3a-f5c6-4dec-9d8a-0b3db0a78353Cloudflare統合


◆まとめ
情報をまとめて簡潔に図示すると以下のようになります。


Coworkモードのコンテナ環境はAI支援コンピューティングのための慎重に設計されたサンドボックスであり、機能性とセキュリティの両立を目指していることがわかります。またClaude Codeエージェントのために最適化されておりユーザーの指示に基づいて安全かつ効率的にタスクを実行できるようになっています。Anthropicはこのような高度なコンテナ環境の構築を通じてAIアシスタントの信頼性やセキュリティを維持しながらパフォーマンスを向上させることに成功しています。

この記事のタイトルとURLをコピーする

・関連記事
Anthropicのダリオ・アモデイCEOが中国への高性能チップ輸出に強く反対、「北朝鮮に核兵器を渡すようなもの」 - GIGAZINE

Anthropicの「Cowork」は間接プロンプトインジェクションによるファイル流出攻撃に対して脆弱 - GIGAZINE

PC操作AI「Cowork」をAnthropicが発表、ファイルの作成から削除まで自動で実行可能 - GIGAZINE

AnthropicがJavaScriptランタイム「Bun」を買収、Claude Codeはわずか6カ月で約1500億円の収益を上げる - GIGAZINE

AI使用と不使用で「ロボット犬開発」の速度を比較した実験結果をAnthropicが公開 - GIGAZINE

in AI,   ソフトウェア,   セキュリティ, Posted by log1c_sh

You can read the machine translated English article What is the Linux container environment ….