Halo: AIエージェントのためのオープンソースの改ざん防止型ランタイム証拠
Halo: AIエージェントのためのオープンソースの改ざん防止型ランタイム証拠
HaloはAIエージェントのアクションに対する検証可能な監査証跡を提供します
Haloは、AIエージェントのための改ざん防止型ランタイム記録を作成するために設計されたオープンソースのフレームワークです。ツール呼び出し、モデル呼び出し、データアクセス、承認など、エージェントのすべてのアクションを、追記専用のハッシュチェーン化されたログに変換します。これにより、あらゆる当事者がエージェントの運用履歴が変更されていないことを検証でき、エージェントを実行しているベンダーを信頼する必要がなくなります。
コアアーキテクチャと信頼モデル
ハッシュチェーンによる改ざん防止
整合性を確保するために、HaloはSHA-256に基づいたハッシュチェーンメカニズムを使用します。各記録のハッシュは、その記録(自身のハッシュを除く)を取得し、前の記録のハッシュを含めることで計算されます。データはハッシュ化の前にRFC 8785 (JSON Canonicalization Scheme) を使用して正規化されます。これにより、リンクが作成され、以前の記録へのいかなる変更も、チェーン内の後続のすべてのハッシュを無効にします。チェーンの最初の記録は、prev_hash が 64個のゼロで始まります。
整合性と完全性
Haloは、2つのタイプの検証を区別します:
- 整合性 (Integrity): 自己保持型チェーンは、事後的に何も編集されたり並べ替えられたりしていないことを証明します。しかし、自己保持型チェーンは、記録が完全に削除されたり、チェーンが開始されなかったりしたことを証明することはできません。
- 完全性 (Completeness): 記録が削除されていないことを証明するために、Haloは「ウィットネス (witness)」システムを使用します。ウィットネスは、チェーンの定期的なフィンガープリント(記録数とヘッドハッシュ)を保持する外部の当事者です。チェーンのヘッドをウィットネスにアンカーすることで、オペレーターは顧客に対して、ログが完全であり、切り詰められていないことを証明できます。
セキュリティとプライバシー設計
改ざん防止型ランタイムの脆弱性を導入したりデータを漏洩させたりするリスクを最小限に抑えるため、Haloは以下の制約に基づいて構築されています:
- ゼロ・ランタイム依存関係: Pythonの実装は標準ライブラリのみを使用するため、
pip install halo-recordを実行してもサードパーティのパッケージはインストールされません。 - ネットワーク・コールなし: オプションのウィットネス・クライアントを除き、レコーダーはネットワーク・コールを行いません。記録の内容は所有者のインフラストラクチャ内に留まります。
- データ・リダクション (Redaction): 生の入力は記録に保存されません。引数はハッシュ化され、一般的なPII(個人情報)やシークレットを、正規表現ベースのリダクションでリダクションされた要約として保存されます。これは完全な保証ではなく、防御の深層化(defense-in-depth)を意図したものです。
- 監査可能性: コードベースは小さく(Pythonで約4,300行)、手動のセキュリティ監査を容易にします。
統合と実装
デプロイメント・オプション
AIエージェントのワークフローにHaloを統合する方法は、いくつかあります:
- ネイティブ・レコーダー (Native Recorder):
from halo import traceを使用することで、開発者はエージェントのエントリポイントをラップし、ツール呼び出しを直接.jsonlファイルに記録できます。 - アダプター (Adapters): Haloは、OpenTelemetry GenAI spans、LiteLLM callbacks、LangChain/LangGraph、OpenAI Agents SDK、および Vercel AI SDK (via the
halo-record-tsTypeScript package) 用のアダプターを提供しています。 - フック (Hooks): Claude Codeのようなツールの場合、Haloは
settings.json内のPostToolUseフックとして構成でき、エージェント自体のコードを変更することなく、ファイルの書き込みやシェルコマンドなどのアクションを記録できます。
ツールキットとCLI
Halo CLIは、以下の主要な機能を提供します:
halo verify: スキーマとハッシュチェーンの整合性を検証します。halo report: チェーンを自己検証可能なHTMLランタイム・レポートとしてレンダリングします。halo serve: テントラント・レポートをHTTP経由で提供し、顧客スコープのアクセス権を付与します。halo anchor: チェーンのヘッドをウィットネスにアンカーし、完全性を検証します。
コンプライアンスと規制への適合
Haloは、さまざまなAIコンプライアンス・フレームワークのためのアーティファクトを生成する証拠レイヤーとして機能します。認証制度を提供するものではありませんが、以下のものに必要とされる検証可能なデータを提供します:
- SOC 2 とセキュリティ・アンケート: 文章やスクリーンショットの代わりに、検証可能なランタイム・レポートを提供します。
- EU AI Act: 高リスクAIシステムにおけるロギングおよび記録保持の義務を満たします。
- OWASP GenAI Security Project: 過剰なエージェンシー(excessive agency)やツールの誤用などのリスクに対する証拠を提供します。
- AARM (CSA): R5/R6 で指定されている改ざん防止型のアクション・レシートを提供します。
- ISO 42001 / NIST AI RMF: マネジメント・システム・コントロールのための運用証拠を提供します。