Skip to main content

GOを通過するな — 悪意あるパッケージの警告

Corona blog feature

2025年2月12日

0 分で読めます

最近、研究者がGoプログラミング環境で広く使われているデータベースツールBoltDBに、新たなソフトウェアサプライチェーンの問題を発見しました。BoltDBのGoモジュールにはバックドアが仕込まれ、隠れた悪意あるコードが含まれていました。このバージョンは、Goのモジュール管理とキャッシュの仕組みを悪用し、数年間にわたって発見を免れていました。このバックドアにより、ハッカーはコマンドを送信するサーバー、つまりコマンド&コントロールサーバーを介して、感染したコンピューターをリモートで制御できます。悪意あるバージョン(1.3.1)は、2021年11月にGitHubで公開されました。公開後、Go Module Mirrorサービスにより永久に保存されました。

タイポスクワッティング攻撃とは?

タイポスクワッティング攻撃では、悪意ある攻撃者が、人気のあるパッケージとよく似た名前を使って、有害なソフトウェアパッケージを作成し、オンラインライブラリにアップロードします。利用者が正規のソフトウェアだと思い込み、危険なバージョンを誤ってダウンロードしてインストールすることを狙っています。

詳しくはこちら — https://snyk.io/blog/typosquatting-attacks/ 

悪意あるGo Module Mirrorのパッケージ名はgithub.com/botdb-go/boltで、元のパッケージであるgithub.com/boltdb/boltとよく似ていました。この悪意あるパッケージは発見後、正規のバージョンに差し替えられました。しかし、Go Module Mirrorのモジュールを無期限にキャッシュする仕組みが働き、バックドアが仕込まれたモジュールがキャッシュされてしまいました。さらに、システムを最新の依存関係に更新しようとしたことで、開発者が3年間システムに残っていたバージョンに更新してしまったことも、大きな要因でした。Socketの研究者は、2025年1月30日にGo Module MirrorについてGitHubとGoogleに報告しました。このモジュールはGo Module Proxyにキャッシュされ、その後もクライアントに配信され続けていました。 

github.com/boltdb-go/bolt の Go パッケージページ。GO-2025-3451 の脆弱性アラートと Bolt の README を表示
github.com/boltdb-go/boltのGoパッケージバージョンページ。GO-2025-3451の脆弱性アラートが複数のリリースに表示されています

2015年以降、元のリポジトリでは80件を超える未解決の問題が報告されています。

boltdb/boltのGitHubリポジトリページ。アーカイブ済みで読み取り専用であることを示す通知と、リポジトリのファイル一覧が表示されています。

影響 

  • 3年以上にわたり、数千の組織に影響

  • サプライチェーンエコシステムの重大な欠陥

  • 悪意あるパッケージは、今もGo Module Proxyで検索できる可能性があります

対応状況

2025年2月7日付のArstechniaの記事によると、Googleの担当者は次のように述べています。

「このモジュールはGo Module ProxyとGitHubの両方から削除され、影響を受けた可能性がある方に向けてGoの脆弱性データベースに登録されました。機能分析などの修正を通じて対応を進めています。具体的には Capslock を使った分析や、 deps.devとの比較を行っています。モジュールを検出し、修正対応を進めているSocketとGoチームの貢献者に感謝します。このような一般的なオープンソースセキュリティの問題と、SLSAやOpenSSFなどの取り組みを通じて進められている対策への認識を高めるため、今後も業界全体と連携していきます。」

Go脆弱性データベースのレポートGO-2025-3451は、github.com/boltdb-go/boltを悪意のあるタイポスクワッティングとして警告しており、修正済みバージョンはありません。

Go Module Mirrorの脆弱なパッケージはGitHubから削除されました。 

GitHub URL https://github.com/boltdb-go/ に404エラーが表示され、「お探しのウェブページは見つかりませんでした。」というメッセージが表示されている。

軽減策

サプライチェーンのリスクとベストプラクティスについて確認しましょう。

https://snyk.io/blog/supply-chain-risks-and-best-practices/ 

ソフトウェアサプライチェーン攻撃を軽減する4つのベストプラクティスをご覧ください

https://snyk.io/articles/software-supply-chain-security/#best 

Snykでソフトウェアサプライチェーンを保護しましょう https://snyk.io/solutions/software-supply-chain-security/ 

参考資料:

Fetch the Flag 2026に参加しよう!

2月12日〜13日、東部時間の正午から翌日正午まで開催されるCapture the Flagイベントで、セキュリティスキルを試しましょう。

続きを読む

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSecのご紹介:AI開発のスピードに追随するセキュリティ

AIを活用した開発は、従来のセキュリティワークフローを上回るスピードで進んでいます。SnykのAgentic AppSecは、セキュリティエージェントが脆弱性を継続的に検出、修正、検証し、人が基準を定められるようにします。

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

Blog

Evo ADSのエージェント動作ガバナンスが一般提供開始:MCPの利用を管理

Evo ADSのエージェント動作ガバナンスが、MCPガバナンスから一般提供を開始しました。主要なAIコーディングエージェント全体で、MCPサーバーの利用を検出、承認、監視、記録、ブロックできます。