セキュリティとプライバシー
OpenLimiterはあなたのマシン上で動き、すでにそこにあるものを読み取ります。このページは、それが何を保証し、意図的に何をしないか、そして問題を報告する方法を述べます。
保証していること
agent contextの境界
プロバイダーのテキストは、信頼できないデータです。プロンプトに渡されるブロックはインジェクションの経路であるため、プロバイダーが供給したテキストがそこに届かないように、パイプライン全体が組み立てられています。
- connectorのパーサーは既知の数値フィールドと既知のタイムスタンプだけを選び取ります。ラベル、メッセージ、アカウントのテキスト、マークアップ、未知のフィールドはすべて破棄されます。
- アドバイスエンジンが出すのは、プロバイダーのenumコード、理由のenumコード、範囲の定まったパーセンテージ、鮮度のenumコード、タイムスタンプだけです。
- Claude Codeのadapterは、何かを書き込む前にそのすべてを再度検証し、明示的な信頼できないデータの境界に包みます。
- すべてのプロバイダーがunknownの場合、adapterは何も渡しません。
そのブロックの正確な中身は、フィールドごとにagent contextのページに記載されています。
秘密情報の扱い
このプロジェクトが概念として持つ唯一の認証情報はOpenRouterのキーであり、オペレーティングシステムの認証情報ストアに置くものです。リポジトリのファイル、キャッシュファイル、エクスポート、診断出力、フィクスチャ、ログのいずれにも、決して現れてはいけません。認証情報ライブラリの呼び出しはインターフェースの裏にあり、テストでは合成のキーを使ったメモリ実装だけが使われます。
ローカルの状態
プラットフォームが対応している場合、状態ディレクトリは制限的なパーミッションで作成され、シンボリックリンクだと判明したパスはたどられるのではなく拒否され、すべてのファイルの置き換えはアトミックです。パスについては設定を参照してください。
正直な限界
将来のconnectorがネットワークに接続するとしたら
このリリースは、プロバイダーへの外部送信を一切行いません。将来そうするconnectorがあれば、提供される前に以下のすべてを満たす必要があります。
- 1つの正確なプロバイダーホストを宣言する。
- 安全な通信経路を使い、そのホスト以外へのリダイレクトはすべて拒否する。
- 短いタイムアウトを設定し、レスポンスサイズに上限を設ける。
- そのインターフェースの状態を正直に文書化する。
- キャッシュの内容も、他のプロバイダーの状態も、プロンプトも、ソースコードも、診断情報も、何一つ送らない。
問題を報告する
疑わしい脆弱性は、security@openlimiter.com宛に非公開で報告してください。簡潔な説明、影響を受けるバージョン、合成データを使った再現手順、想定される影響を含めてください。実際の認証情報やプロバイダーのアカウントデータは含めないでください。このアドレスは、公開のセキュリティ受付が有効になるまでのプロジェクトの仮の窓口です。
対象範囲:秘密情報の漏えい、プロバイダーの認証情報の改変、安全でないキャッシュの振る舞い、シンボリックリンクの回避、パーサーの範囲チェックの回避、agent contextへのインジェクション、想定外のネットワーク外部送信です。セキュリティへの影響がないconnectorのdriftは互換性の問題なので、代わりにconnectorのリクエストを開いてください。完全なポリシーはSECURITY.mdに、その理由はTHREAT_MODEL.mdにあります。
初期開発期間中、セキュリティ修正を受け取るのは最新のリリース済みバージョンのみです。