Orca Securityは9月5日(米国時間)、「Typosquatting in GitHub Actions|Orca Security」において、GitHub Actionsのタイポスクワッティングについて、注意を喚起した。開発者の入力ミスがマルウェアのインストール、機密情報の漏洩、コードの改ざんにつながる可能性があると指摘されている。

  • Typosquatting in GitHub Actions|Orca Security

    Typosquatting in GitHub Actions|Orca Security

「GitHub Actions」とは

GitHub Actionsはビルド、テスト、デプロイのパイプラインを自動化できる継続的インテグレーションおよび継続的デリバリーシステム(CI/CD: Continuous Integration/Continuous Delivery)のプラットフォーム。

リポジトリに対するpullリクエストをトリガーとしてビルドおよびテストを実行したり、運用環境へデプロイする作業の自動化したりといったことができる(参考:「GitHub Actions を理解する - GitHub Docs」)。

タイポスクワッティングの影響

GitHub Actionsは誰でもそのアクションを公開することができる。脅威アクターも一時的なメールアドレスを用意するだけで、悪意のあるアクションを公開できる。開発者が誤って悪意のあるアクションを実行してしまうと、マルウェアのインストールなど壊滅的な結果に至る可能性がある。

Orca Securityは攻撃の具体例として、アクション「uses: actions/checkout」のタイポスクワッティングを取り上げている。攻撃者が「uses: action/checkout(sが足りない)」を作成し、開発者が誤って「s」を入力しなかった場合、攻撃者のアクションが実行されてしまう。

実際、GitHubの公開リポジトリから「action」を呼び出すファイルが158個確認されており、危険な状態にあるという。なお、「action」の他にも「actons(iが足りない)」のパターンも複数確認されている。

  • iが足りないファイルの検索結果 - 引用:Orca Security

    iが足りないファイルの検索結果 引用:Orca Security

対策

Orca Securityの実験では、テスト用に作成したタイポスクワッティングアクションは2カ月後に使用され、通報を受けて停止されるまで3カ月かかったという。また、158個だった「action」を呼び出すファイルは、この3カ月間で194個にまで増えたいう。

このように、GitHub Actionsにはタイポスクワッティングの脅威が潜んでおり、開発者には、次のような対策の実施が推奨されている。

  • アクションを使用する場合、使用前に正しい組織(Organization)を指定しているかどうかを確認する
  • 検証済みの開発者や、スターおよびフォーク数の多い開発者のアクションを使用する
  • バージョンタグまたはコミットチェックサム(SHA1)を比較し、既知の正常なアクションを使用しているかどうかを確認する
  • セキュリティツールを導入し、入力ミスなどのリスクを検出する

プロジェクトマネージャーまたは上級職員には上記に加え、チーム全体にタイポスクワッティングの脅威について教育することが推奨されている。1人の開発者がたった1文字間違えただけで取り返しのつかない結果につながる可能性があるため、GitHub Actionsについては慎重に利用することが望まれている。