スタージャッキング
スタージャッキング とは何ですか?
スタージャッキング悪意あるパッケージが有名な GitHub リポジトリへの偽のリンクを設定し、そのスター数や貢献者、信頼性を見かけ上引き継がせるサプライチェーン手法。
スタージャッキングは、npm や PyPI といったレジストリが、作者が指定した URL を所有権検証せずに人気指標(GitHub スター数、貢献者数、README)として表示する仕様を悪用します。攻撃者は悪意あるパッケージや typosquatting パッケージを公開し、repository フィールドに無関係な著名プロジェクトを指定します。スター数やダウンロードバッジで信頼性を判断する開発者やツールは、人気あるプロジェクトに見えるためそのまま悪意あるコードをインストールしてしまいます。typosquatting や依存関係混乱攻撃と組み合わされることが多く、対策には実際のリポジトリ URL の確認、メンテナ履歴と公開日の点検、Socket・OpenSSF Scorecard・レジストリ署名検証などのツール活用が有効です。
● 例
- 01
悪意ある npm パッケージが "repository" フィールドに facebook/react を指定し、レジストリページに React のスター数が表示されるようにする。
- 02
PyPI の typosquatting パッケージがホームページとして著名なデータサイエンスライブラリのリンクを設定し、正当に見せかける。
● よくある質問
スタージャッキング とは何ですか?
悪意あるパッケージが有名な GitHub リポジトリへの偽のリンクを設定し、そのスター数や貢献者、信頼性を見かけ上引き継がせるサプライチェーン手法。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
スタージャッキング とはどういう意味ですか?
悪意あるパッケージが有名な GitHub リポジトリへの偽のリンクを設定し、そのスター数や貢献者、信頼性を見かけ上引き継がせるサプライチェーン手法。
スタージャッキング はどのように機能しますか?
スタージャッキングは、npm や PyPI といったレジストリが、作者が指定した URL を所有権検証せずに人気指標(GitHub スター数、貢献者数、README)として表示する仕様を悪用します。攻撃者は悪意あるパッケージや typosquatting パッケージを公開し、repository フィールドに無関係な著名プロジェクトを指定します。スター数やダウンロードバッジで信頼性を判断する開発者やツールは、人気あるプロジェクトに見えるためそのまま悪意あるコードをインストールしてしまいます。typosquatting や依存関係混乱攻撃と組み合わされることが多く、対策には実際のリポジトリ URL の確認、メンテナ履歴と公開日の点検、Socket・OpenSSF Scorecard・レジストリ署名検証などのツール活用が有効です。
スタージャッキング からどのように防御しますか?
スタージャッキング に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
スタージャッキング の別名は何ですか?
一般的な別名: スター乗っ取り, Stat-jacking。
● 関連用語
- attacks№ 1183
Typosquatting パッケージ
人気ライブラリと非常に似た名前で公開され、開発者が打ち間違いなどで誤って導入してしまう悪意あるオープンソースパッケージ。
- attacks№ 647
悪意ある npm パッケージ
インストール時にデータ窃取、マルウェア導入、下流アプリ侵害を狙う隠しコードを含む npm パッケージ。
- attacks№ 1116
サプライチェーン攻撃
信頼されたサードパーティのソフトウェア・ハードウェア・サービス提供者を侵害し、その下流顧客に到達する攻撃。
- appsec№ 304
依存関係混同攻撃(Dependency Confusion)
攻撃者が組織内部の依存関係と同じ名前の悪意あるパッケージをパブリックレジストリに公開し、ビルドツールにパブリック版を取得させるサプライチェーン攻撃。