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