本文の内容は、2022年1月12日にAlberto Pellitteriが投稿したブログ(https://sysdig.com/blog/malicious-modifications-detection-sysdig/)を元に日本語に翻訳・再構成した内容となっております。
colors.js
と faker.js
の2つのパッケージが、使用できないほどに改変されました。原因はさまざまですが、特筆すべきは、これらの依存関係を利用した複数のアプリケーションが関与していたことです。colors.js
はnode.jsのコンソールで色やスタイルのカスタマイズを可能にし、 faker.js
は大量のフェイクデータを生成するテスト目的で広く使用されています。どちらも有効期間中に何億回もダウンロードされており、そのため影響が大きいのです。ソフトウェア・サプライチェーンの危殆化
faker.js
faker.js
6.6.6(不審な数字)が改ざんされています。影響を受けたバージョンは機能しなくなり、これを使用しているプロジェクトの動作がおかしくなります。また、 readme
ファイルが改ざんされ、インターネット上で人気のあるハクティビストについて言及されています。

colors.js
colors.js
パッケージも破損しましたが、この場合はユーザーのコンソールが無限ループに陥るバグでした。このバグの主な原因は、このコードの一部です。… require('./extendStringPrototype')(); /* remove this line after testing */ let am = require('../lib/custom/american'); am(); for (let i = 666; i < Infinity; i++) { if (i % 333) { // console.log('testing'.zalgo.rainbow) } console.log('testing testing testing testing testing testing testing'.zalgo) }
影響を受けるパッケージのバージョンは、1.4.1、1.4.2、および1.4.44-liberty-2です。

影響の内容
faker.js
のパッケージは、最新バージョンでは単純に使用できなくなりました。color.js
の最新版では、ユーザーのコンソールが無限ループに陥り、Zalgoテキストシンボル(テキストを不気味に見せるUnicode文字を組み合わせたシーケンス)が表示されることがありました。npm start
コマンドを実行した後のコンソールの様子を示しています。
対策
faker.js
パッケージを使用したい場合は、最新のリリースではもう動作しないことを覚えておいてください。そのため、古いバージョンのいずれかをインストールする必要があります。最新のステーブルバージョン5.5.3です。
ソフトウェアのサプライチェーンに対する攻撃の検出



今後の注意点
これは、1つのオープンソース・プロジェクトを意図的に改変することで、何千ものアプリケーションに影響を与える例です。この種の出来事は、これらのプロジェクトのメンテナンスやサポートの重要性を浮き彫りにします。再び起こる可能性があります。Sysdigは、インライン・イメージ・スキャン、継続的なスキャン、脆弱性レポートなどの高度なイメージ・スキャン機能を備えています。Sysdigのガイド付きオンボーディングでは、5分以内に設定が完了します。今すぐお試しください!