無料で試すログ保持期間 7 日間
エンタープライズ概要に戻る
サプライチェーンセキュリティ

信頼できないコードにエージェントを向ける。 噛みつかれても失うものはない。

エージェントはサードパーティのリポジトリをクローンし、依存関係をインストールし、見知らぬ人が書いたビルドスクリプトを実行します。悪意ある postinstall フックや README に埋め込まれた指示が、あなたのトークン、鍵、ネットワークに到達してはなりません。Bromure VM の中なら、それは不可能です。

課題

すべての npm install はリモートコード実行である

エージェントが信頼できないリポジトリから `npm install`、`pip install`、Makefile を実行した瞬間、会ったこともない人々の任意のコードが、御社のエンジニアの権限で実行されます。汚染された postinstall スクリプト、タイポスクワットされたパッケージ、自宅に電話するビルドステップ — そのどれもがユーザーとして、ユーザーの SSH 鍵、クラウド資格情報、環境変数まで syscall 1 回の距離で動きます。

エージェンティックコーディングはこれをより頻繁に、より危険にします。エージェントはチケットが指したリポジトリを嬉々としてクローンし、ロックファイルが言うものを何でもインストールし、テストスイートを実行します — そしてプロジェクトの README に仕込まれたプロンプトインジェクションが、人間が 1 行レビューする前に、エージェントを「とりあえずこのセットアップスクリプトを実行して」へと誘導しかねません。

Bromure の答え

爆発半径は、まもなく削除される VM

Bromure はエージェントを — そしてそれが実行するすべてを — 独自のカーネル、ファイルシステム、ネットワークスタックを持つ使い捨て Linux VM の中で実行します。信頼できないリポジトリ、その依存関係、そのビルドスクリプトは、エンジニアのラップトップではなくそこで動きます。本物の資格情報は VM に一切入りません。エージェントは、秘密を保持するプロキシ経由で Git とパッケージレジストリに到達します。

postinstall フックが `~/.ssh` を読もうとしても、環境変数を外部搬出しようとしても、リバースシェルを開こうとしても、見つかるのは本物の秘密のない使い捨て VM、許可リストにロックされた出口、そして盗むべきあなたのものは何もない世界です。タスクが終われば VM は破棄され、パッケージが植え付けたものも一緒に消えます。そして README やビルドスクリプトがエージェント自身を操ろうとした場合も、Bromure のオンデバイスのプロンプトインジェクション検知がその試みにフラグを立てます — 敵対的な指示は、ただ封じ込められるのではなく、捕えられるのです。

仕組み

資格情報はこの部屋に入らない

Git とレジストリへのアクセスは資格情報プロキシ経由で行われます。エージェントとそれが実行する信頼できないコードは、スコープされた短命のアクセスを得ます — 本物のトークンや SSH 鍵を目にすることはありません。

リードに繋がれた出口

ネットワークアクセスはプロファイル単位で許可リスト化されます。新しいドメインや IP リテラルにビーコンを送る依存関係はブロックされ、その試みはログに現れます。

揮発性のビルド環境

クローン、インストール、ビルドはすべて、タスク終了時に破棄される VM の中で起こります。永続的なインプラントには、住み着くべき永続的なものがありません。

封じ込めるだけでなく、捕えるインジェクション

オンデバイスの分類器が、エージェントが読むもの — README、コードコメント、取得したページ、ツール出力 — と、エージェントが信頼する CLAUDE.md 形式のルールファイルを、エージェントを操ろうとする指示についてスキャンします。その試みは、事後にサンドボックス化されるのではなく、モデルが動く前にフラグが立てられるかブロックされます。

既定で信頼しない

新しいリポジトリには自動的にロックされたプロファイルが適用されます — ダウンロードは封じ込め、秘密はプロキシ、出口は制限。「この外部プロジェクトでエージェントを動かして」が、誰かが精査する前から安全になります。

実際の運用

パッケージが敵対的だったときに起こること

あるエンジニアが、チケットが示したオープンソースライブラリの評価をエージェントに依頼します。エージェントは新しい Bromure VM にリポジトリをクローンし、`npm install` を実行します。誰も知らないことに、推移的な依存関係の 1 つが、環境変数を読み取って攻撃者のエンドポイントに POST する postinstall スクリプトを同梱していました。

VM の中でスクリプトは実行され — そして奪う価値のあるものを何も見つけません。環境に本物の資格情報はなく、Git とレジストリはプロキシ経由で到達されていてトークンを一切公開していません。攻撃者のドメインへの POST はプロファイルの出口許可リストにないので、ドロップされてログに記録されます。セッション記録には、環境変数の読み取り、ブロックされた接続、その宛先が残ります。

エンジニアはレポートを読み、そのパッケージにフラグを立て、セッションを閉じます。VM は — インプラント、改変されたファイル、キャッシュされたペイロードもろとも — 破棄されます。ラップトップは敵対的なコードを 1 行も実行せず、攻撃者が学んだのはドアが施錠されていたという事実だけです。

アーキテクチャと統合

実際の構築方法

