Snyk社が公開した「SHA1-Hulud, npm supply chain incident」について、Snykでスキャンしてみた

Snyk社が公開した「SHA1-Hulud, npm supply chain incident」について、Snykでスキャンしてみた

「SHA1-Hulud」に関するレポートが公開されました。(2025年11月24日)
2025.11.25

おはようございます。ゲームソリューション部のきだぱんです。

2025年11月24日、新たなサプライチェーン攻撃「SHA1-Hulud」に関するレポートが公開されました。
https://security.snyk.io/vuln/SNYK-JS-BESTGPIOCONTROLLER-14103231
https://snyk.io/jp/blog/sha1-hulud-npm-supply-chain-incident/

これは同年9月に発生したShai-Huludの「第2波」と見られており、以前よりもはるかに巧妙なものとなっています。

今回はSnykの公開情報を基に、Snykを用いることでなぜこの脅威をいち早く対処できるのかについて書いていきます。

Shai-Huludについて

どんなことが起きたのか?

  • パッケージに含まれる preinstall スクリプトが自動的に実行される
  • 攻撃者はこれを踏み台にして、認証情報の窃取や、他のリポジトリへの感染拡大を行う

また、今回の件は2025年9月に発生した「Shai-Hulud」攻撃の第2波とも言われていますが、今回はより凶悪になっています。

  • コンテナ環境からホストOSへの侵入(権限昇格)を試みる
  • 攻撃(情報の窃取など)に失敗した場合、証拠隠滅や嫌がらせとして、ユーザーのホームディレクトリを削除する破壊的な動作を行う
    SHA1-Hulud, npm supply chain incidentより

Snykで対策

ここからはSnykを使用しているユーザー向けになりますが、今回の件はSnykで検知することが可能となっております!

Snyk UIにログインすると、常に警告も出てます!
スクリーンショット 2025-11-25 20.02.26

なぜSnykならこの脅威を検知できるのか

このように高度化・複雑化する攻撃に対して、開発者はどのように身を守ればよいのでしょうか。
その答えの一つが「Snykによるスキャン」です。

Snykを利用していれば、この「SHA1-Hulud」の影響を受けるパッケージが含まれていないか、プロジェクトをスキャンすることで即座に発見することができます。

なぜSnykにはそれが可能なのでしょうか。その理由は、Snykが持つ「 独自の脆弱性データベース 」の存在にあります。
一般的なセキュリティツールの中には、公的に発表された脆弱性情報(CVEなど)のみを参照するものも少なくありません。
しかしSnykは、公開情報(CVE)だけでなく、専任リサーチチーム、機械学習、学術機関などから情報を収集し、独自の脆弱性データベースを構築しています。
業界大手がSnykの脆弱性データベースを採用しているとの情報もあります!

スクリーンショット 2025-11-25 19.21.50

(https://go.snyk.io/jp.html より)

今回の件に関しても、Snykは攻撃キャンペーンの発生直後から独自のデータベースで詳細な追跡を開始しており、どのパッケージのどのバージョンが危険かという情報をリアルタイムに近い速度で更新し続けています。

https://trust.snyk.io/updates?_gl=1*ybtbie*_gcl_au*MzMyMzcxMDc4LjE3NjIzNDA4MjQ.*_ga*MTU3Njk5NDIyOS4xNzUzNzYzNTY5*_ga_X9SH3KP7B4*czE3NjQwNjYxNTYkbzEwNCRnMSR0MTc2NDA2NjMyNSRqNTgkbDAkaDA.

Snykでスキャン

Snykでは対象プロジェクトに対して、DailyまたはWeeklyでスキャンされていますが、
Snykユーザーの皆様は、重要なプロジェクトについては、念のためSnykにて手動での再テストを実施していただきますことをお勧めします。

スキャン方法
https://docs.snyk.io/scan-with-snyk/start-scanning

Snyk UIでのスキャン実施

Snykプロジェクトをインポートするとスキャンが実行されます。
既存のプロジェクトに対しては、該当プロジェクトで[Rtest Now]をクリックしていただければスキャンが実行されます。
スクリーンショット 2025-11-25 20.37.16

スキャンが完了しました。
スクリーンショット 2025-11-25 20.40.05

Historyを確認いただければ、スキャンの履歴も確認できます。
スクリーンショット 2025-11-25 20.40.37

Snyk CLIでスキャン

https://dev.classmethod.jp/articles/scanning-the-npm-project-with-snyk-cli/
https://docs.snyk.io/developer-tools/snyk-cli/getting-started-with-the-snyk-cli

APIを利用してスキャン

https://docs.snyk.io/snyk-api/reference/test-v1

スキャン結果を見る

スキャンが完了したら、[Report]または[issue]から今回のCWE-506を検索かけていただき該当があるか確認していただければ、対象であるかすぐに確認できます!

スクリーンショット 2025-11-25 19.48.34

https://security.snyk.io/vuln/SNYK-JS-BESTGPIOCONTROLLER-14103231

Snyk フリープラン!

現在Snykユーザーではないという方も、Snykにはなんとフリートライアルがあります!!
ぜひ、この機会にSnykをお試しいただければと思います。

https://dev.classmethod.jp/articles/snyk-trial-scan-2022/

さいごに

Snykは独自の脆弱性データベースを持っており、今回のような突発的かつ危険な脅威であっても、専門のリサーチチームがリアルタイムで追跡し、情報を更新し続けています。「自分のプロジェクトは大丈夫だろうか」と不安を抱えたまま開発を続ける必要はありません。
ぜひ今すぐSnykでプロジェクトをチェックしてみてください!!

Snykに関するブログも沢山展開されていますので、是非こちらもご覧ください。
https://dev.classmethod.jp/tags/snyk/

この記事がどなたかのお役に立てば幸いです。
以上、きだぱんでした。

参考

この記事をシェアする

FacebookHatena blogX

関連記事