Checkmarxはこのほど、「Surprise: When Dependabot Contributes Malicious Code」において、サイバー攻撃者がGitHubの依存関係管理ツール「Dependabot」の自動コミットに偽装したコミットログでリポジトリを侵害したと報じた。

  • Surprise: When Dependabot Contributes Malicious Code

    Surprise: When Dependabot Contributes Malicious Code

Checkmarxによると、2023年7月8日から11日(米国時間)にかけて、攻撃者がパブリックおよびプライベート両方の数百のGitHubリポジトリを侵害しはじめたという。侵害されたリポジトリのユーザーの多くはインドネシアのユーザーとされる。攻撃者はDependabotの自動コミットに偽装したコミットログを作成して開発者をだますことで、この侵害の発見を回避しようとしたとみられている。

  • Dependabotの自動コミットに偽装したとみられるコミットログ - 提供:Checkmarx

    Dependabotの自動コミットに偽装したとみられるコミットログ 引用:Checkmarx

この攻撃ではリポジトリに対して、2種類の自動化されたとみられるコード変更が繰り返し行われたとされる。1つは「hook.yml」という名前のGitHubアクションファイルを新しいワークフローファイルとして追加し、プッシュイベントごとにGitHubのシークレットと変数を攻撃者が管理するサーバに送信して窃取するアクションを追加する。

もう1つはリポジトリに存在するすべての「*.js」ファイルの末尾に難読化された悪意のあるコードを追加し、攻撃者が管理するサーバから追加のスクリプトを読み込むようにコードを改ざんする。読み込まれるコードには、Webサイトのパスワードフォームをインターセプトして、攻撃者が管理するサーバに資格情報を送信して窃取する機能があるとされる。

Checkmarxの調査によると、GitHubアカウントへの侵入はGitHubのアクセストークンを窃取して行われたという。アクセストークンの窃取の方法については不明としつつ、被害者が悪意のあるマルウェアなどに感染し、そこから流出した可能性が高いと推測されている。

この事例のように、GitHubの信頼できるユーザーが作成したコードがある日突然、悪意のあるコードに改ざんされる場合がある。同様の問題はほかのプラットフォームでも発生する可能性があり、オンライン上のデータについては常に注意して取り扱うことが望まれている。Checkmarxはこのような侵害の影響を軽減するために、アクセストークンを「Personal access token」から「fine-grained personal access token」へ切り替えることを検討するように推奨している。