- kuroさんの発表
- 下記は自分が簡単にまとめたもの。詳しくは資料のスライドを確認
発覚した事件
- 2025年2月、Socket Securityが報告
- 下記の悪意のあるパッケージが3年以上潜伏していた
github.com/boltdb-go/bolt
- リモートコード実行のバックドアが仕込まれていた
- タイポスクワッティングを悪用していた
攻撃手法
- 正式名称
github.com/boltdb/boltに酷似した上記、悪意のあるパッケージを作成
- 微妙な命名の違いで、誤植や手違いを起こし悪意のあるパッケージを選択させるように設計されている
- Go Module Proxyにバックドアが仕込まれたバージョンをキャッシュさせる
- 悪意のあるコードがプロキシサーバにキャッシュされる
- Github上でタグをクリーンな別バージョンに書き換える
- Github上では痕跡を隠蔽されているので、安全なコードに見える
なぜ防げなかったのか
対策
- 依存パッケージを手書きしない
- lintで検知
- importが見やすくなるのでレビューでタイポを確認しやすくなる
- 下記でpackage調べてヘッダーでコピーも対策になりそう
資料