Amazonが「オープンソースレジストリ史上最大級のパッケージ氾濫事件の一つ」と表現する、またしてもnpmレジストリがサプライチェーン攻撃に見舞われましたが、今回はひと味違います。パッケージに認証情報窃取コードやランサムウェアを仕込むのではなく、今回はトークンファーミングキャンペーンが行われました。
Amazon Inspectorのセキュリティ研究者は、新しい検知ルールとAI支援を活用し、10月下旬に不審なnpmパッケージを最初に発見しました。そして11月7日までに、チームは数千件を特定。11月12日までには、複数の開発者アカウントにまたがる15万件以上の悪意あるパッケージを突き止めました。
これらはすべて、組織的なtea.xyzトークンファーミングキャンペーンと関連していたとのことです。これは、オープンソース開発者の貢献に対してTEAトークンというユーティリティ資産で報酬を与えるための分散型プロトコルであり、teaエコシステム内でインセンティブ、ステーキング、ガバナンスに利用されます。
ここ数ヶ月の一連のパッケージ汚染事件や最近の攻撃とは異なり、今回の攻撃は従来型のマルウェアをオープンソースコードに仕込むものではありませんでした。代わりに、攻撃者は自己増殖型の攻撃を作り出し、パッケージに自動生成・公開するコードを仕込むことで、正規のオープンソース開発者の貢献を利用して暗号通貨報酬を得ていました。
コードにはtea.yamlファイルも含まれており、これらのパッケージを攻撃者が管理するブロックチェーンウォレットアドレスに紐付けていました。一方、ユーザーは自分たちが知らず知らずのうちに攻撃者のウォレットを肥やしていることに全く気付いていませんでした。
「この事件は、金銭的インセンティブが前例のない規模でレジストリ汚染を引き起こすという脅威の進化と、ソフトウェアサプライチェーンを守るための業界とコミュニティの協力の重要性を示しています」とAWSの研究者Chi Tran氏とCharlie Bacon氏は、トークンファーミングキャンペーンに関するセキュリティブログで述べています。
クラウド大手のAmazonは、Open Source Security Foundation(OpenSSF)と連携して対応し、新たに発見した悪意あるパッケージをOpenSSFの悪意あるパッケージリポジトリに提出しました。各パッケージには平均して30分以内にMAL-IDが付与されました。
Tran氏とBacon氏によれば、このキャンペーンは認証情報窃取や他のマルウェアを使っていないにもかかわらず、いくつかのリスクをもたらします。これには、npmレジストリを低品質で機能しないパッケージで氾濫させ、オープンソースコミュニティの信頼を損なうことが含まれます。オープンソースコミュニティは、すでに重要インフラを支えるレジストリの安全確保のために(無償で)絶えず戦っています。
さらに、これらの金銭目的のパッケージによってレジストリのインフラ、帯域幅、ストレージが消費され、本来の貢献者が利用できるリソースが奪われてしまいます。
加えて、「このキャンペーンの成功は、他の報酬型システムでも同様の悪用を誘発し、金銭目的の自動パッケージ生成が常態化する恐れがある」とAmazonの担当者は警告しています。
ベンダーとして、Amazonは当然ながら、防御側に対して自社製品を使い、開発環境内でtea.xyzトークンファーミングに関連するパッケージを徹底的に調査するよう推奨しています。
しかし、低品質で機能しないパッケージを削除し、サプライチェーンを強化すること、例えばソフトウェア部品表(SBOM)の活用や、継続的インテグレーションおよび継続的デリバリー(CI/CD)環境の分離も、常に有効な対策です。®