{}const=>[]async()letfn</>var
開発

GitHubがnpmを保護する方法:信頼できる公開と新しいチェック

パッケージ公開の新しいメカニズムが、ライブラリの作成者からアプリケーション開発者まで、すべての人にとってnpmをより安全にする方法を分析します。

К

Kodik

著者

1分で読める

9月のnpmへの攻撃は、JavaScriptエコシステムが脆弱であることを示しています。攻撃者は、人気のあるパッケージを介して何千ものプロジェクトに「侵入」できるため、ますます人気のあるパッケージを標的にしています。npmの所有者であるGitHubは、次の危機を待たずに、新しい防御メカニズムを導入しました。

最も顕著なのは、 trusted publishing パッケージ公開時の拡張チェック。

信頼できるパブリッシングとは

Trusted publishingは、秘密トークンを保存して使用する必要がない、npmのパッケージ公開の新しいモデルです。代わりに、GitHub Actionsまたは他のCI/CDプロバイダーを信頼して、パッケージを直接公開できるようになりました。

  • トークンがない場合、漏洩するものがありません。

  • 公開物をリポジトリに関連付けます。つまり、特定のコードに関連付けます。

  • 簡単なセットアップ:GitHubはオーサリングを確認し、パッケージに「署名」します。

🔥 10万人以上の学生が参加中

理論を読むのに疲れた?
コーディングの時間だ!

Kodik — 実践でプログラミングを学ぶアプリ。AIメンター、インタラクティブなレッスン、実際のプロジェクト。

🤖 AI 24時間
🎓 修了証
💰 無料
🚀 始める
今日参加

公開時の新しいチェック

  • パッケージ所有者の確認 — 公開は確認済みの参加者のみ可能です。

  • ソースコードの検証 - ソースとパッケージ間の関係がより透明になります。

  • ログと監査 — 公開を開始したユーザーと、その基礎となるコードを追跡しやすくなりました。

なぜこれが誰にとっても重要なのですか?

変更は大規模なライブラリのメンテナーにのみ関係するように思えるかもしれませんが、そうではありません。

  • アプリ開発者向け:感染したパッケージを受け取る可能性が低くなります。

  • ライブラリ作成者向け:盗まれる可能性のあるトークンを保存する必要はありません。

  • 企業向け:透明性の高い監査プロセスと、サプライチェーンの安全性に対する信頼性の向上。

古い npm 公開プロセスと新しい公開プロセスの比較

ステージ

以前(信頼できるパブリッシング以前)

現在(信頼できるパブリッシングを使用)

認証

秘密トークン npm、手動または CI での保存。

トークンは必要ありません。GitHub Actionsが作成者を確認します。

安全性

トークンが漏洩するリスクが高い。

トークンがない場合、漏洩するものがなく、公開はコードに関連付けられます。

透明度

リリースをコードに関連付けるのは難しいです。

自動検証:パッケージはソースにリンクされています。

監査

手動チェック。

詳細な公開ログ。

設定

トークンの手動作成と保存。

信頼できるパブリッシングの1回限りのセットアップ。

信頼できる公開プロセスの概要

flowchart TD
    A[Разработчик пушит код в GitHub] --> B[Запуск GitHub Actions workflow]
    B --> C[Сборка и тесты проекта]
    C --> D[GitHub подтверждает авторство и репозиторий]
    D --> E[Trusted Publishing: передача данных в npm]
    E --> F[npm получает пакет]
    F --> G[Верификация пакета и исходников]
    G --> H[Успешная публикация в npm Registry]
  

開発者が今すぐすべきこと

  1. GitHubのリポジトリを確認する 設定へのアクセス。

  2. GitHub Actions を有効にする、まだCI/CDを使用していない場合。

  3. npmで信頼できるパブリッシングを設定する:パッケージをリポジトリに関連付けます。

  4. 古いトークンを削除する漏れのリスクを減らすため。

  5. ドキュメントを更新する、公開がtrusted publishingを介して行われることを示しています。

GitHub は正しい方向に進んでいます。エコシステムの脆弱性は、開発者の「手動の規律」だけでは解決できません。自動的かつ組み込みの保護が必要です。信頼できる公開と新しい検証は、単なる利便性ではなく、安全で信頼できるエコシステムへの根本的な移行です。

コディック 初心者や経験豊富な開発者が最新のツールを理解し、より安全に作業するのに役立ちます。
私たちのブログを購読して テレグラムチャンネル新しいテクノロジーを把握するために。

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要