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 などの公式プロジェクトは、影響を受けていない。しかし、次のセクションで説明するように、この発見が重要でなはいとは言い切れない。

Lacy が、Google 検索で見つけたオープンソース・プロジェクトをレビューしていたところ、そのコードに以下の URL があることに気づき、Twitter で共有した。
hxxp://ovz1.j19544519.pr46m.vps.myjino[.]ru
多くの人々と同様に BleepingComputer も、上記の URL を GitHub で検索したところ、悪意の URL を含むファイルを示す検索結果が、35,000 件以上あったことが確認された。したがって、この数字は、感染したリポジトリではなく、疑わしいファイルの数を表すものとなる。

さらに、35,788 件のコードのうち、13,000件以上が “redhat-operator-ecosystem” という単一のリポジトリでの検索結果となることが判明した。
今朝、それらのリポジトリを BleepingComputer も探してみたが、すでに GitHub から削除されたようであり、404 (Not Found) エラーが表示されていた。
このエンジニアはその後、元のツイートに対して訂正と釈明 [1, 2] を行っています。
悪意のクローンは攻撃者にリモート・アクセス機能を提供する
開発者である James Tucker は、悪意の URL を含むクローン・リポジトリは、ユーザーの環境変数を取得するだけではなく、1行のバックドア・コードを含んでいると指摘している。

環境変数の流出は、それだけでも、API キー/トークン/AWS 認証情報/暗号キーなどの、重要な機密情報を脅威者に提供する可能性がある。 さらにリモートの攻撃者は、1行の命令 (上記の241行目) により、これらの悪意のクローンをインストールして実行する、すべてのシステム上で任意のコード実行が可能となる。
不明確な時系列
このアクティビティの時系列を調べると、バラバラの結果が観察された。フォークされたリポジトリの大部分は、先月中に悪意のコードで変更されていたが、その期間は6日前、13日前、20日前までとなっている。 しかし、2015年まで遡っても、悪意のコミットが行われたリポジトリが観察された。

今日も GitHub で悪意の URL を含むコミットが行われたが、それらの大半は、脅威インテル・アナリスト Florian Roth たちの防衛側からのものであり、悪意のコードを検出するための Sigma ルールを提供しているようだ。
皮肉なことに、一部の GitHub ユーザーは、Sigma ルール内に悪意の文字列 (防御者が使用) が存在するのを見て、Roth が管理している Sigma の GitHub レポジトリを、悪意のものとして誤って報告していた。
数時間前に GitHub が、悪意のクローンをプラットフォームから削除したことを、BleepingComputer は確認した。

ベスト・プラクティスとして、公式プロジェクトのレポジトリが活用されるが、タイポスクワットやレポジトリフォーク/クローンに注意することを忘れないでほしい。
クローン化されたリポジトリには、元の作者のユーザー名やメールアドレスが記載されたコードコミットが残されていることがあり、新たなコミットが行われたかのような誤解を招くため、発見が難しくなると推測される。オープンソースのコード・コミットには、本物のプロジェクト作者の GPG 鍵で署名されているものがあり、コードの信頼性を確認する1つの方法となっている。
GitHub も、いろいろと問題を引き起こされて大変ですね。ただ、ここはもう、頑張って踏みとどまってもらうしかありません。開発者のための自由度の高い環境は、脅威アクターからすれば、突っ込みどころ満載の環境となります。開発者のためを考えても、先日の PyPI での 2FA の義務化と、それに反発する開発者のやり取りにあるように、一筋縄ではいかない方々が、たくさんいるようです。その一方で、今日の記事のように、脅威アクターたちからは、あの手この手で責め立てられる毎日です。今調べてみたら、Microsoft による買収から、すでに4年も経っているのですね。資金という面が強化されていて、ほんとうに、良かったと思います。頑張ってください。

You must be logged in to post a comment.