NuGet.orgは2026年8月17日から、新しいAPIキーの有効期間を30日に短縮する予定です。Microsoftによれば、これは認証情報の窃取リスクを低減し、ソフトウェアパッケージのサプライチェーンセキュリティを強化することを目的としています。また、プラットフォームは365日間の新しいキーを作成するオプションを廃止し、8月17日より前に作成されたすべてのキーは2026年11月1日に失効します。
Microsoftは、NuGet.orgでパッケージを公開するすべてのユーザーに対し、変更の適用開始前に現在の公開メカニズムを見直すよう求めています。特に、APIキーは実質的にパッケージの公開を許可するパスワードとして使用されるためです。長期間有効なキーがリポジトリ内のシークレットとして保存されたり、複数のシステム間でコピーされたり、ビルド設定に記載されたりしている場合、それが漏えいすると、攻撃者に未承認のバージョンを公開するための長い期間を与える可能性があります。
キーの有効期間短縮計画
計画は、明確な2段階で構成されています。
- 2026年8月17日:新しいキーの最長有効期間を30日に制限し、365日間の有効期間オプションを廃止。
- 2026年11月1日:2026年8月17日より前に作成されたすべてのキーを失効。
Microsoftは、有効期間を短縮してもAPIキー自体が安全になるわけではないものの、紛失または漏えいしたキーを使用できる期間は短くなると説明しています。同社は、窃取された認証情報を使ったNX consoleパッケージの侵害事例を挙げました。悪意のあるNX Consoleパッケージが公開され、NXチームによれば、削除されるまでの36分間に6000回有効化されました。
Trusted Publishingへの移行を推奨
MicrosoftはTrusted Publishingの利用を推奨しています。これは2025年9月に開始された公開メカニズムで、CI/CDワークフローがOpenID Connect(OIDC)を介してNuGet.orgに認証できるようにします。ワークフローは、署名済みで短期間のみ有効なIDトークンを提示し、NuGet.orgはパッケージ所有者が定めたポリシーに従ってそのトークンを検証したうえで、公開処理だけに使用する一時的なAPIキーを発行します。
長期間有効なキーをシークレットストアから取得する方式とは異なり、このメカニズムでは、リポジトリやCI/CDシステムに長期間有効な公開用シークレットを保存する必要がありません。また、短期間のみ有効な認証情報を作成し、自動的に失効させます。ポリシーには、リポジトリおよびワークフローに関連付けられたワークロードのID検証が含まれ、任意の環境を追加することもできます。さらに、ユーザーが管理するシークレットや、その手動ローテーションも必要とせず、認証情報が漏えいした場合の影響を抑えます。
パッケージ発行者に求められる対応
発行者は、NuGet.orgへのすべての公開処理を洗い出し、2026年8月17日より前に作成されたキーを特定し、より短い有効期間のキーを安全に扱い、ローテーションできるよう自動化を更新する必要があります。ガイドラインには、必要なパッケージと権限に対して最小限のスコープを使用すること、APIキーをソースコードリポジトリやログに置かないこと、紛失または漏えいしたキーを直ちに削除すること、失効通知が監視対象のアカウントに届くことを確認することも含まれます。
Microsoftは、GitHub ActionsおよびGitLabのユーザーにTrusted Publishingへの移行を開始するよう呼びかけています。一方、その他の公開環境のユーザーは、ワークフローが30日で失効するキーを使用できることを確認し、11月1日に古いキーが失効することに備える必要があります。NuGet.orgのインターフェースを通じた公開は手動のシナリオ向けに引き続き利用できます。また同社は、他のCI/CD環境への対応を追加した際にはコミュニティに最新情報を共有すると述べ、APIキーの有効期間は将来的にさらに短縮される可能性があるとしています。