Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Hackers steal 3,325 secrets in GhostAction GitHub supply chain attack

2025年09月09日に「BleepingComputer」が公開したITニュース「Hackers steal 3,325 secrets in GhostAction GitHub supply chain attack」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

GitHubを標的とした「GhostAction」と呼ばれるサプライチェーン攻撃が発生。開発の自動化機能が悪用され、PyPIやAWSのキーといった3,325件の機密情報が盗まれた。開発で使う外部サービスの認証情報管理が重要となる。(114文字)

ITニュース解説

ソフトウェア開発の世界で、開発プロセスを狙った巧妙なサイバー攻撃が確認された。「GhostAction」と名付けられたこの攻撃は、世界中の開発者が利用するプラットフォームであるGitHubを舞台に行われ、多数の機密情報を盗み出すことに成功した。この事件は、現代のソフトウェア開発が抱えるリスクを浮き彫りにしており、将来システムエンジニアを目指す者にとって重要な教訓を含んでいる。

まず、この攻撃の背景を理解するためには、いくつかの基本的な要素を知る必要がある。GitHubは、プログラムのソースコードを保存、管理、共有するためのサービスであり、個人開発者から大企業まで幅広く利用されている。特に、ソースコードが公開され、誰でも改良に参加できる「オープンソースプロジェクト」の多くがGitHub上で開発されている。次に、「サプライチェーン攻撃」という概念がある。これは、最終的な製品そのものではなく、その製品を開発・製造する過程、つまり供給網(サプライチェーン)のいずれかの段階を攻撃する手法である。ソフトウェア開発におけるサプライチェーンとは、利用するライブラリ、開発ツール、連携サービスなどを指す。攻撃者は、多くの開発者が信頼して利用しているツールなどに悪意のあるコードを仕込むことで、そのツールを利用するすべてのプロジェクトに影響を及ぼそうと企む。

今回の攻撃で悪用されたのが、GitHubが提供する「GitHub Actions」という機能だ。これは、ソフトウェア開発における一連の作業を自動化するための仕組みである。例えば、新しいコードが追加された際に自動的にテストを実行したり、テストに合格したプログラムを自動的にサーバーへ配置(デプロイ)したりすることができる。この自動化により、開発者は手作業を減らし、開発の効率と品質を大幅に向上させることができる。この自動化プロセスを実行するためには、他のサービスと連携する必要がしばしば生じる。例えば、クラウドサービスであるAWSや、コンテナイメージを管理するDockerHub、各種パッケージを管理するPyPIやnpmなどだ。これらの外部サービスにアクセスするためには、APIキーやアクセストークンといった認証情報が必要になる。これらはシステムの「鍵」にあたるものであり、部外者に知られてはならない極めて重要な情報であるため、「シークレット」と呼ばれる。GitHub Actionsでは、これらのシークレットを安全に保管し、自動化プロセスの中でのみ利用できるようにする仕組みが提供されている。

「GhostAction」攻撃の攻撃者は、このGitHub Actionsの仕組みを巧みに悪用した。攻撃の第一歩は、信頼されている公式のアクションになりすますことだ。GitHub Actionsでは、特定の処理を行うための部品を「アクション」と呼び、GitHub自身や第三者が作成した多くのアクションが公開されている。攻撃者は、例えばソースコードを取得するために広く使われている公式アクション「actions/checkout」などとよく似た名前の、悪意のあるアクションを作成した。そして、人気のオープンソースプロジェクトに対して、コードの改善などを装って変更提案(プルリクエスト)を送る。この変更提案の中に、正規のアクションの代わりに、先ほど作成した悪意のあるアクションを利用するよう、設定ファイルをこっそりと書き換える一文を紛れ込ませた。

プロジェクトの管理者がこの巧妙な罠に気づかず、変更提案を承認してしまうと、攻撃は成功する。以降、このプロジェクトでGitHub Actionsによる自動化プロセスが実行されるたびに、正規のアクションの代わりに悪意のあるアクションが呼び出される。この悪意のあるアクションの役割は、実行環境内に保管されている「シークレット」を盗み出すことだ。AWSのアクセスキー、DockerHubのトークン、GitHub自身のトークンなど、自動化プロセスで利用されるあらゆるシークレット情報が抜き取られ、攻撃者が用意した外部のサーバーへと送信されてしまう。

この手法により、「GhostAction」攻撃では、合計で3,325個ものシークレットが盗まれたことが報告されている。盗まれた情報には、PyPI、npm、DockerHub、GitHubのトークン、CloudflareやAWSのキーなどが含まれていた。これらのシークレットが悪用されると、被害はさらに拡大する。例えば、盗んだAWSのキーを使えば、企業のクラウドインフラを乗っ取ることが可能になる。また、PyPIやnpmの認証情報を使えば、広く使われているソフトウェアパッケージにマルウェアを仕込み、それをインストールした世界中のユーザーを次の攻撃対象にすることもできてしまう。このように、一つのプロジェクトへの侵入を足がかりに、より広範囲のシステムへと被害を連鎖させていくのが、サプライチェーン攻撃の最も恐ろしい点である。

この事件は、現代のソフトウェア開発がいかに相互依存と信頼の上に成り立っているか、そしてその信頼が攻撃者にとって格好の標的となることを示している。開発の効率化を推進する自動化ツールは非常に強力だが、一度悪意のあるコードが紛れ込むと、被害を自動的に拡大させてしまう諸刃の剣にもなり得る。システムエンジニアを目指す者は、コードを書くだけでなく、そのコードがどのような環境で、どのようなツールを使って動いているのか、サプライチェーン全体を見渡す視点を持つことが不可欠である。そして、外部から提案されたコードの変更をレビューする際には、一見無害に見える設定ファイルの変更にも細心の注意を払う必要がある。便利さの裏に潜むリスクを正しく理解し、セキュリティを常に意識することが、安全なシステムを構築するための第一歩となる。

関連コンテンツ

【ITニュース解説】Hackers steal 3,325 secrets in GhostAction GitHub supply chain attack | いっしー@Webエンジニア