npm はパッケージを公開直後に自動スキャンし、結果に応じて通常公開・人手レビュー待ち・ブロックのいずれかに振り分ける。公開からインストール可能になるまで、典型的にはおよそ 5 分、ピーク時や大きなパッケージでは 15 分以上かかることがある。即時インストールを前提にした自動化は、この遅延を許容する必要がある。

スキャン中も npm dist-tag は使える。npm deprecatenpm unpublish など公開版に依存する操作は、利用可能になるまで動かない。ブロック時は出版者へ通知と異議申立ての導線が届く場合がある。

#dual-use メタデータ

自動化スキャンがマルウェアと誤認しやすい正当なセキュリティ関連機能(dual-use)は、次を宣言する。

  • package.jsoncontentPolicy フィールド
  • パッケージルートのテキストのみ DISCLOSURE ファイル(機能と正当な用途の説明)

宣言しても自動で公開が通る保証はない。Trust & Safety が個別にレビューすることがある。dual-use を宣言したパッケージの公開は 2FA 強制の手段(trusted publishing、対話的 2FA、staged publishing など)に限る。一度宣言した contentPolicyDISCLOSURE は以後の版で落とせない。要件は段階的に強制され、対象メンテナにはメールで案内が入る。

#参考文献