8月4日、Micah Leeが「Agentic coding techniques」と題した記事を公開した。コマンド1行を投げて45分後にレビュー待ちのPRが届く——それがAIコーディングエージェントの現在地だが、その自動化を「自分のマシンで直接」実現しようとすると、ファイルシステムもGitHub認証情報も丸ごと晒すことになる。Micah Leeはジャーナリスト・研究者・活動家向けのセキュリティ専門家であり、実際にエージェントを使い込んできた開発者でもある。本記事は「AI産業は最悪だが、アジェンティックコーディングは本当に使える」という率直な立場から、その安全な使い方を具体的に整理したものだ。
最も重要なポイント:エージェントのサンドボックス化
記事の核心は「エージェントを野放しにするな」という一点だ。
TypeScriptエコシステムで知られる教育者・開発者のMatt Pocockが公開しているLLMスキル集を活用すると、以下のようなコマンドだけで、45分後にレビュー待ちのPRが出来上がるという:
$implement https://github.com/{link-to-an-issue}. Implement it in its own branch. When you're done, push your code and create a PR.
ただし、これを実現するにはYOLO mode(すべての操作を自動承認するモード)で動かす必要がある。claude なら --dangerously-skip-permissions、codex なら --dangerously-bypass-approvals-and-sandbox がそのフラグだ。当然、自分のマシン上でこれを直接動かすのは論外である。
Micahが現在採用しているのは Docker Sandboxes(sbx コマンド) を使ったサンドボックス構成だ。sbx はDockerが提供するAIエージェント向けの隔離実行環境で、sbx shell でコンテナに入り、sbx run でコマンドを実行するといった操作が基本となる。各サンドボックスは以下の点で分離されている:
- 専用のDocker VMで動作し、Linuxカーネルを他と共有しない
- VM内でDocker Composeを動かせるため、テストスイートもそのまま実行できる
- ネットワークアクセスはホスト経由でプロキシされ、許可ドメインのみに絞れる(デフォルトではGitHub、NPM、PyPIなど)
- sandbox単位でOpenAI・Anthropic・GitHubなどの認証情報を分離管理できる
ネットワークプロキシの許可リストはプロジェクト単位で設定可能で、たとえば外部APIを呼び出すタスクならそのドメインだけを追加し、それ以外の通信はブロックするという細かい制御も実現できる。
GitHubアクセスの権限分離
エージェントにGitHubのフル権限を渡すのも危険だと指摘する。GitHub CLI(gh)をブラウザ認証で設定すると、プロンプトインジェクション攻撃を受けた際に、関係ないプライベートリポジトリまで丸ごとアクセスされるリスクがある。gh はターミナルからGitHubのPR作成・Issue操作・リポジトリ管理などを行えるCLIツールだが、フル認証状態でエージェントに渡すと、その権限がそのまま攻撃の対象になる。
対策として、Micahは以下を実践している:
- GitHubのfine-grained PAT(個人アクセストークン) を作成し、そのsandboxが触るリポジトリのみに権限を絞る。トークンは
sbxのシークレットマネージャーで管理し、コンテナ内のghに環境変数として渡す - エージェント専用のSSH署名キーを作成し、このキーだけ をコンテナに転送する。他のSSHキーはフォワードしない
これにより、エージェントが暴走しても、Dockerコンテナ内に封じ込められた上、GitHubへのアクセスも単一リポジトリに限定される。
LLMスキルによるワークフロー改善
Matt PocockのLLMスキル集は、エージェントへの指示をスキルとして定型化したプロンプト集だ。Micahが特に評価しているのが「グリリングセッション」と呼ばれるスキルで、コードを書く前にLLMが機能についての質問を連続して投げかけ、その回答をもとに仕様書を生成する。実装の難しい判断を事前に炙り出せる点が有用だという。
また /to-tickets スキルで詳細な仕様をGitHub Issueの連作に変換し、/implement スキルで各Issueをエージェントが一気に実装してPRを作成する、という一連のフローも紹介されている。Issue・テストの境界が明確に定義されていれば、そのままマージできるPRが上がってくることも多いという。
Expo(モバイル開発フレームワーク)向けにはExpo Skillsが、セキュリティ研究用途にはTrail of Bitsのスキル集も紹介されている。
ローカルモデルの使い分け
Micahは128GB RAMと専用GPUを搭載したFramework Desktop上でOllamaを動かしており、コーディング用には qwen3-coder-next:q8_0(84GB)、画像解析用には qwen3-vl:32b-thinking-q8_0(35GB)を使用している。
ただし、ローカルモデルの使用はフロンティアモデル(Claude、GPT-4o等)と比べると品質面で劣ると正直に認めた上で、以下の用途に限って使い分けている:
- 秘密プロジェクトのコード生成(第三者に存在を知られたくない場合)
- 機密データの直接分析
- 大量の反復タスク(例:100万枚のスクリーンショットからURLを抽出するなど)
- シンプルなタスク向けのローカルチャットボット(Open WebUI 経由)
詳細はAgentic coding techniquesを参照していただきたい。