Google UUID/pborman ライブラリを装う悪意の Go パッケージ:開発者を標的に4年間も存続

Malicious Go Packages Impersonate Google’s UUID Library to Steal Sensitive Data

2025/12/06 gbhackers — Go プログラミング/エコシステムには、4年以上も前から危険な要素が潜んでいた。人気の Google ツールを装う2つの悪意のソフトウェア・パッケージを、Socket Threat Research Team のセキュリティ研究者が発見した。これらの偽パッケージは、多忙な開発者を欺くように設計され、2021年5月以降において秘密裏にデータを盗み続けていた。

それらの悪意のパッケージは、”github.com/bpoorman/uuid” および “github.com/bpoorman/uid” であると特定された。正規で広く使用されている pborman/Google UUID ライブラリと同一に見えるよう作られている。この正規ライブラリは、データベースの行/ユーザー・セッション/ジョブ・トラッキング用の、一意の識別子を生成する業界標準である。

Socket AI Scanner’s analysis of the malicious github[.]com/bpoorman/uuid package 
Socket AI Scanner’s analysis of the malicious github[.]com/bpoorman/uuid package 
タイポスクワッティングの罠

攻撃者 bpoorman は、タイポスクワッティングと呼ばれる手法を用いている。正規の pborman メンテナと視覚的に類似する名前を選択することで、開発者が依存関係リストの差異に気づかないことを狙った。

特に重要なのは、偽ソフトウェアが正規版と同様に動作する点である。正規版と同様に一意の ID を生成し、クラッシュや明らかなエラー表示も行われないため、この偽ソフトウェアは検知されにくい状態を維持できる。しかし、偽コードには秘密のバックドアが仕込まれている。

page for the malicious github[.]com/bpoorman/uuid Go package
page for the malicious github[.]com/bpoorman/uuid Go package

悪意のコードには Valid というヘルパー関数が含まれる。正規ソフトウェアを用いる開発者は、この関数に対し ID 形式の検証を期待するかもしれないが、偽バージョンでははるかに危険な動作を行う。開発者が Valid 関数にユーザー ID/メールアドレス/セッション・トークンなどを渡すと、その他の情報が悪意のコードにより密かに暗号化される。その後に、ハードコードされた API トークンを介して、公開テキスト共有 Web サイト dpaste.com へと、盗まれたデータが送信される。もちろん、それらのデータは、匿名の攻撃者により取得されていく。

一連のデータは被害者のコンピュータから送信される前に暗号化されるため、標準セキュリティ・ツールでは機密情報が盗まれたことに気付かない可能性がある。この悪意のパッケージは、数年前に公開されたものであるが、Go パッケージ・サイトおよび公開ミラーから依然として取得できる。

Excerpt from the threat actor’s github[.]com/bpoorman/uid repository showing the uid.go exfiltration code
Excerpt from the threat actor’s github[.]com/bpoorman/uid repository showing the uid.go exfiltration code 

公開インデックスにはインポート数 0 と表示されるが、研究者たちは誤解を招く恐れがあると警告している。このインデックスには、企業内リポジトリや内部ツールからのダウンロード数が含まれないため、実際に影響を受けたシステム数は不明である。

Socket は、この2つのパッケージを Go セキュリティチームに報告し、作成者アカウントの停止を要請した。開発者は自身のプロジェクトを監査し、悪意の bpoorman 偽パッケージではなく、”github.com/google/uuid” および “github.com/pborman/uuid” を使用していることを確認すべきである。