セキュリティポリシー
脆弱性の報告#
次のいずれかの方法で、非公開で報告してください。
- GitHub の非公開の脆弱性報告 — リポジトリのSecurity タブにあるReport a vulnerability ボタン。報告はメンテナーだけに見え、修正は非公開のフォークで準備して、GitHub Security Advisory として公開できます。
- メール — contact@ashforde.org。詳細と再現手順を添えてください。
セキュリティに関わる報告については、公開の issue を作成しないでください。数営業日以内に受領の連絡をすることを目指しています。
サポート対象のバージョン#
1.0 より前:タグ付きの最新リリースのみがサポート対象です。
メモリ安全性#
ライブラリクレートはクレートルート(src/lib.rs)で #![forbid(unsafe_code)] を宣言しているため、ライブラリ内のどこにある unsafe のブロック、fn、impl、extern も、レビュアーが見つけなければならないものではなく、コンパイルエラーになります。この属性は cfg の背後にはないため、ライブラリが提供するすべての構成に適用され、三つともこの属性のもとで警告なくコンパイルできます。三つとは、既定の Rust ビルド、Python 拡張モジュール(--features python)、WebAssembly モジュール(--features wasm)です。
forbid はクレート単位であるため、適用範囲を正確に述べます。
- これが対象とするのはライブラリクレートだけです。CLI バイナリ(
src/main.rs)、src/bin/配下のヘルパーバイナリ、別に公開しているkshana-mcpクレート、ワークスペースから除外されているxval/のクロスバリデーション用クレートは、別々のクレートルートであり、対象に含まれません。現時点でそれらのいずれにもunsafeは含まれていませんが、それはコンパイラが強制する性質ではなく、規律によるものです。 - これは依存関係については何も述べていません。依存関係は、CI で
cargo deny check advisories licenses bans sourcesによって別に検査されます(ルートのクレートに対して、またワークスペースから除外された MCP サーバーのクレートに対しては独立したジョブとして)。さらに、リポジトリの Dependabot アラートとセキュリティ更新で監視されています。
輸出管理・軍民両用に関する注意#
PNT のレジリエンスと量子センシングは、軍民両用の輸出管理の対象となる場合があります。この公開リポジトリが扱うのは、一般的で公表済みのモデルと手法に限ります。輸出に敏感なレジリエンスやアンチスプーフィングの詳細をここに寄せないでください。それは非公開のオーバーレイに置くべきものです。判断に迷う場合は、まずメールで連絡してください。