Featured image of post オープンソース開発者が広く使われているライブラリを改ざん、大量のプロジェクトに影響

オープンソース開発者が広く使われているライブラリを改ざん、大量のプロジェクトに影響

無限ループを引き起こす不正なアップデートがプッシュされる

ある開発者が、GitHub とソフトウェアレジストリ npm にあるオープンソースライブラリ「faker.js」と「colors.js」を意図的に改竄し、何千人ものユーザーがこれらのライブラリを含むプロジェクトの影響を受けていると、Bleeping Computer が報じています。colors.jsは動作するバージョンにアップデートされたようですが、faker.jsはまだ影響を受けているようで、以前のバージョン(5.5.3)にダウングレードすることでこの問題を回避することができます。

faker.jsとcolors.jsが改ざん

Bleeping Computerは、これら2つのライブラリの開発者であるMarak Squiresが、colors.jsに「新しいアメリカ国旗モジュール」を追加する悪質なコミットを導入し、さらにfaker.jsのバージョン6.6.6もロールアウトして、同様の破壊的展開を誘発することを発見しました。破壊されたバージョンでは、「LIBERTY LIBERTY LIBERTY」と書かれた3行のテキストを始め、アプリケーションが奇妙な文字や記号を無限に出力するようになりました。

さらに不思議なことに、faker.js の Readme ファイルも「What really happened with Aaron Swartz?(Aaron Swartzに何が起きたのか?)」に変更されています。Swartzは、Creative Commons、RSS、Redditの確立に貢献した著名な開発者です。2011年、Swartzは学術データベースJSTORから、無料でアクセスできるようにする目的で文書を盗み、起訴され、その後2013年に自殺しました。SquiresがSwartzに言及したのは、彼の死をめぐる陰謀論に言及した可能性があります。

Bleeping Computerが指摘したように、AmazonのCloud Development Kitで作業しているユーザーを含む多くのユーザーが、この問題についての懸念を表明するためにGitHubのバグ追跡システムに目を向けました。また、faker.jsはnpmで毎週250万近くダウンロードされ、color.jsは毎週約2240万ダウンロードされているため、この破損の影響は広範囲に及ぶと思われます。ちなみに、faker.jsはデモ用の偽データを生成するライブラリで、color.jsはJavaScriptのコンソールに色を付けるライブラリです。

この問題に対し、Squires氏はGitHubにアップデートを投稿し、破損したファイルが生成する不具合のあるテキストを指す「zalgo問題」に対処しています。「colorsのv1.4.44-liberty-2リリースにzalgoのバグがあることに気づきました。」Squires氏は、おそらく皮肉っぽく書いています。「我々はこの状況を解決するために今取り組んでおり、まもなく解決する予定であることをご承知おきください。」

GitHubアカウントがBANされる

faker.jsの不正なアップデートを行った2日後、Squiresは、GitHubに数百のプロジェクトを保存しているにもかかわらず、GitHubからBANされたことを示すツイートを発信しました。しかし、faker.jsとcolors.jsの両方の変更履歴から判断すると、彼のBANはすでに解除されているようです。Squires氏は1月4日にfaker.jsのコミットを導入し、1月6日にBANされ、1月7日にcolors.jsの「liberty」バージョンを導入したのです。Squires氏のアカウントが再びBANされたのかどうかは不明です。

しかし、話はこれで終わりません。Bleeping Computerは、2020年11月にGitHubに投稿されたSquiresの投稿の1つを掘り起こしましたが、その中で彼はもうただ働きはしたくないと宣言しています。「失礼ながら、私はもうFortune 500(およびその他の小規模企業)を私の無償の仕事でサポートするつもりはありません」と彼は言っています。「これを機に、私に6桁の年間契約書を送るか、プロジェクトを中止して他の人にやってもらうか、どちらかにしてください」と。

Squiresの大胆な行動は、オープンソース開発の道徳的、金銭的ジレンマに注目させることが目的であったと思われます。膨大な数のウェブサイト、ソフトウェア、アプリケーションが、必要不可欠なツールやコンポーネントを作成するためにオープンソースの開発者に依存しており、それらは無料で提供されています。OpenSSLに影響を与えた2014年のHeartbleed騒動や、log4jに見つかった最近のLog4Shell脆弱性のように、オープンソースソフトウェアのセキュリティ問題を修正するために無給の開発者が精力的に働くのは、この問題と同じで、ボランティアが修正のために躍起になっているのです。

source via 

追記

関連記事


Built with Hugo
テーマ StackJimmy によって設計されています。