2024年10月30日、Exaforceのインシデント対応チームがLottieFilesに依頼されました。これは、LottieFilesの人気者を狙った高度なサプライチェーン攻撃を発見したためです。 ロティプレイヤー NPM パッケージ。
- この事件では、フィッシング攻撃によってパッケージ管理者の資格情報が侵害され、DeFiおよびWeb3コミュニティで使用される暗号通貨ウォレットを標的にした悪意のあるコードが配布されました。
- LottieFilesは迅速に行動し、共同で1時間以内に攻撃を封じ込めることができました。これにより、毎日1,100万人以上のアクティブユーザーがいると推定されるパッケージの広範なユーザーベースへの潜在的な影響を最小限に抑えることができました。
- プロセス全体を通して、LottieFilesは賞賛に値するスピードとユーザーコミュニティへのコミットメントを示しました。
Exaforceは、LottieFilesが長年にわたって得てきた信頼を得てコミュニティにサービスを提供できるように努めています。取られた主な措置:
- LottieFilesのチームがNPMパッケージの出所証明を実装するのを支援し、パッケージ出所の暗号による検証、ビルドプロセス、継続的な検出と対応を提供します。

- LottieFilesのセキュリティ体制を強化し、重要なシステムの継続的な監視を強化するために、引き続きLottieFilesと積極的に関わってください。
- インシデント後のフォローアップブログでは、ベストプラクティスに関するその他の知見や提案を共有する予定です。
インシデントレポートの公式詳細はこちら:
ロッティ・ファイルと NPM パッケージについて
LottieFilesは、プラットフォーム間で軽量でスケーラブルなアニメーションを実装するためのツールを開発者に提供することで、Webアニメーションに革命をもたらしました。彼らのエコシステムの中心にあるのがLottie-player NPMパッケージです。このパッケージは生涯900万人以上のユーザーに利用され、毎週平均94,000ダウンロードされています。NPM パッケージは現代の JavaScript 開発のバックボーンを形成し、開発者が効率的かつ安全にアプリケーションを構築するために使用するビルディングブロックとして機能します。ソフトウェアサプライチェーンでは、これらのパッケージは信じられないほどの価値と潜在的な脆弱性の両方を兼ね備えているため、そのセキュリティは最優先事項となっています。
攻撃の概要と影響
この事件は、LottieFilesの開発者を標的とした巧妙なフィッシングキャンペーンから始まりました。攻撃者 (電子メール) notify.npmjs@pm.me)が、NPMに登録されている開発者のプライベートGmailアカウントに、共同作業への招待状を添えて、慎重に作成されたフィッシングメールを送信しました @lottiefiles /jlottie npm パッケージ。このソーシャルエンジニアリング攻撃を通じて、攻撃者は標的となる開発者から NPM 認証情報と 2 要素認証コードの両方を正常に収集しました。
攻撃者は、侵害された認証情報を使用して、2024年10月30日の 19:00(UTC)から 20:00(UTC)の間にキャンペーンを実行し、3つの悪意のあるバージョンを公開しました 宝くじプレイヤーパッケージ (2.0.5、2.0.6、および 2.0.7) を NPM レジストリに直接送信します。このマニュアル出版物は、LottieFiles の標準的な GitHub Actions デプロイメントパイプラインをバイパスしたものです。
この攻撃の分散メカニズムは、現代のウェブ開発慣行の性質上、特に効果的であることが証明されました。侵害されたバージョンは、主要なコンテンツ配信ネットワーク (CDN) を通じて急速に広まり、最新のライブラリバージョンを自動的に取得するように設定された Web サイトに影響を及ぼしました。この自動更新機能は、通常はセキュリティ上の利点ですが、攻撃ベクトルとなり、インシデントの範囲が大幅に拡大しました。
学んだ重要な教訓
この事件を処理する過程で、現在のNPMパッケージ配布モデルには、JavaScriptの依存関係でNPMに依存している企業組織が懸念すべき重大なセキュリティ上の課題があるという結論に達しました。Github (NPM の買収とその後の NPM Enterprise の廃止後) は移行戦略を推進していますが、既存の npmjs.comサービスには重大なセキュリティギャップがあります。ユーザーへのSSOの欠如、パッケージのアップストリームやパッケージの使用に関するログなし、整合性チェックの制限、自動化システムに対するOIDCのサポートの欠如、CDNを介した配布の制御の欠如などです。これらの制限が合わさって、現代のJavaScript開発のバックボーンとなっているものにはセキュリティ上の大きな欠陥があり、組織がサプライチェーン攻撃やコンプライアンス問題にさらされる可能性があります。私たちはLottie Filesとともに、npmjsやGithubと協力して、このような重要なソフトウェアサプライチェーンにおける現在のギャップを改善していきます。
インシデントの検出と対応のタイムライン
このインシデントは、10月30日の19時24分(UTC)頃、LottieFilesのコミュニティWebサイトを通じて初めて報告されました。このとき、ユーザーは不審なウォレット接続プロンプトに気づき始めました。エクサフォースのインシデント・レスポンス・チームは、ロッティー・ファイルと連携して、直ちに対策を講じました。
- 10 月 30 日 19:24 UTC: 初期検出とレポート
- 10 月 30 日 19:30 UTC: 影響を受けたパッケージバージョン (2.0.5、2.0.6、2.0.7) が削除されました
- 10月30日 19:35 UTC: 侵害されたNPMアクセストークンの取り消し
- 10月30日 19:58 UTC: クリーンバージョン2.0.8の公開
- 10月31日 02:35 UTC: 影響を受ける開発者のNPMアクセス権の削除
- 10月31日 02:40 UTC: 個々の開発者のNPMリポジトリへのアクセスが取り消されました
- 10月31日 02:45 UTC: すべてのNPMキーと他のシステムのキーが取り消され、NPM自動化が一時停止されました
- 10 月 31 日 03:30 UTC: インシデント後のさらなる分析のため、問題のラップトップを隔離しました
- 10 月 31 日 03:35 UTC: 侵害されたラップトップでフォレンジックを開始
- 10月31日 03:55 UTC: 主要なCDNプロバイダーとの連携による感染ファイルの削除
- 10 月 31 日 4:00 UTC: ロッティ・ファイルズによる最初の公式X(Twitter)投稿
- 10月31日 20:06 UTC: コミュニティ運営者の協力を得て、すべての感染ファイルがダウンストリーム CDN (cdnjs.com、unpkg.com) から削除されました
- 11月1日、午前1時59分(UTC): ロッティ・ファイルによるX(Twitter)投稿の2回目の公式アップデート
より安全な宝くじファイルに向けた取り組みの強化
この事件に対応して、私たちはLottie Filesと協力して、インフラストラクチャ全体に包括的なセキュリティ改善を実施しています。主な対策には以下が含まれます。
- NPMパッケージの出所証明の実装と継続的な監視により、パッケージの出所とビルドプロセスの暗号化検証が可能になります。これにより、パッケージは検証済みの GitHub ワークフローでのみビルドおよび公開され、人間が直接公開するリスクがなくなります。
- 重要なシステムにおける人間と機械のアイデンティティの態勢を理解する。認証情報を含むマシンアイデンティティは、今日のクラウドで最も一般的な脅威ベクトルです。強固なクラウド・セキュリティ体制を確立するには、これらのアイデンティティがどのように使用されているのか、誰によって使用されているのかを可視化することが不可欠です。
- リアルタイム監視と 脅威検出範囲 Exaforce AI-Botと当社のマネージドクラウド検出および対応サービスを組み合わせて、すべての重要なシステムで活用しています。
今後のフォローアップでは、Lottieが既存のチームをタスク固有のAIボットで強化することで、業界をリードするセキュリティエンジニアリングと運用の確立に役立つ教訓を共有していきますので、どうぞご期待ください。NPM のインフラストラクチャーを改善するために協力して初めて、より安全な JavaScript エコシステムを構築することができます。で エクサフォース、私たちは、オープンソース図書館が出版プロセスにおいて出所証明を採用できるよう支援することで、最初の一歩を踏み出すことに取り組んでいます。


































