AI coding agent を本気で使い始めると、すぐに問題は model quality だけではなくなります。どの credential を渡すのか、agent process が token を直接見られるのか、どの network request を出したのか、あとから実行内容を確認できるのか。Repository や外部 API に触れ始めた時点で、こうした runtime boundary の方がずっと重要になります。

今日紹介したい majorcontext/moat は、まさにその層を扱う project です。Moat 自体は新しい agent ではありません。Claude Code や Codex のような agent を隔離コンテナの中で実行し、credential を network layer で注入し、API call、log、network trace を残す実行レイヤーです。要するに「agent に仕事はさせるが、境界はなるべく明示する」という方向の tool です。

公開時点の GitHub page では、project は約 44 stars10 forks、主言語は Go、license は MIT です。Repository の作成日は 2026-01-11、最新 release は v0.6.0、公開日は 2026-06-17 でした。

Project overview

項目内容
Repositorymajorcontext/moat
位置づけAI agent を container 内で動かし、credential injection と audit を標準化する runtime
Stars約 44
Forks10
主要言語Go
LicenseMIT
RuntimeDocker または Apple containers
Latest releasev0.6.0

まず解こうとしているのは credential の渡し方

多くの team は最初、GITHUB_TOKENOPENAI_API_KEY をそのまま agent process に渡します。もちろん簡単ですが、その瞬間に agent は secret を読めますし、log や tool output に混ざる余地も生まれます。

Moat の発想はそこを default から変えることです。README で中心になっているのは network-layer credential injection です。moat grant githubmoat grant openai で host 側に credential を保存しておき、container 内の agent が対象 service に request を出すときだけ、proxy が Authorization header を差し込みます。つまり credential を通常の環境変数として container に露出しなくてよい設計です。

この違いは地味ですが大きいです。

  • agent は GitHub や OpenAI を普通に使える。
  • それでも token 自体は container 内で直接見えない前提を作りやすい。
  • grant が service 単位で明示される。
  • 実際にどの外部 request が発生したかを trace しやすい。

Agent に「絶対に秘密を漏らすな」と言うより、最初から秘密を process 内に置かない方が筋がよい、という発想です。

Container sandbox が主役になっている

Moat は単なる wrapper script ではありません。Workspace を mount した isolated container の中で agent を動かし、その周囲に必要な capability だけを足していきます。

README には moat claudemoat codexmoat run といった command が並んでいて、対象が library というより execution surface であることがはっきりしています。Runtime は Docker に対応し、条件が合えば Apple containers も自動選択されます。

この設計が効くのは、AI coding agent を一回きりの command ではなく継続的な作業者として使う場合です。実際に必要になるのは、たとえばこういうことです。

  • どの dependency が入った image で動いているのか。
  • SSH はどの host にだけ許すのか。
  • network access をどこまで開けるのか。
  • 途中で attach し直したり、状態を残したりできるのか。

Moat はそれらを container runtime、proxy、audit、snapshot の組み合わせとしてまとめています。ここがただの「agent 起動コマンド集」と違うところです。

Observability と audit もかなり本気

私が面白いと思ったのは、Moat が secret injection だけで終わっていないことです。

README では以下が明示されています。

  • network trace を確認できる。
  • log を保持できる。
  • audit event は hash chain でつながる。
  • Ed25519 attestation により authenticity を検証できる。

これで Moat は単なる convenience tool ではなくなります。ある run がどの API を叩いたのか、どの request が出たのか、audit chain が壊れていないか、といった問いに答えやすくなります。

今の agent tool は observability を名乗っていても、実際には console output が少し増えるだけ、ということが珍しくありません。Moat は runtime isolationcredential boundarytraceability を同じ設計の中で扱っている点が強いです。

Codex と multi-agent workflow への寄せ方も現実的

README は moat codex を正面から扱っています。GitHub grant、SSH host grant、許可する追加 host の指定など、Codex を実際に repository と外部 service に接続する時の手順が docs に入っています。これは「agent 対応」とだけ書いている project よりも、だいぶ実務寄りです。

さらに最新 release v0.6.0 では moat join が追加されています。これは、すでに動いている container に別の agent を参加させる方向の機能です。

この発想はかなり今っぽいです。実装担当の agent と review 担当の agent を分けたい、同じ workspace を見ながら別の観点で診断したい、という流れが増えているからです。単発実行だけでなく、shared execution environment をどう保つかまで見ている点は評価しやすいです。

一般的な sandbox wrapper より良いと思う理由

Moat が扱うのは単独 feature ではなく、一連の運用フローです。

多くの tool はこのどれか一つしか持ちません。

  • container 化だけする。
  • secret 管理だけする。
  • log だけ残す。
  • ある agent runtime だけ包む。

Moat は grant、run、trace、logs、audit、snapshot、reattach をひとつの workflow に寄せています。AI coding agent を日常的に回す人にとっては、個別 feature の強さより、この「一通りつながっていること」の方が価値になりやすいです。

見るときの注意点

もちろん、完成し切った安定 project というわけではありません。

README 冒頭には Early Release と明記されています。API や config format が変わる可能性はまだあります。HTTPS inspection を成立させるために CA certificate を trust する手順も必要です。得られる observability や injection の強さは魅力ですが、ローカル環境の trust boundary を理解せずに入れる type の tool ではありません。

また、Docker か Apple containers への依存も前提になります。個人開発では扱いやすい一方、組織の endpoint policy や local security rule との整合は先に見ておくべきです。

まとめ

majorcontext/moat が面白いのは、「AI agent を sandbox に入れる」だけでなく、container isolation、network-layer credential injection、SSH proxy、network trace、tamper-evident audit、snapshot、multi-agent participation をひとつの runtime にまとめているところです。

Claude Code や Codex を repository や外部 API に近づけたいが、secret と audit の境界は崩したくない。そんな状況なら、Moat はかなり見る価値があります。まだ早い段階の project ですが、agent engineering で本当に痛くなりやすい場所を正面から扱っている、という意味で印象に残る一本でした。