MakerChecker: AIエージェント向けオープンソース・セキュリティ・ゲートウェイおよび静的スキャナー
MakerChecker: AIエージェント向けオープンソース・セキュリティ・ゲートウェイおよび静的スキャナー
MakerCheckerは、AIエージェントが許可されていない、あるいは危険なアクションを実行することを防ぐために設計されたオープンソースのセキュリティ・フレームワークです。「deny-by-default(デフォルト拒否)」のセキュリティ姿勢を実装しており、エージェントが明示的に許可されたツールやスキルのみを実行できるようにすると同時に、すべての決定に対して改ざん検知可能な監査証跡を提供します。
mc scan による静的リスクスキャン
MakerCheckerには、エージェントのコードベース内にある潜在的に危険な機能を特定する静的解析ツール mc scan が含まれています。このスキャナーは、データの削除、資金の送金、シェルコマンドの実行、機密情報の流出といった重大なアクションを検出し、リスク層ごとに分類します。
スキャナーの主な機能は以下の通りです:
- Local Execution: スキャンは完全にローカルマシン上で実行されます。データが環境外に送信されることはありません。
- Automated Governance:
--fixフラグを使用することで、特定されたリスクを軽減するためのガバナンス・コードを自動生成できます。 - Multi-Language Support: Python、JavaScript、および TypeScript で書かれたコードをサポートしています。
ランタイム実行の強制とガバナンス
MakerCheckerは、ツールが呼び出された瞬間にロールベースのアクセス制御(RBAC)を強制するための組み込みライブラリ (@makerchecker/embedded) と中央集権型サーバーを提供します。これにより、エージェントが許可された制限を超えたり、自分自身の作業を承認したりすることを防ぎます。
ロールベースのアクセス制御 (RBAC)
システムは「スキル」(特定のアクション)と「ロール」(権限のセット)を定義します。エージェントにはロールが割り当てられ、ツールはエージェントのロールが必要なスキルを保持しているかどうかを確認するガバナンス層でラップされます。スキルが許可されていない場合、システムはツールの実行前に GovernanceDeniedError をスローします。
Human-in-the-Loop (HITL) による承認
高リスクなスキルに対して、MakerCheckerは職務分掌を強制します。エージェントは高リスクなアクションを要求できますが、そのアクションは、別の人間である「officer(責任者)」ロールがリクエストを承認するまで保留されます。システムは、リクエスト者が自分自身の承認者として振る舞うことを構造的に防ぎます。
検証可能な監査証跡
規制および監査要件を満たすため、MakerCheckerは暗号学的に署名された、ハッシュチェーンによる監査ログを生成します。
- Tamper Evidence: すべてのイベントは、イベントの RFC 8785 canonical JSON に対する SHA-256 ハッシュであり、前のイベントのハッシュとチェーンされています。単一の行へのいかなる変更も、検証チェーンを破壊します。
- Offline Verification: 監査バンドルは
npx @makerchecker/proof-verifierツールを使用してオフラインでエクスポートおよび検証できます。これにより、ログを生成したプロセスを信頼する必要がなくなります。 - Cryptographic Signing: すべての決定は Ed25519 で署名されます。
統合とアーキテクチャ
MakerCheckerはフレームワークに依存しないように設計されており、専用のコネクタを介して既存の AI エージェント・スタックと統合できます:
- Framework Connectors: LangChain および Claude Agent SDK 用の公式コネクタが利用可能です。
- SDKs: カスタム統合のために、完全な TypeScript および Python SDK が提供されています。
- Deployment Options: ローカルでの強制適用には
@makerchecker/embeddedライブラリを、中央集権的な認可、人間による承認用インボックス、およびレビュー・コンソールを使用する場合は、セルフホスト型サーバー(Docker Compose を介してデプロイ)を選択できます。
パッケージ・エコシステム
| パッケージ | ライセンス | 用途 |
|---|---|---|
packages/scan |
Apache-2.0 | 静的リスクスキャンおよび分類 |
packages/embedded |
Apache-2.0 | ランタイム・ガバナンスのプリミティブ |
packages/proof-verifier |
Apache-2.0 | オフライン監査バンドルの検証 |
packages/sdk / sdk-python |
Apache-2.0 | クライアント・ライブラリ(サーバー統合用) |
packages/connector-langchain |
Apache-2.0 | LangChain ツール・ガバナンス |
packages/connector-claude-agent |
Apache-2.0 | Claude Agent SDK ツール・ガバナンス |
packages/server |
AGPL-3.0 | 中央集権型ゲートウェイおよびフロー・エンジン |
packages/web |
AGPL-3.0 | 承認用インボックスおよびレビュー・コンソール |
コミュニティの視点
MakerCheckerはランタイムのガードレールを提供しますが、一部の開発者は、個別の AI セキュリティ・フレームワークの必要性に疑問を呈しています。Hacker News のあるコメント投稿者は、従来の OS の権限(sysadmin ロールやファイルレベルのアクセス制御)で、これらの要件の多くを、特化した「ボルトオン(後付け)」の AI セキュリティ・ツールなしで処理できるのではないかと示唆しています。
別の視点では、AI 開発の周期的な性質が指摘されています。業界は当初、権限ベースのエージェントを開発していましたが、速度を重視してチェックなしの自律性を追求し、その後、それらのリスクへの反応として、再びセーフガードの実装へと戻っている、と述べています。