OWN NEWS GATHER
← 戻る
Docker Blog

GitHub Actions上のAIエージェント実行環境として「Docker Sandboxes」が正式対応、microVMによる安全な隔離を実現

要点

  • GitHubのCLI拡張機能「GitHub Agentic Workflows(gh-aw)」が、AIエージェントの実行基盤として「Docker Sandboxes(sbx)」を正式にサポートした。

  • microVM(軽量な仮想マシン)を分離境界として採用し、エージェントに仮想マシン内でのroot権限やDockerコンテナ実行を許可しつつ、CIホストへの影響を遮断する。

  • サンドボックス内に専用のDockerデーモンを備えており、データベースを起動するような統合テストもローカル環境と同様に再現できる。

  • ワークフローを記述した単一のMarkdownファイルからGitHub Actionsの設定ファイルを自動生成できるため、追加の専用設定なしで利用可能となっている。

  • Dockerは2026年8月21日、GitHub Actions上でAIコーディングエージェントを実行するためのランタイムとして「Docker Sandboxes」が統合されたことを公式ブログで公表した。この機能は、GitHubが提供するオープンソースの拡張機能「GitHub Agentic Workflows(gh-aw)」のバージョン0.82.9(2026年7月公開)において実装されたものだという。執筆者のオレグ・シェラエフ(Oleg Šelajev)氏は、JavaとPostgreSQLを用いた統合テスト環境でAIエージェントがバグを検出・修正するデモを提示し、その仕組みと有用性を解説している。

自律型エージェントの実行権限とCI環境における課題

AIコーディングエージェントの実用性が高まるにつれ、単にリポジトリ内のコードを読み取ってパッチを提示するだけでなく、ツールのインストール、任意のシェルコマンド実行、テストの実行、さらにはデータベースの起動といった広範な作業を自律的に行うケースが増えている。

しかし、こうした強力な権限をCI(継続的インテグレーション)の実行ランナーに直接与えた場合、エージェントの予期せぬ誤作動や過剰なファイル削除処理などが発生した際の影響範囲が極めて大きくなるという安全上の課題が存在していた。今回対応したDocker Sandboxes(sbx)は、エージェントに対して内部での高い自由度を保証しながら、外部環境への影響を限定的な範囲に封じ込める使い捨ての隔離環境を提供するものだとしている。

microVMと独立したDockerデーモンによる分離構造

Docker Sandboxesの大きな特徴は、単一のアプリケーションコンテナではなく「microVM(ハードウェアレベルの仮想化を用いた軽量仮想マシン)」を主要な隔離境界として利用している点にある。

各サンドボックスは専用のカーネル、ファイルシステム、ネットワークスタックを持ち、内部で独立した専用のDockerデーモン(Private Docker daemon)を実行する。これにより、エージェントは仮想マシン内部でroot権限(sudo)や制限のないシェルアクセスを利用して自由にコンテナを起動・操作できる一方で、ホスト側のDockerデーモンに対する制御権限は一切持たない構造になっているという。ホストとサンドボックスの間を結ぶのは、明示的に共有されたリポジトリのワークスペースのみに限定される。

このアーキテクチャにより、テストコードからコンテナを動的に制御するライブラリ「Testcontainers」を用いた結合テストなども、開発者のローカルマシン上と全く同じ手順でCI環境内に展開できると説明されている。

GitHub Agentic Workflowsとの連携と最小権限の設定

「GitHub Agentic Workflows(gh-aw)」は、AIエージェントのワークフローを記述するためのGitHub CLI拡張およびコンパイラである。開発者は、YAMLフロントマター(ファイル先頭のメタデータ設定部)で実行構成を定義し、Markdown本文にエージェントへの指示タスクを記述する。これに対して gh aw compile コマンドを実行することで、.lock.yml という拡張子を持つ標準的なGitHub Actionsのワークフローファイルが自動生成される仕組みとなっている。

ブログ内で示された設定例では、フロントマターの sandbox.agent.runtimedocker-sbx を指定し、sudo: true やbashの実行を許可している。その一方で、サンドボックス外に対しては、通信可能な接続先を絞り込むネットワーク制御や、GitHubトークンの読み取り権限の制限、さらに自動作成されるドラフトPull Requestの変更対象ファイルを src/ の配下のみに限定する「safe-outputs」機能などを併用している。このように、内部での自律性を確保しつつ、外部への露出面を最小限に抑える設計が可能となっている。

統合テストによる自動バグ修正の実証デモ

公開された検証用サンプルでは、GitHubがホストするUbuntu 24.04ランナー上でDocker Sandboxを起動し、Copilotエージェントを動作させるデモが紹介された。

対象のアプリケーションはJava 21で書かれた登録サービスで、仕様上は「メールアドレスは大文字小文字を区別しない」と規定されているにもかかわらず、実装ではPostgreSQLの大文字小文字を区別する一意性制約に依存しているという意図的な不具合が含まれていた。エージェントはサンドボックス内でMavenコンテナを実行し、Testcontainersを介してPostgreSQLを立ち上げて既存のテストを実行した上で、仕様とコードの差異を特定。最小限のソースコード修正を行い、ドラフトPull Requestを開く一連の処理を完結させたという。

GitHub Agentic WorkflowsとDocker Sandboxesの統合により、GitHub Actions側での追加のカスタム設定を必要とせず、安全で再現性の高いエージェント実行基盤が構築可能になったとしている。

元URL