何が起きたか
この事故で流出した、または流出したおそれがある情報は、開発者のパソコンにあったコードの保管サービスとパッケージ公開用のトークン、クラウドの認証情報、環境変数など。第2段階では5,500件以上の非公開リポジトリが公開状態にされたです。その後の対応と影響は、不正な版を削除し、すべてのトークンと秘密情報を入れ替えた。公開には二要素認証か信頼済みの公開方式を必須にし、外部の投稿者の自動処理は担当者の承認を要るようにしたです。
原因になったのは「自動化設定の不備による公開用トークンの窃取」です。生成AIで作ったもの、または生成AIの使い方が事故に関わっています。
- 中心 直接の原因確定
自動化の設定に、外部の投稿者のプルリクエストの題名でコマンドを実行できる不備があり、公開用のトークンが盗まれた。
- 1つ外側 流出した情報報道
開発者のパソコンにあったコードの保管サービスとパッケージ公開用のトークン、クラウドの認証情報、環境変数など。第2段階では5,500件以上の非公開リポジトリが公開状態にされた。
- いちばん外側 その後の対応と影響確定
不正な版を削除し、すべてのトークンと秘密情報を入れ替えた。公開には二要素認証か信頼済みの公開方式を必須にし、外部の投稿者の自動処理は担当者の承認を要るようにした。
なぜ起きたか
会社によると、プルリクエストの題名を確認する自動処理が、題名をそのままコマンドに入れていた。古いブランチにこの処理が残っていたため、攻撃者は公開用の処理を書き換え、パッケージ公開用のトークンを外へ送らせた。
原因の種類は「認証情報の漏れ」です。IDやパスワードが漏れ、なりすましで入られた事故を指します。このサイトに掲載している事故のうち、同じ種類の原因で起きた事故は28件あります。
事故が起きてから公表されるまで
- 不正な版の公開の前に、攻撃者が自動化の設定の不備を使い、パッケージ公開用のトークンを取った。
- 2025年8月26日、不正な処理を加えた版が公開された。
- 入れたパソコンでAIのコマンドラインツールが秘密情報を探し、利用者のアカウントの公開リポジトリに上げた。
- 2025年8月27日、会社が勧告を公表し、不正な版を削除した。
- 2025年8月28日以降、盗まれたトークンで非公開リポジトリが公開状態にされた(Wiz)。
どうすれば防げたか
上の流れでは、最初から公表まで、途中で異常に気づいて止める仕組みが働いていません。
止められた可能性がある所(当社の見立て)開発者のパソコンのAIツールに確認を省く設定を許さず、パッケージを入れる時の自動実行を止めておけば、秘密情報の収集を防げた可能性がある。
この見立ては、公表された原因から当社が考えたものです。当事者の調査の結果とは異なる場合があります。
自社で確認する3つの手順
上から順に、短い時間で確認できるものを並べています。
- 開発者のパソコンに入っているAIのコマンドラインツールと、その設定を一覧にする。
- パッケージを入れる時の自動実行を止める設定を、開発環境に入れる。
- パソコンに平文で置いたトークンやクラウドの鍵を探し、保管場所を移す。
自社に同じ原因があるか
当てはまるものを選んでください。1つでも当てはまれば、この事故と同じ原因が自社にもある可能性があります。
出典と更新の履歴
- Malicious versions of Nx and some supporting plugins were published(GitHub Security Advisory GHSA-cxm3-wv7p-598c)2025.08.27
- s1ngularity: supply chain attack leaks secrets on GitHub(Wiz)2025.08.27