デューン 』のファンなら、その止めようのない力で砂漠の形を変える巨大なサンドワームにつけられた名前として「シャイ=フルード」を知っているだろう。今、オープンソースコミュニティは、同様に手ごわいサイバー脅威に直面している。9月15日、オープンソースソフトウェアコミュニティは、これまでで最も破壊的な危機に直面した。Shai-Huludとして知られる自己複製ワームがnpmエコシステムの中を移動し、数時間のうちに180以上のパッケージを危険にさらしたのだ。
などの信頼できるライブラリ ctrl/tinycolor、crowdstrike-nodejs、string-kit、json-sugar、photon-colors
のフォークがある。 typed.js
そして 日時
がすでに感染している。毎週何百万件もダウンロードされるため、企業は知らず知らずのうちに、ビルド・パイプラインに直接アクティブな感染を引き込んでいる。
このワームは、npmのライフサイクルフックを悪用してGitHubとパブリッククラウドの認証情報を盗み出し、その秘密を使って他のプロジェクトに不正なアップデートを公開する。
攻撃の流れ
- の危殆化したバージョンである。
タイニーカラー
はローカルに悪意のあるスクリプト(bundle.js)を注入します。 - bundle.jsスクリプトは、被害者のマシン上のGitHubの秘密をスキャンするために、TruffleHogをダウンロードして実行します。
- 発見された GitHub シークレットを使って、スクリプトはアクセス可能なリポジトリ(所有者、共同作業者、組織のメンバー)を列挙する。
- 各リポジトリに対して、デフォルトのブランチを取得し
シャイフルード
ブランチにワークフローファイルをアップロードする。.github/workflows/shai-hulud-workflow.yml
. - ワークフローはプッシュイベントで起動するように設定されています。GitHub Actions ランナーは、シークレットにアクセスできるリポジトリコンテキストでジョブを実行します。
- このワークフローはGitHubの秘密を読み取り、攻撃者が管理するエンドポイントに流出させる。
今、そして長期的に重要な理由
オープンソースは設計上オープンである。npmレジストリは毎月数千億のダウンロードに対応しており、誰でもパッケージを公開することができる。そのオープン性はイノベーションを促進するが、同時に攻撃者が規模に応じて信頼を武器にする機会も生み出す。
信頼は永久に続くものではないのだ。今日安全なパッケージも、明日には危険にさらされる可能性があるのだ。
推奨正確な依存バージョンを指定する
開発者には、最新バージョンの自動インストールを避けることを強く推奨します。その代わりに、インストールする特定のバージョンを定義し、検証後にのみ手動で新しいバージョンを確認し、アップグレードするようにしてください。
または*で宣言された依存関係は、危険なリリースを含む、意図しないアップデートを取り込む可能性があります。正確なレビュー済みのバージョンを指定してください:
"dependencies": { "lodash": "4.17.0" }
アップグレードは、新しいリリースの信頼性と安全性を確認した後に行いましょう。
今と次:自動化と人的介入のバランス
今すぐ即時対応 | 次へ長期的なレジリエンス |
---|---|
自動化された: npmの依存関係を監査し、複数のエンジンでアーティファクトをスキャンします。 人間だ: 開発者はブラインドインストールを一時停止し、依存ソースを手動で確認する。 | 自動化された: すべてのパイプラインに継続的なSBOM検証とマルウェアスキャンを組み込む。 人間だ: セキュリティチームは、リスクの高いパッケージを定期的にレビューし、異常が現れた場合にはエスカレーションを行う。 |
自動化された: 公開された秘密を取り消し、ローテーションする。 人間だ: セキュリティ・チームは、疑わしいクレデンシャルの使用を評価し、封じ込め手順を決定する。 | 自動化された: 自動化されたローテーションポリシーと最小特権のデフォルトを実施する。 人間だ: 経営幹部はガバナンス基準を設定し、サプライチェーンの信頼に対する説明責任を確保する。 |
自動化された: CI/CDでMFAと署名チェックを実施する。 人間だ: リーダーたちは、完全性を守るために、いつ納品を遅らせるかを決める。 | 自動化された: すべてのリリースについて、署名付きコミットと検証可能なビルド証明書を要求する。 人間だ: 取締役会は、ソフトウェアの信頼性を、コンプライアンスのチェックボックスではなく、戦略的な回復力の問題として扱う。 |
全体像
経営陣にとって、今回の攻撃は、ソフトウェアのサプライチェーンリスクが企業リスクであることを思い起こさせるものだ。規制当局は検証可能なコントロールを求め、顧客は完全性の証明を求めている。取締役会はもはや、重要な業務を動かすコードに対する説明責任を先送りすることはできない。
実務家にとって、今回のアウトブレイクは、パイプラインを進化させなければならないことを示している。すべてのオープンソースの依存関係は、安全が証明されるまでは信頼できないものとして扱われるべきである。SBOM、マルウェアスキャン、サニタイゼーションはベースラインを提供するが、人間の意識-一時停止、質問、エスカレーション-は、盲目的な自動化が次のワームをインポートするのを防ぐものだ。
OPSWAT視点
Supply Chain 信頼構築
npmのようなオープンソース環境に対するサプライチェーン攻撃のような事件は、ソフトウェアのサプライチェーンが今や重要なワークロードであることを証明している。業界は、盲目的な信頼から検証可能な信頼へと移行しなければならない。
ジョージ・プリチッチOPSWAT製品担当副社長
OPSWAT、サプライチェーンの信頼は思い込みではなく、構築されなければならないと考えています。私たちのアプローチは、「深層における防御」に重点を置いています:
- SBOM の統合による包括的なソフトウェアサプライチェーンの可視化により、すべてのソフトウェアコンポーネントを追跡し、脆弱性を特定し、SDLC 全体のリスクを管理し、すべての段階で証明性を検証します。
- 30以上のエンジンによるMultiscanning 、特にサードパーティのオープンソースに含まれる、パッケージ内のポリモーフィックマルウェアやその他のマルウェアを検出します。
- 悪意のあるペイロードが実行される前に無力化するCDR(Content Disarm and Reconstruction)。
- CI/CDパイプライン全体で信頼境界を強制するSecure ストレージと転送制御。
- これらのコントロールは、単にリスクを検出するだけでなく、積極的にファイルをサニタイズし、信頼を強化することで、今回のようなインシデントが下流に連鎖する可能性を低減する。
迅速な開発と強力なセキュリティは相反するものではありません。開発チームは、自動化されたスキャンと承認ワークフローをソフトウェアのサプライチェーンに組み込むことで、ペースを落とすことなくコードを保護することができる。
ジョージ・プリチッチOPSWAT製品担当副社長
開発と歩調を合わせたセキュリティ
OPSWAT使えば、セキュリティは既存のワークフローに直接統合される:
- CI/CDパイプラインの統合- Jenkins、GitHub Actions、GitLab、その他のビルド環境内での自動スキャンとポリシー実施。
- シームレスなアーティファクトスキャン- npmパッケージ、コンテナ、バイナリをルーチンビルドステップの一部として検証します。
- オンデマンドでのSBOM生成と検証- リリースごとにSBOMを自動的に生成し検証することで、余分なオーバーヘッドをかけることなく実証性を確保します。
- 透過的な開発者エクスペリエンス- セキュリティはバックグラウンドで実行され、本当に介入が必要な場合にのみ問題が表面化します。
- 自動修復フック- ビルドを中断することなく、侵害されたファイルを隔離またはサニタイズします。
スピード重視の開発文化が、必要なセキュリティ検証と対立する必要はない。自動化されたスキャンと承認ワークフローは、開発速度への影響を最小限に抑えつつ、必須であるべきだ。
これらの機能をソフトウェア・ライフサイクルに組み込むことで、OPSWAT 開発スピードと検証可能な信頼の両方を達成するのに役立つ。
テイクアウェイ
Shai-Hulud npmワームは、今日のソフトウェアを形作る脅威の明確なシグナルだ。攻撃者はあなたのコードベースに侵入する必要はない。彼らはあなたを説得してインストールさせることができる。すべてのアーティファクトを検証し、すべての段階に弾力性を組み込み、自動化だけでは十分でない場合には、人に行動する権限を与える。今、このことに真剣に取り組む組織が、セキュアなソフトウェアサプライチェーンの未来を定義することになるだろう。
オーダーメイドのシームレスな統合ソリューションで、最新のサイバー脅威からソフトウェア・サプライチェーンを守る準備はできていますか?