
# SDK とツールのセキュリティサポート

このページでは、お客様がダウンロードして自分で実行するソフトウェアについて説明します。対象は SDK、CLI、Terraform/OpenTofu プロバイダー、MCP サーバーです。セキュリティ修正を受け取る期間、脆弱性の報告方法、セキュリティアドバイザリの公開場所、各リリースに含まれるものを説明し、インストールするソフトウェアを確認できるようにします。KeenAuth は、デジタル要素を含む製品に関する EU サイバーレジリエンス法（CRA）の要件を満たすよう、これらのプロセスを設計しています。

まだどのパッケージも公開レジストリに公開されていません。リリースに紐づくこのページの内容（SBOM、署名、プロベナンス）は、各パッケージの最初のリリースから適用されます。

## サポート期間

- 製品ライン全体は、一般提供開始から少なくとも 5 年間、セキュリティサポートを受けます。
- セキュリティ修正は各パッケージの最新メジャーバージョンでリリースされ、そのバージョンへのアップグレードは無償です。
- 前のメジャーバージョンは、次のメジャーバージョンが一般提供された後 12 か月間、セキュリティ修正を受けます。
- 公開されたすべてのセキュリティ更新は、少なくとも 10 年間、またはサポート期間がそれより長い場合はそのサポート期間の終わりまで利用可能です。

終了（EOL）の警告やランタイムサポートを含む完全なポリシーは、[バージョニングと非推奨のポリシー](/docs/policies/versioning)ページにあります。

## 脆弱性の報告

**security@keenauth.com** にメールしてください。この窓口は常時開いており、バグ報奨金キャンペーンの有無に左右されません。

- 機密性の高い詳細は、当社の OpenPGP 鍵で暗号化してください。鍵は `https://trust.keenauth.com/pgp-key.txt` で公開されています。フィンガープリントは `0336 4D65 3B6C AA93 98A6 BE84 5C82 4CF9 48AB 83D6` です。
- 連絡先情報は `https://trust.keenauth.com/.well-known/security.txt`（RFC 9116）にも掲載しています。
- パッケージ名とバージョン、説明と影響、ステップごとの再現手順を含めてください。クレジットの表記をご希望の場合は、お名前またはハンドルも記載してください。
- 脆弱性はサポートチケットや公開 Issue で報告しないでください。

SDK の安全でないデフォルト設定も対象範囲に含まれます。対応時間、テストのルール、セーフハーバー、協調的開示については、[脆弱性開示ポリシー](https://trust.keenauth.com/vdp)をご確認ください。

## セキュリティアドバイザリ

脆弱性を修正すると、`https://trust.keenauth.com/advisories` でセキュリティアドバイザリを公開します。各アドバイザリには `ASA-YYYY-NNNN` 形式の識別子があり、次の内容を記載します。

- 説明、影響、お客様が取るべき対応
- SDK またはツールの場合は、パッケージ名、影響を受けるバージョン範囲、修正済みバージョン
- CVSS v4.0 ベクトルと修正日
- 問題を報告した方へのクレジット

SDK、CLI、MCP サーバー、プロバイダーの脆弱性には、GitHub セキュリティアドバイザリを通じて CVE 識別子も付与されます。

通知を受け取るには、任意のフィードリーダーで Atom フィード `https://trust.keenauth.com/advisories.atom` を購読してください。

これらの製品の脆弱性が実際に悪用されている場合、またはそのセキュリティに重大なインシデントが影響する場合、CRA の要件に従って当局に報告し、アドバイザリを通じてユーザーに通知します。

## SBOM と VEX

各パッケージの最初のリリースから利用できます。

- **SBOM。** すべてのリリースには、パッケージに含まれるコンポーネントを一覧にしたソフトウェア部品表（CycloneDX JSON 形式）が付属します。
- **VEX。** 掲載されたコンポーネントの既知の脆弱性がパッケージに影響しない場合、その旨を OpenVEX ドキュメントで示します。VEX ドキュメントは、そのような記述がある場合にのみ作成されます。記述がないリリースには VEX ファイルはありません。

## リリースの検証

最初のリリースから利用できます。npm の JavaScript/TypeScript パッケージと PyPI の Python パッケージは、長期間有効なレジストリトークンを使わず、信頼された公開（trusted publishing）を使うリリースワークフローによって、公開 SDK リポジトリからビルドおよび公開されています。

- **npm:** パッケージはプロベナンス付きで公開されます。プロジェクト内のパッケージのレジストリ署名とプロベナンス証明を、次のコマンドで確認してください。

  ```sh
  npm audit signatures
  ```

- **PyPI:** リリースには証明（attestations）が付与され、プロジェクトページに表示されます。
- **Sigstore バンドル:** すべてのパッケージファイルと SBOM は Sigstore のキーレス署名で署名され、パッケージファイルには SLSA プロベナンス証明が付属します。これらのファイルは公開 SDK リポジトリのリリースワークフロー実行に添付され、90 日間保持されます。ダウンロードしたファイルは次のコマンドで検証してください。

  ```sh
  cosign verify-blob <file> --bundle <file>.sigstore.json \
    --certificate-identity "https://github.com/<owner>/<repo>/.github/workflows/release.yml@refs/tags/<tag>" \
    --certificate-oidc-issuer https://token.actions.githubusercontent.com
  ```

  コマンドは署名が検証されたと報告する必要があります。ダウンロードしたリリースのリポジトリとタグを使用してください。

MCP サーバーは npm パッケージのため、上記の npm の手順に従います。Go SDK、CLI、プロバイダーの署名と検証の手順は、それぞれの最初のリリースと合わせてここに公開します。
