radius — AIエージェント向け決定論的セキュリティ制御
概要
radiusは「AIエージェントの振る舞いに対する決定論的(deterministic)なセキュリティ制御」を提供することを目的としたTypeScriptプロジェクトです。重要な特徴として、ポリシー評価やガードロジックに生成系LLMを介在させず、実行時に再現可能かつ監査可能な手続き的チェックでエージェントの行動を許可・拒否するアプローチを取っています。軽量なライブラリ構成とセキュリティ情報(SECURITY.md)を含む点から、実運用での安全境界設定やエージェントの権限管理に使える基盤として設計されています。
リポジトリの統計情報
- スター数: 12
- フォーク数: 0
- ウォッチャー数: 12
- コミット数: 9
- ファイル数: 13
- メインの言語: TypeScript
主な特徴
- 決定論的なポリシー評価:意思決定ループにLLMを含めず、手続き的なルールで行動を検査・制限する設計。
- TypeScriptによる型安全性:Node.js/TypeScript環境で使いやすい実装と型定義で導入が容易。
- 小規模でフォーカスしたコードベース:13ファイル程度の軽量リポジトリで、導入・レビューがしやすい。
- セキュリティ配慮の明示:READMEやSECURITY.mdがあり、運用上の注意や責任分界が明文化されている。
技術的なポイント
radiusの核となる技術思想は「可観測性・再現性・決定論性」です。エージェントの行動を評価する際にモデルの確率的出力や生成物に依存すると、判断の再現性や監査が困難になるため、ここでは明示的なルールや関数ベースの評価器で許可・拒否を決める方針が採られていると解釈できます。TypeScript実装によって、ポリシーインターフェースやアクション型の定義を静的に保証でき、導入先のエージェントフレームワーク(HTTP呼び出し、ファイルI/O、外部APIアクセスなど)に対してフック可能なガードを提供することが想定されます。また「No LLM in the decision loop」という文言は、ポリシー評価を外部の生成モデルに委ねない設計哲学を示し、安全性が法的・監査的観点で重要な場面(データ漏洩対策、権限境界の厳格化、コンプライアンス遵守)に適していることを示唆します。実装面では軽量なランタイムチェック、許可リスト・拒否リスト、属性ベースの条件評価、ログ・監査用のトレーシング出力などが主要な要素となるでしょう。拡張性の観点では、ポリシーの組み合わせ(合成ルール)、低遅延での評価、外部設定(JSON/YAML)からのポリシー読み込みとバージョン管理、CIでの静的解析・テストなどを重視すると運用負荷が下がります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- .gitignore: file
- LICENSE: file
- README.md: file
- SECURITY.md: file
…他 8 ファイル
説明:
- .github: ワークフローやIssueテンプレートが置かれている想定。CIやレビュー手順が設計されていると信頼性が増します。
- README.md: バナーやプロジェクト概要、npmパッケージ(agentradius)へのリンクバッジなどがあり、導入方法や基本的な思想が記載されています。
- SECURITY.md: 脆弱性報告フローやセキュリティ方針を明記するファイルで、実運用向けに開示・対応手順が整備されています。
- LICENSE: ライセンス情報により商用利用や再配布条件が明示されています。
小規模リポジトリのため、実装は集中化されており、機能単位での確認やカスタマイズがしやすい反面、機能拡張時は設計の再検討(ポリシー言語の導入、分散環境での同期、パフォーマンス最適化など)が必要になる可能性があります。
まとめ
決定論的な境界設定を重視する、実運用を見据えた軽量なセキュリティライブラリです。
リポジトリ情報:
- 名前: radius
- 説明: Deterministic security controls for AI agents. No LLM in the decision loop.
- スター数: 12
- 言語: TypeScript
- URL: https://github.com/bluzir/radius
- オーナー: bluzir
- アバター: https://avatars.githubusercontent.com/u/6900027?v=4
READMEの抜粋:
Draw the boundary.
No LLM in the decision loop.