人気オープンソースライブラリ「colors.js」と「faker.js」の開発者であるMarak氏が、これらのnpmライブラリを意図的に破壊しました。colors.jsおよびfaker.jsに依存しているプロジェクトは多数存在しているため、その影響が懸念されています。
Dev corrupts NPM libs ‘colors’ and ‘faker’ breaking thousands of apps
https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
Open source developer corrupts widely-used libraries, affecting tons of projects – The Verge
https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected
colors.jsは毎週2000万回以上ダウンロードされているnpmライブラリで、同ライブラリを利用しているソフトウェア開発プロジェクトの数は約1万9000件も存在します。faker.jsも毎週280万回以上ダウンロードされている人気の高いライブラリで、同ライブラリを利用しているプロジェクトは2500件以上存在するそうです。
そんなcolors.jsとfaker.jsの開発者であるMarak氏が、意図的に破損したバージョンをリリースしたことで、これらのライブラリに依存するプロジェクトに影響が出ています。aws-cdkのような人気の高いオープンソースプロジェクトを利用するユーザーがこの異変に気付き、状況を報告しています。
Marak氏はcolors.jsのバージョン1.4.44およびfaker.jsのバージョン6.6.6に非ASCII文字を追加しており、これによりアプリケーションが同ライブラリを利用すると、アメリカ国旗が無限に出力されてしまうバグが発生するようになりました。color.jsは正常に動作する最新バージョンが公開されていますが、faker.jsの過去バージョン(バージョン5.5.3)にダウングレードすることで問題を回避可能です。
colors.jsの利用者は、「colors.jsの作者は報酬が支払われないことに腹を立てているようで、ライブラリが読み込まれるたびにアメリカ国旗を出力するようになりました。なんてこった」とツイートしています。
Marak氏は「colors.jsのバージョン1.4.44にZalgoバグ(アメリカ国旗が出力されるバグ)があることに気づきました」「現在、状況の修正に取り組んでおり、間もなく解決予定です」と記しています。
Marak氏がこのようないたずらを働いた理由は「オープンソースソフトウェアを金銭的にサポートしない大企業にある」とBleepingComputerは指摘しています。
2020年11月、Marak氏は「敬意を表し、フォーチュン500に属する企業および他の小規模企業に対して、私が無償で開発してきた成果物を提供するつもりはありません。他に言うことはありません」「これを機会に、私と6桁(数千万円)の年間契約を結ぶか、私が作成したプロジェクトをフォークして他の誰かに開発を継続してもらう必要があります」と言及しました。
また、Marak氏はこれらのライブラリのREADMEページに「アーロン・スワーツに何が起こったでしょう?」と記しています。なお、アーロン・スワーツ氏は、すべての人が平等かつ自由に情報にアクセスできるようにするために、MITキャンパスネットワーク上にあるJSTORデータベースから数百万件のジャーナル記事をダウンロードし、法廷闘争の末に自殺したという著名ハクティビスト。
Marak氏の一連の行動に対しては、一部のオープンソースソフトウェアコミュニティからは称賛の声が上がっています。一方で、「このアクションはさすがに無責任すぎる」などの批判的な意見もあります。
なお、Marak氏によるとGitHubは同氏のアカウントを一時停止しています。
NPM has reverted to a previous version of the faker.js package and Github has suspended my access to all public and private projects. I have 100s of projects. #AaronSwartz pic.twitter.com/zFddwn631S
— marak ???? (@marak)
この記事のタイトルとURLをコピーする