SleeperGem: RubyGems supply chain attack targets dormant maintainer accounts
【なぜ重要か】 RubyGemsでは珍しいサプライチェーン攻撃が確認された。長年更新されていない正規メンテナーアカウントを乗っ取り、悪意のあるgemを公開するという手口で、単一アカウントの侵害にとどまらず、無関係な別メンテナーのアカウントも同時に侵害されていた。npmやPyPIでは1年以上前から見られた攻撃パターンが、RubyGemsでも初めて本格的に確認された事例となる。...
【なぜ重要か】 RubyGemsでは珍しいサプライチェーン攻撃が確認された。長年更新されていない正規メンテナーアカウントを乗っ取り、悪意のあるgemを公開するという手口で、単一アカウントの侵害にとどまらず、無関係な別メンテナーのアカウントも同時に侵害されていた。npmやPyPIでは1年以上前から見られた攻撃パターンが、RubyGemsでも初めて本格的に確認された事例となる。
【ポイント】
git_credential_managerという新規gemを約9時間かけて4バージョン(2.8.0〜2.8.3)立て続けに公開し、段階的にペイロード配信の仕組みを構築した。最終的にはgemをrequireするだけで(明示的なインストールや実行なしに)悪意のあるスクリプトが起動するよう設計された。git_credential_managerが依存関係として追加された。さらに、累計574,661ダウンロードを持つfastlane-plugin-run_tests_firebase_testlab(全く無関係な別メンテナーのgem)にも悪意のあるバージョンが公開されており、侵害は少なくとも2つの無関係なアカウントに及んでいた。【まとめ】 RubyGemsにおいても、長期間更新のない休眠メンテナーアカウントがサプライチェーン攻撃の足がかりになることが実証された。RubyGemsを利用する開発者・セキュリティ担当者は、依存関係に含まれるgemのメンテナーアカウントの状態や、突然公開された新バージョンに対して注意を払い、不審なgemが依存関係に混入していないか定期的に確認することが推奨される。
原文を読む
Aikido Security Blog
英語で詳細な技術情報を確認