マーケティングの話はここまで。以下は、すべての Bromure 展開を支える技術的基盤です — BYOD ワークフォースを保護する場合でも、規制官庁内で機密区分を分離する場合でも、同じ基盤です。

ハイパーバイザーが強制する分離

各プロファイルは Apple の Virtualization.framework 上の独自の軽量 Linux VM で動作します — ホストとは別のカーネル、ファイルシステム、ネットワークスタック。ベースイメージは署名済みで再現可能な Alpine ビルドで、セッション起動時に APFS のコピーオンライトで複製されます(ディスクコストはほぼゼロ)。ホストは VM のメモリを読み取れません。プロファイルポリシーが明示的に許可しない限り、VM もホストのクリップボード、ファイルシステム、ネットワークアダプタを読み取れません。

ID:ユーザーは SSO、デバイスは mTLS

登録とセッション起動は、組織がすでに運用している 2 つの要素でゲートされます。Google Workspace、Okta、Microsoft Entra、Authentik に対する OIDC / SAML がユーザーを識別。PKI から発行されインストールに紐付けられたデバイスごとの mTLS クライアント証明書がマシンを識別。どちらかを失効させれば、次のセッションは起動に失敗します — 改ざんすべきエージェントも、編集すべきローカルポリシーもありません。

プロファイル・アズ・コード

業務プロファイル — 許可 SaaS リスト、ダウンロード / クリップボード / スクリーンショットの姿勢、VPN 設定、キーボードレイアウト、ルート CA、ネットワーク egress ルール — は署名された宣言的アーティファクトです。Git でバージョン管理し、MDM または Bromure の設定エンドポイント経由で配信。改ざんされたプロファイルは署名検証で失敗し、セッションは起動を拒否します。ユーザーのマシンで動くのは、あなたが書いたものとビット単位で同一です。

プロファイル単位のネットワークプレーン

各プロファイルは独自の仮想 NIC を持ちます。ホスト経由の NAT、物理インターフェイスへのブリッジ、WireGuard、IKEv2 / IPsec、Cloudflare WARP 経由のトンネル — すべて VM 内で終端され、ホストには見えません。DNS オーバーライド、アウトバウンドポートホワイトリスト、LAN 分離、HTTP プロキシを重ねられます。セグメンテーションは、ファイアウォールに貼られたシールではなく、ハイパーバイザーが強制します。

監査パイプライン

すべてのリクエスト — タイムスタンプ、動詞、URL、ステータス、ユーザー、プロファイル、デバイス — は VM の外側で改ざん耐性のある JSON Lines ストリームとして取得され、既に流しているログシンク(SIEM、データレイク、保全アーカイブ)に配信されます。不審なトラフィックには、ヘッダーのみまたはフルボディのセッション記録をオプションで選べます。安定したスキーマ、ドキュメント化されたフィールド、フォーマットにベンダーロックインなし。

デフォルトで使い捨て、オプトインで永続化

ウィンドウを閉じれば VM は破棄されます。トークン、Cookie、キャッシュ、ダウンロード、セッション中に着地したマルウェアも道連れです。状態が必要なプロファイル — ブックマークセット、保存されたセッション、ログイン済み SaaS — は、macOS Keychain に鍵を置いた LUKS 暗号化永続ディスクにオプトインできます。鍵はユーザーのデバイスから出ることはありません。

よくあるご質問

コンテナや新しい CI ランナーで既にできているのでは?

+

コンテナはホストのカーネルを共有し、日常的に脱出されます。CI ランナーは、攻撃者が欲しがるまさにそのデプロイ資格情報を保持していることが多いです。Bromure は独自のカーネルを持つハードウェア分離された VM を使い、本物の秘密をプロキシの背後で VM の外に完全に保ちます — カーネルレベルの脱出があっても、盗むべきものは何も見つかりません。

秘密なしで、エージェントはどうコードをプッシュしたりプライベートパッケージをインストールしたりするのですか?

+

資格情報プロキシ経由です。プロキシは VM の代わりに御社の Git ホストとプライベートレジストリに認証し、スコープされた短命のアクセスをネットワーク層で注入します。エージェントは動く Git と npm を手にしますが、外部搬出できる資格情報は一切手にしません。

README のプロンプトインジェクションがエスカレーションするのを何が止めますか?

+

二重の層です。まず、Bromure のオンデバイス検知が、エージェントの読むコンテンツ — README、コメント、取得したページ、ツール出力 — と、エージェントが信頼する CLAUDE.md 形式のルールファイルをスキャンし、注入された指示をモデルが動く前にフラグするかブロックします。そして万一すり抜けても、それは VM の中で実行されます — 本物の認証情報なし、許可リスト化された出口、ホストへの到達なし — つまり最悪でも、まもなく削除されるサンドボックス内での無駄な計算で済み、そのすべてがログに記録されます。

それでも欲しかったビルド成果物は得られますか?

+

はい。正当な成果物は、ほかのダウンロードと同じ制御された経路で VM の外へ昇格されます — 任意で VirusTotal ゲート付き — なので、リスクを抱え込まずに結果だけを保持できます。

信頼できないリポジトリを実行する。 鍵は守る。

敵対的なコードが何も見つけられず、何も残せないビルド環境をエージェントに与えてください。