00:00:00最近のニュースをチェックしている方なら、おそらく次のような警告を
00:00:04目にしたことがあるでしょう。自律型AIエージェントを実行する危うさについてです。偶発的なデータ漏洩や、
00:00:10OpenClawで起きたような、世間の注目を集めるセキュリティ侵害のリスクです。現実問題として、AIエージェントに
00:00:15ホスト端末へのフルアクセス権限を与えるのはかなり危険です。ですが、セキュリティが不安だからといって、これらのツールの使用を
00:00:21やめるわけにはいきませんよね?今必要なのは、より優れた「サンドボックス」です。そこで、
00:00:28「Code on Incas」という素晴らしいツールをご紹介します。これは、Claudeのコードを完全に
00:00:34隔離されたIncasコンテナ内で実行できるツールです。SSHキーや環境変数の漏洩を心配することなく、
00:00:40コーディング・エージェントを安全に動かせます。本日の動画では、Code on Incasがどのように機能するのかを詳しく見ていき、
00:00:46皆さんが自律型AIエージェントを安全に運用し始められるよう、セットアップ方法も解説します。
00:00:51非常に面白い内容になっていますので、さっそく本題に入りましょう。
00:00:58まず、そもそもIncasとは何でしょうか?実はIncasについては、
00:01:07以前の動画で詳しく解説しています。仕組みを深く知りたい方は、そちらも併せてご覧ください。簡単に言うと、
00:01:12Incasはオープンソースのシステムコンテナおよび仮想マシンマネージャーで、
00:01:18隔離された環境でフルLinuxシステムを実行できます。「Code on Incas」はこのアイデアをさらに進化させ、
00:01:24Claudeのコードがあらかじめインストールされた、完全に隔離されたミニLinuxマシンをデプロイできます。
00:01:31これにより、サンドボックス化されたClaudeコードエージェントとして利用できるわけです。非常に優れたアイデアですよね。
00:01:36基本的にClaudeに専用のLinux環境を与えることになります。Dockerの特権モードとは異なり、Incasのシステム
00:01:43コンテナはフルLinuxマシンのように動作し、状態も保持されます。そのため、作業内容や会話履歴を失うことなく
00:01:49セッションを停止・再開できます。このセットアップの最大の利点の一つは、
00:01:54「権限地獄」を解決できる点です。通常、コンテナがファイルを作成すると、
00:02:00所有者がrootになり、自分のコードを編集するだけでchownコマンドを叩く羽目になります。しかし、IncasはUID
00:02:08マッピングを使用するため、サンドボックス内でClaudeが作成したものはすべて、ローカルマシンのユーザーが
00:02:14ネイティブに所有しているようにシステムを認識させることができます。前回の動画では、Linuxマシン上での
00:02:20Incasコンテナのセットアップ方法を紹介しましたが、今回はMacでの設定方法をお見せします。
00:02:26まず「Colima」というツールを使います。これはそれ自体がコンテナです。そしてその中で
00:02:31別のコンテナであるIncasを動かし、さらにその中でClaudeのコードを動かします。
00:02:36まさに映画『インセプション』のような多重構造です。まず最初に、
00:02:42Colimaがダウンロードされていることを確認してください。画面右側には「my-test-app」というシンプルなフォルダを用意しました。
00:02:48Incasコンテナを通じてClaudeが生成するものは、すべてここに保存されます。では、Colimaのインスタンスを起動しましょう。
00:02:55先ほど作成したフォルダへの書き込み権限を許可するために、マウントフラグを渡します。
00:03:00起動したら、ColimaコンテナにSSHで入ります。ここからは、
00:03:06Code on Incasのリポジトリにある指示に従うだけです。
00:03:11これらの行をコピーして、Incasのインストールと設定を行います。リポジトリには
00:03:17bashコマンドを実行するように書かれていますが、私の以前のテストでは期待通りに動作しませんでした。代わりに、
00:03:23内容を「install.sh」ファイルにコピーしてから実行することで解決できます。
00:03:29セットアップスクリプトが走り、Incasが既にインストールされていることが検出されました。いいですね。次はファイアウォールの設定ですが、
00:03:35それは後ほど行います。今は「1」を選択してソースからビルドし、スクリプトに任せましょう。
00:03:42完了したら、ファイアウォールの設定コマンドを実行します。
00:03:47指示によれば、次は「koi build」を実行することになっています。しかし、
00:03:52以前のテストではネットワーク接続の問題が発生しました。
00:03:58IncasはColima仮想マシンの内部で動作しているため、独自の仮想ネットワークブリッジを作成します。
00:04:04通常、Claudeコンテナにインターネットアクセスを与えるために「incas-br0」と呼ばれますが、ここが少し厄介です。
00:04:10デフォルト設定では、LinuxのファイアウォールやDocker自体のネットワークルールがこのブリッジと競合することがあります。
00:04:16これを解決するには、Colima仮想マシンがIncasブリッジと外部世界の間で
00:04:22トラフィックを自由に流せるようにする必要があります。Incasブリッジを信頼済みファイアウォールゾーンに追加し、
00:04:28IPv4フォワーディングを有効にします。ターミナルに「success」と2回表示されれば、
00:04:34Code on Incasをビルドする準備は万端です。
00:04:40ドキュメントは少し分かりにくいかもしれませんが、ツールをビルドするにはリポジトリ内のセットアップスクリプトを実行する必要があります。
00:04:46一番簡単な方法は、Code on Incasのリポジトリを直接クローンし、
00:04:52そのディレクトリに移動してから「koi build」を実行することです。私はこの方法で成功しました。
00:04:59コンパイルには1、2分ほどかかります。終わればいよいよお楽しみの時間です。
00:05:04自律型のClaudeコードエージェントを、隔離されたIncas環境内で起動しましょう。では、やってみます。
00:05:11実際の動作をお見せするために、2つのターミナルウィンドウを用意しました。スロット1で最初のインスタンスを起動し、
00:05:16Claudeがファイルを保存する場所を認識できるようにワークスペースのパスを渡します。
00:05:23さらに「network open」フラグを追加します。これは非常に重要で、エージェントがインターネットに接続し、
00:05:28依存関係のダウンロードやAPIの呼び出しを行うために必要不可欠な設定です。
00:05:35スロット2でも全く同じことを行い、いわば「タッグチーム」を結成させます。
00:05:40一方のエージェントはバックエンドに、もう一方はフロントエンドに専念させます。
00:05:45今回のデモでは、SWAPI APIからキャラクターデータを取得する「スター・ウォーズ ホロクロン・アプリ」を作らせます。
00:05:51面白くするために、フロントエンドのエージェントには、1977年の映画『スター・ウォーズ』の
00:05:57クラシックな端末のような、青くちらつくホログラム効果をUIに持たせるよう指示しました。あとはAIに任せるだけです。
00:06:04数分後、2つのエージェントが同じワークスペースでうまく連携し、
00:06:10バックエンドとフロントエンドのインターフェースの両方を完成させました。では、ブラウザを開いて見てみましょう。
00:06:16いい感じですね。スター・ウォーズ特有のホログラムの光沢が再現されています。ここで、
00:06:22ダース・ベイダーのデータを検索してみると、正常に取得できました。ヨーダも同様です。
00:06:28ルーク・スカイウォーカーもうまくいきました。これが、ホストマシンを素性の知れない依存関係や
00:06:34煩雑なコードベースにさらすことなく、AIエージェントを安全に指揮できる力です。
00:06:40では、この種のセキュリティが非常に役立つ別の例をお見せしましょう。
00:06:46例えば、ファイルをダウンロードしたものの、マルウェアが含まれているのではないかと疑っているとします。
00:06:52デモンストレーションのために、EICAR研究所が提供している、
00:06:56本物のウイルスを模したテスト用マルウェアファイルを使用します。
00:07:02このファイル自体に害はありませんが、マルウェアのシグネチャが含まれています。さて、そのようなファイルがあるけれど、
00:07:09ローカルマシンで解凍したくない場合に、
00:07:14Code on Incasを使ってアーカイブの展開を代行させることができます。さらに、
00:07:19Claudeのコードを使って、そのファイルの内容について包括的な分析を実行させることも可能です。
00:07:25この2つ目の例では、新しいColimaインスタンスを開始しました。今回は、
00:07:30EICARファイルが入っているフォルダをワークスペースとして指定し、Incasに渡せるようにします。
00:07:37再びKoiのインストールと設定を行い、新しいAIエージェントを起動しました。
00:07:41次に、別のターミナルウィンドウからファイルをIncasインスタンスにプッシュします。
00:07:48これは「incas file push」コマンドを使用し、特定のKoiインスタンスのコンテナIDを指定することで実行できます。
00:07:54転送が完了したら、Claudeに内容を精査し、詳細な分析レポートを作成するよう依頼します。
00:08:00しばらくすると、Claudeによる分析が終了しました。予想通り、
00:08:06このファイルは完全に安全で悪意はないという判断が出ました。そして、
00:08:11これが確かにEICARマルウェアテストファイルであることを特定し、
00:08:17分析レポートにすべての詳細を記載しています。これは非常に素晴らしい機能です。
00:08:24セキュリティ研究者や、信頼できないファイルを多く受け取る開発者の方は、
00:08:29同じプロセスを使ってファイルを安全かつ確実に検査できます。Claudeの分析能力を、
00:08:34Incasシステムコンテナという鉄壁の盾とともに活用できるのです。以上がCode on Incasの概要でした。
00:08:40このツールには、今回紹介しきれなかった便利なコマンドが他にもたくさんあります。
00:08:47例えば、独自のカスタムイメージを使ってインスタンスを起動したり、スナップショットや
00:08:52セッションを管理したりすることも可能です。ぜひプロジェクトの全容をチェックして、深く探ってみてください。
00:08:57デジタルの至る所にセキュリティの脅威が潜んでいる現代において、このようなツールは
00:09:03AIエージェントの安全な運用に本当に役立ちます。しかも私の大好きな
00:09:09Incasが使われているということで、文句なしにおすすめです。皆さんはこのツールについてどう思いましたか?
00:09:16試してみたい、あるいは使ってみたいと思いますか?ぜひコメント欄で教えてください。
00:09:21もしこの動画が役に立ったと思ったら、高評価ボタンをお願いします。
00:09:26また、今後の技術解説動画を見逃さないよう、チャンネル登録も忘れずに!
00:09:31以上、Better StackのAndrisがお送りしました。また次の動画でお会いしましょう。
00:09:36technical breakdowns. This has been Andris from Better Stack and I will see you in the next videos.