TL;DR

利用者の入力ミスを利用して、本物によく似た名前のサイトやパッケージに誘い込む攻撃。Wikipedia では、サイバースクワッティングの一種とされている。

なぜ必要か

この攻撃を知っていると、名前が少し違うだけの偽物を疑えるようになる。Wikipedia によると、ドメインのタイポスクワッティングは、ブランドのサイトを装ってパスワードを盗むフィッシングや、マルウェアの配布に使われる。ソフトウェアの依存関係でも同じ手口が使われ、サプライチェーン攻撃の入り口になる。

仕組み

攻撃者は、本物の名前を打ち間違えたときに入力しそうな名前を先に取っておく。Wikipedia は、綴りの誤り、単数形と複数形の違い、.com と .org のようなトップレベルドメインの違いを挙げている。利用者がその名前を入力すると、本物ではなく攻撃者の用意したものにたどり着く。

例

Wikipedia では、airfrance.com に対する arifrance.com や、Google に対する goggle.com が例に挙がっている。

サプライチェーン攻撃に学ぶmoduleの仕組みとセキュリティ対策 によると、2025 年 2 月に Go で、本物の github.com/boltdb/bolt に似せた github.com/boltdb-go/bolt というモジュールが見つかった。攻撃者は、Go Module Mirror のキャッシュが更新されない性質を悪用し、GitHub のタグをきれいなコードに書き換えた後も、バックドア入りのコードを配布し続けた。

注意点

同じ発表によると、Go の go.sum や Module Proxy は改ざんを検出したり配布物を固定したりするが、タイポスクワッティングは防げない。依存の名前を手で打たず、正しい名前を確かめてから追加する必要がある。

関連

出典