GitHub に 35,000 の悪意のリポジトリ:バックドア付きのクローンに御用心

35,000 code repos not hacked—but clones flood GitHub to serve malware

2022/08/03 BleepingComputer — GitHub における数千のリポジトリがフォーク (コピー) され、そのクローンにマルウェアが仕込まれていることが、ソフトウェア・エンジニアたちにより発見された。オープンソース・リポジトリでのクローン作成は、一般的な開発手法であり、開発者の間で推奨されることもあるが、今回のケースは異なるものとなる。具体的に言うと、脅威アクターたちが正規のプロジェクトのコピーを作成し、それを悪意のあるコードで汚染し、悪意のクローンに仕立て上げ、無防備な開発者をターゲットにするという流れになる。GitHub は、エンジニアの報告を受けた後に、悪意のあるリポジトリの大半を追放した。

35,000 の GitHub プロジェクトは乗っ取られていない

今日、ソフトウェア開発者である Stephen Lacy が、GitHub 上の 35,000 のソフトウェア・リポジトリに影響を与える、広範なマルウェア攻撃を発見したと主張し、皆を困惑させた。しかし、このツイートが示唆しているのとは反対に、GitHub 上の 35,000 のプロジェクトは、いかなる形でも影響を受けておらず、侵害されてもいない。

ただし、バックドアが取り込まれた数千のプロジェクトも存在している。それらは、マルウェアを送り込むために脅威アクターが作ったとされる、正規のプロジェクトのコピー (フォーク/クローン) なのだ。

なお、crypto/golang/python/js/bash/docker/k8s などの公式プロジェクトは、影響を受けていない。しかし、次のセクションで説明するように、この発見が重要でなはいとは言い切れない。

Software engineer Stephen Lacy first publicized the finding (Twitter)


Lacy が、Google 検索で見つけたオープンソース・プロジェクトをレビューしていたところ、そのコードに以下の URL があることに気づき、Twitter で共有した。

hxxp://ovz1.j19544519.pr46m.vps.myjino[.]ru

多くの人々と同様に BleepingComputer も、上記の URL を GitHub で検索したところ、悪意の URL を含むファイルを示す検索結果が、35,000 件以上あったことが確認された。したがって、この数字は、感染したリポジトリではなく、疑わしいファイルの数を表すものとなる。

GitHub hits for malicious URL
GitHub search results for malicious URL reveal over 35,000 files (BleepingComputer)

さらに、35,788 件のコードのうち、13,000件以上が “redhat-operator-ecosystem” という単一のリポジトリでの検索結果となることが判明した。

今朝、それらのリポジトリを BleepingComputer も探してみたが、すでに GitHub から削除されたようであり、404 (Not Found) エラーが表示されていた。

このエンジニアはその後、元のツイートに対して訂正と釈明 [12] を行っています。

悪意のクローンは攻撃者にリモート・アクセス機能を提供する

開発者である James Tucker は、悪意の URL を含むクローン・リポジトリは、ユーザーの環境変数を取得するだけではなく、1行のバックドア・コードを含んでいると指摘している。

code execution backdoor
Cloned repositories altered with malware contain backdoor (BleepingComputer)

環境変数の流出は、それだけでも、API キー/トークン/AWS 認証情報/暗号キーなどの、重要な機密情報を脅威者に提供する可能性がある。 さらにリモートの攻撃者は、1行の命令 (上記の241行目) により、これらの悪意のクローンをインストールして実行する、すべてのシステム上で任意のコード実行が可能となる。

不明確な時系列

このアクティビティの時系列を調べると、バラバラの結果が観察された。フォークされたリポジトリの大部分は、先月中に悪意のコードで変更されていたが、その期間は6日前、13日前、20日前までとなっている。 しかし、2015年まで遡っても、悪意のコミットが行われたリポジトリが観察された。

13 day old commit
Malicious commit made 13 days ago in one of the clones (BleepingComputer)

今日も GitHub で悪意の URL を含むコミットが行われたが、それらの大半は、脅威インテル・アナリスト Florian Roth たちの防衛側からのものであり、悪意のコードを検出するための Sigma ルールを提供しているようだ。

皮肉なことに、一部の GitHub ユーザーは、Sigma ルール内に悪意の文字列 (防御者が使用) が存在するのを見て、Roth が管理している Sigma の GitHub レポジトリを、悪意のものとして誤って報告していた。

数時間前に GitHub が、悪意のクローンをプラットフォームから削除したことを、BleepingComputer は確認した。

ベスト・プラクティスとして、公式プロジェクトのレポジトリが活用されるが、タイポスクワットやレポジトリフォーク/クローンに注意することを忘れないでほしい。

クローン化されたリポジトリには、元の作者のユーザー名やメールアドレスが記載されたコードコミットが残されていることがあり、新たなコミットが行われたかのような誤解を招くため、発見が難しくなると推測される。オープンソースのコード・コミットには、本物のプロジェクト作者の GPG 鍵で署名されているものがあり、コードの信頼性を確認する1つの方法となっている。

GitHub も、いろいろと問題を引き起こされて大変ですね。ただ、ここはもう、頑張って踏みとどまってもらうしかありません。開発者のための自由度の高い環境は、脅威アクターからすれば、突っ込みどころ満載の環境となります。開発者のためを考えても、先日の PyPI での 2FA の義務化と、それに反発する開発者のやり取りにあるように、一筋縄ではいかない方々が、たくさんいるようです。その一方で、今日の記事のように、脅威アクターたちからは、あの手この手で責め立てられる毎日です。今調べてみたら、Microsoft による買収から、すでに4年も経っているのですね。資金という面が強化されていて、ほんとうに、良かったと思います。頑張ってください。

%d bloggers like this: