脆弱性  ·  2026-11-03

Network-AI AgentVCRカセット名のパストラバーサルにより、エージェントオーケストレーションでの任意の.json読み書きが可能

脆弱性Medium 影響度GlobalCVE-2026-120312
AgentVCRの記録/再生コンポーネントは、呼び出し元が提供するカセット名をpath.join()で.jsonサフィックスと連結し、そのパスがcassettePath配下に留まるかを確認せずに即座に読み書きします。Nodeのpath.joinは埋め込まれた「..」セグメントを正規化するため、トラバーサル名はベースディレクトリをエスケープします。実証された読み取りプリミティブと書き込みプリミティブは、プロセスがアクセスできるJSONファイルに限定されていますが、マルチエージェントのテスト/オーケストレーション展開ではカセット名が信頼されていないソースから来ることが多く、エージェントの記録/保存状態が任意のJSON読み書きチャネルになります。
エージェントの記録/再生はエージェントの動作を決定論的で検査可能にする一般的な方法です。カセット名が信頼されていない場合、同じメカニズムがAIエージェントオーケストレーションコンソール内の任意のJSONファイル読み書きプリミティブとなり、エージェント自身のランタイムから設定/ポリシーの改ざんや資格情報・状態の開示を可能にします。
AgentVCRはpath.join(cassettePath, name + '.json')でカセットファイルパスを構築し、正規化と封じ込めのチェックを行いません。攻撃者がname引数を制御する場合、相対トラバーサルシーケンス(../../...)を提供するため、load()は任意の.jsonファイルを読み取りその内容を返し、save()は任意の.jsonファイルを書き込みまたは上書きします — これにより、オーケストレーター自身のポリシーファイルを偽造し(オペレーターが拒否しきい値より下に置いた認可をエージェントに与える細工された信頼レベルエントリが示された)、正当なエージェントが保持するトークンを無効化できます。
network-ai npmパッケージ、AgentVCR(lib/agent-vcr.ts)、5.13.4から5.15.4まで; 5.15.5で修正
network-ai >= 5.15.5にアップグレードしてください(アドバイザリの確認済み修正範囲は5.15.5未満です)。カセット名を信頼されていない入力から導出するのをやめるか、設定されたカセットディレクトリ内で検証/封じ込めてください。
GitHub Security Advisory GHSA-mfxv-jg44-xj48NVD record CVE-2026-120312
ライブフィードで見る AIセキュリティとガバナンスの関連情報をさらに見る — 毎朝更新。
フィードを開く →