2023年3月以降、認証情報を盗むコードを含む60個の悪意あるRuby gemが27万5,000回以上ダウンロードされ、開発者アカウントを標的にしています。
これらの悪意あるRuby gemはSocketによって発見され、主にInstagram、TikTok、Twitter/X、Telegram、Naver、WordPress、Kakao向けの自動化ツールを利用する韓国のユーザーを標的にしていたと報告されています。
RubyGemsはRubyプログラミング言語の公式パッケージマネージャーであり、JavaScriptのnpmやPythonのPyPIのように、gemと呼ばれるRubyライブラリの配布、インストール、管理を可能にします。
このキャンペーンで使われた悪意あるgemは、過去数年にわたり様々な別名でRubyGems.orgに公開されていました。問題のある公開者はzon、nowon、kwonsoonje、soonjeであり、複数のアカウントに活動を分散させることで追跡やブロックを困難にしていました。
悪意あるパッケージの全リストはSocketのレポートで確認できますが、以下は特に紛らわしい名前やタイポスクワット(類似名)パッケージの一部です:
- WordPress系自動化ツール: wp_posting_duo, wp_posting_zon
- Telegram系ボット: tg_send_duo, tg_send_zon
- SEO/バックリンクツール: backlink_zon, back_duo
- ブログプラットフォーム模倣: nblog_duo, nblog_zon, tblog_duopack, tblog_zon
- Naver Caféインタラクションツール: cafe_basics[_duo], cafe_buy[_duo], cafe_bey, *_blog_comment, *_cafe_comment
Socketのレポートで取り上げられた全60個のgemは、正規のように見えるグラフィカルユーザーインターフェース(GUI)と宣伝されている機能を持っています。
しかし実際には、これらはフィッシングツールとして機能し、ログインフォームに入力された認証情報をハードコードされたコマンド&コントロール(C2)アドレス(programzon[.]com、appspace[.]kr、marketingduo[.]co[.]kr)に攻撃者へ送信します。

出典:Socket
収集されたデータには、平文のユーザー名とパスワード、フィンガープリント用のデバイスMACアドレス、キャンペーンの効果測定用のパッケージ名が含まれます。
場合によっては、これらのツールは偽の成功または失敗メッセージを返しますが、実際のサービスへのログインやAPIコールは行われません。
Socketは、攻撃者と関係のある疑わしいマーケティングツールサイトmarketingduo[.]co[.]krとのやり取りに基づき、これらのgemから得られたと思われる認証情報ログがロシア語圏のダークネット市場で見つかったとしています。

出典:Socket
研究者によると、60個の悪意あるRuby gemのうち少なくとも16個は依然として利用可能ですが、発見次第すべてRubyGemsチームに報告しています。
RubyGemsに対するサプライチェーン攻撃は前例がなくはなく、数年前から続いています。
6月には、Socketがモバイルアプリ開発者向けの自動化ツールである正規のオープンソースプラグインFastlaneをタイポスクワットしてTelegramボット開発者を標的にした悪意あるRuby gemの別の事例を報告しています。
開発者は、オープンソースリポジトリから取得するライブラリに難読化された部分など不審なコードがないか注意深く調査し、公開者の評判やリリース履歴を確認し、「安全と確認された」バージョンに依存関係を固定することが推奨されます。