GitHub、npmの“強化したセキュリティ機能”より使いやすく改良

GitHubは、同社が管理するJavaScriptパッケージリポジトリnpmにおいて、以下のようなセキュリティ機能関係の改善を発表した

npmコマンドラインインターフェースによる、ログインおよびパブリッシュの効率化

npmへの2FA(2要素認証)の導入により、利用者はログイン時やパッケージ登録時に煩雑な操作を行う必要があったが、npm8.15.0より、ログインおよびパブリッシュの認証をブラウザ上で管理することができ、既存セッションを使用してログインする場合は2要素めの認証を省くことができるようになった。またパブリッシュの場合も、–auth-type=webフラグによりオプトインして使用する場合は2FAを5分間回避できる(npm9からはデフォルトで実装⁠⁠。

GitHub/Twitterアカウントからnpmへ接続可能に

npmのアカウントをGitHubアカウントやTwitterアカウントにリンクさせる機能を提供開始した。GitHubとTwitterの両方と公式に統合することでリンクが実行され、統合後は検証済みアカウントデータがnpmプロファイルに必ず含まれるようになる。従来の未検証のGitHubデータまたはTwitterデータはパブリックユーザープロフィールに表示されなくなるが、開発者はIDを監査して、アカウントが本人であると信頼できるようにすることが可能。

GitHub、Twitterアカウントへの接続UI
GitHub、Twitterアカウントへの接続イメージ

npm audit signatures npm audit signatures を使用して、パッケージをローカルで検証可能

これまで、npmユーザーがnpmパッケージの署名を検証するために多段階のプロセスが必要だった。この作業を行うためには暗号化ツールに関する知識も必要となり、ユーザにとっては非常にハードルが高かったが、新しいaudit signaturesコマンド(npm CLIバージョン8.13.0以降で使用可能)を使うことにより、検証が大幅に単純化される。これに先立ち、GitHubでは安全なECDSAアルゴリズムを利用し、HSMでキーを管理する新しい署名で、すべてのnpmパッケージを再署名する作業を開始している。この署名を利用して、npmからインストールするパッケージの整合性を検証できるようになった。

おすすめ記事

記事・ニュース一覧