BTC $78,612.64 +1.22%
ETH $2,308.01 +1.87%
BNB $714.59 +1.68%
XRP $1.26 +0.83%
SOL $95.71 -0.03%
TRX $0.3136 +1.58%
DOGE $0.0761 +0.82%
ADA $0.1937 +0.66%
BCH $285.25 -0.44%
LINK $11.36 -2.08%
HYPE $88.23 +0.27%
AAVE $135.50 -2.14%
SUI $0.9046 +0.40%
XLM $0.1694 +0.21%
ZEC $1,271.53 +1.89%
AAPL $345.22 +0.06%
AMZN $241.90 +0.45%
GOOGL $284.31 +0.13%
MSFT $523.41 -0.31%
META $617.99 +0.52%
NVDA $207.98 +1.65%
TSLA $401.65 +0.48%
SNDK $1,191.14 +3.23%
INTC $66.72 +2.00%
SPCX $139.01 +1.10%
MU $912.35 +1.58%
AMD $518.70 +1.62%
BTC $78,612.64 +1.22%
ETH $2,308.01 +1.87%
BNB $714.59 +1.68%
XRP $1.26 +0.83%
SOL $95.71 -0.03%
TRX $0.3136 +1.58%
DOGE $0.0761 +0.82%
ADA $0.1937 +0.66%
BCH $285.25 -0.44%
LINK $11.36 -2.08%
HYPE $88.23 +0.27%
AAVE $135.50 -2.14%
SUI $0.9046 +0.40%
XLM $0.1694 +0.21%
ZEC $1,271.53 +1.89%
AAPL $345.22 +0.06%
AMZN $241.90 +0.45%
GOOGL $284.31 +0.13%
MSFT $523.41 -0.31%
META $617.99 +0.52%
NVDA $207.98 +1.65%
TSLA $401.65 +0.48%
SNDK $1,191.14 +3.23%
INTC $66.72 +2.00%
SPCX $139.01 +1.10%
MU $912.35 +1.58%
AMD $518.70 +1.62%

コードを書くのはAIに任せられるが、ドメイン名(セキュリティ)は誰に任せるべきか?

核心的な視点
Summary: 10月31日、十数のDeFiサイトがハッキングされ、コードは変更されず、変更されたのはドメインの指向だけだった。AIはコードを書くことやオンラインにすることをますます容易にしているが、ドメインがどこに登録されているのか、誰がそれを変更できるのか、鍵が誰に渡されているのかについて考える人はほとんどいない。
おすすめの読書
2026-11-02 09:55:25
10月31日、十数のDeFiサイトがハッキングされ、コードは変更されず、変更されたのはドメインの指向だけだった。AIはコードを書くことやオンラインにすることをますます容易にしているが、ドメインがどこに登録されているのか、誰がそれを変更できるのか、鍵が誰に渡されているのかについて考える人はほとんどいない。

コードを書くのはAIに任せられるが、ドメイン名(セキュリティ)は誰に任せるべきか?

作者:Yajin

10月31日、十数のDeFiプロジェクトのウェブサイトが次々とハッキングされました。影響を受けたプロジェクトの一つであるKintsuはX上で投稿し[1]、Vercelを通じて購入したドメインがレジストラのレベルでハッキングされたと述べました。この文には二つのキーワードがあります。一つはVercel、もう一つはレジストラです。まずはVercelから説明しましょう。

Vercelはウェブサイトのデプロイメントプラットフォームです。開発者は書き上げたコードをVercelに渡し、Vercelはそれを構築して公開し、各地に分散されたサーバーを通じてウェブページをユーザーに届けます。VercelはフロントエンドフレームワークNext.js[2]の背後にある会社で、開発者の間で非常に人気があります。今回名指しされたプロジェクトのウェブページの多くはVercelにホスティングされています。ウェブサイトのホスティングに加えて、Vercelはドメインも販売しており、ユーザーは同じバックエンドでドメインを購入し、解析を管理できます。

私たちが調べたデータによると、これらのプロジェクトがVercelに置いているコードは変更されておらず、変更されたのはドメインの指向先だけです。

この件はすべてのアプリケーションサービスプロバイダーにとって重要であり、特にデジタル資産サービスプロバイダーにとってはさらに重要です。この2年間、vibe codingが流行しています。これは自然言語で要求を説明し、AIにプログラムを書かせることです。これにより、アプリケーション開発の敷居が大幅に下がりました。AIにコードを書かせ、Vercel、Netlify、Cloudflareのようなデプロイメントプラットフォームに一発で公開し、プラットフォーム上でドメインを一緒に購入すれば、数分で立派なウェブサイトを持つことができます。

敷居は下がりましたが、その背後にある原理は簡単にはなりません。多くの人はドメインが誰のもので、誰がその指向を変更できるのか、変更するために何の鍵が必要なのかを理解していません。Vercelはその一種のプラットフォームに過ぎず、これらの問題はすべての一発公開の方法に当てはまります。この記事では、できるだけわかりやすい方法でこれらの問題を説明したいと思います。

01 一、ウェブサイトはどのように見つけられるのか

次にKintsuが言った「レジストラ」を見てみましょう。レジストラが何をするのかを理解するためには、ウェブサイトがどのように見つけられるのかを見なければなりません。私たちはウェブサイトを店舗と考えることができます。ドメインは店舗名、例えばexample.comです。サーバーのIPアドレスは店舗の番地です。ユーザーは店舗名しか覚えていないので、誰かが店舗名を番地に翻訳する必要があります。この翻訳のことを「ドメイン解析」と呼びます。

翻訳プロセスには三つの役割が関与しています。

レジストリは総登記所のようなものです。各種のサフィックスにはそれぞれのレジストリがあり、.com、.xyz、.financeなどがあります。レジストリは一つのことだけを記録します:特定のドメインの「問合せ先」がどこにあるかです。

レジストラはユーザーの代理で動く仲介者のようなものです。一般の人は直接レジストリに登録することはできず、レジストラを通じてドメインを購入し、更新し、登録情報を変更します。ユーザーはレジストラのバックエンドで、自分のドメインがどの「問合せ先」によって管理されるかを指定できます。

ドメインネームサーバー(nameserver)は「問合せ先」です。彼らは店舗名に対応する番地を書いた表を持っています。この表の各行は一つの解析レコードと呼ばれます。普段言う「解析を変更する」というのは、このドメインネームサーバー上の表を変更することです。

ユーザーがブラウザにウェブサイトのアドレスを入力すると、ブラウザは最初に総登記所に尋ねます:この店舗の問合せ先はどこですか?次に問合せ先に尋ねます:番地は何ですか?最後に番地を頼りに探し、ウェブページを開きます。

コードを書くのはAIに任せられるが、ドメイン名(セキュリティ)は誰に任せるべきか?

ブラウザは最初にレジストリに尋ね、次にドメインネームサーバーに尋ね、最後に番地を頼りに探しに行きます。

したがって、もし誰かが顧客を自分の偽の店舗に騙して連れて行きたい場合、二つの方法があります。一つ目の方法は、問合せ先に行って表の番地を変更することです。二つ目の方法はより隠密で、レジストラに行ってその店舗の登録された問合せ先を自分が管理するものに完全に変更し、新しい問合せ先に偽の番地を書き込むことです。二つ目の方法を使うと、店舗のオーナーが元の問合せ先で確認しても、表には一文字も変わっていないため、顧客はすでに連れて行かれてしまいます。

コードを書くのはAIに任せられるが、ドメイン名(セキュリティ)は誰に任せるべきか?

二つの方法:問合せ先の表を変更するか、問合せ先を攻撃者が管理するものに完全に変更するか。

02 二、一発で購入したドメインは誰が管理するのか

レジストリ、レジストラ、ドメインネームサーバーを理解したら、Vercelのようなデプロイメントプラットフォームを再度見てみましょう。デプロイメントプラットフォームは、書き上げたプログラムをオンラインで実行する責任があります。ユーザーの手間を省くために、多くのデプロイメントプラットフォームはドメインの購入や解析の管理も自分のバックエンドに組み込んでいます。ユーザーはドメインの購入からウェブサイトの公開まで、すべてプラットフォームとやり取りするだけで済みます。

しかし、プラットフォームの背後には、前述の役割が一つも欠けていません。中にはプラットフォーム自体がレジストラであるものもあれば、ユーザーのためにレジストラを探して手続きを行うものもあります。Vercelは後者に属します。私たちはKintsuのドメインを調べたところ、レジストリに登録されているレジストラはName.comであり、Vercel自身ではありませんでした。

この「ワンストップ」の方法は非常に便利ですが、その代償としてユーザーは自分のドメインに別のレジストラが存在することを知らず、レジストラのセキュリティについても気にしないことが多いです。Vercelを例にとると、そのバックエンドやインターフェース[3]では、ドメインネームサーバーを変更することもでき、ドメインを転出するための認証コードも取得できます。言い換えれば、プラットフォームのアカウントやそのインターフェースの権限を持っている人は、ドメインの指向を変更したり、さらにはドメインを転出したりする可能性があります。

多くのプロジェクトはコードや契約に厳重にチェックを行っていますが、ドメインは一つのアカウントの下に置かれ、普段は誰も見ておらず、問題が発生しても誰に連絡すればよいのかわからないのです。

AI時代に入ると、「ワンキー」が「ゼロキー」になりつつあります。Vercelのコマンドラインツール[4]は、すでにスクリプトやAIアシスタントが人の操作なしでドメインを購入し、更新することをサポートしています。VercelはAIアシスタントにMCPインターフェース(AIアシスタントが外部ツールを呼び出すための標準的な方法)を提供しており、ドメインやDNSに関連するツールが28個[5]あります。つまり、開発者がAIに「ウェブサイトを公開し、ドメインを設定して」と言えば、ドメインの購入や解析の変更などの作業をAIがすべて行うことができます。

開発者が省くのはクリックだけでなく、これらのプロセスを理解する機会も失われます:どのアカウントでドメインが購入されているのか、背後にどのレジストラがいるのか、誰がそれを変更できるのか、これらは彼の目を通らない可能性が高いです。

コードを書くのはAIに任せられるが、ドメイン名(セキュリティ)は誰に任せるべきか?

一言で言えば、AIが開発者のためにドメインを購入し、解析を設定してくれました。

03 三、今回の攻撃者はどこを変更したのか

公開された報道[6]によると、10月31日当日、名指しされたウェブサイトは次々と増えて十数個に達しました。Kintsuの他にも、StonkFun、Pickle、Echelon、Origami、Fluxbeam、Stakepoint、SupSwap、Longbow、SHPRD、ApeX DeFiなどのDeFiプロジェクトが含まれています。

ドメインの登録情報は公開されており、誰でも確認できます。私たちはその中の11のプロジェクトのドメインを調べたところ、すべてのレジストラがName.comであり、そのうち7つは10月31日にレジストリの登録が変更されていました。北京時間31日午後6時の時点で、まだ5つのドメインが攻撃者のサーバーを指していました。

攻撃者は前述の二つの方法をすべて使用しました。pickle.finance[7]とstakepoint.appはVercelのドメインネームサーバー上にまだ表が残っており、その表にはVercel自身のサーバーアドレスが書かれているため、元の問合せ先はVercelであることがわかります。しかし、彼らのレジストリに登録されている問合せ先は、31日UTCの午前1時過ぎにName.comのドメインネームサーバーに変更され、新しい問合せ先には31.56.52.52という番地が書かれています。

もう一つのケースは、fluxbeam.xyz、supswap.xyz、apexdefi.xyzの問合せ先は元々Name.comにあり、レジストリの登録は今年の2月または5月以降変更されていませんが、問合せ先の表には同じく31.56.52.52という番地が書かれており、表自体が変更されたと推測されます。このアドレスはSnowcore[8]という会社名義で登録されており、IPセグメントの登録国はオランダで、Vercelとは関係ありません。

コードを書くのはAIに任せられるが、ドメイン名(セキュリティ)は誰に任せるべきか?

異なるプロジェクトのウェブサイトが、攻撃者が制御する同じアドレスに指向されています。

残りのいくつかのドメインは、すでに正常なサーバーに戻されたものもあれば、別のサービスプロバイダーに変更されたものもあり、またドメインを転出中のものもあり、プロジェクト側が救済を試みているようです。

二つの方法には共通点があります:どちらもレジストラ側での変更が必要です。攻撃者がName.com自体、VercelとName.comの間の接続、あるいはプロジェクト側の各アカウントから権限を取得したのかは、公開データからはまだわかりません。私たちが調べた時点で、VercelとName.comはまだ公開の説明をしていません。

Kintsuは公告の中で、修正がなかなか反映されないことが、キャッシュに関係している可能性があると述べています。各地の解析サーバーは問合せ先の情報を一定期間キャッシュします。一般的には約1時間です。プロジェクト側が登録を元に戻した後、一部のユーザーのコンピュータはまだ古い回答を使用しており、偽の店舗に連れて行かれ続けています。この点は私たちの推測であり、まだ確認されていません。

04 四、鍵はパスワードだけではない

前述のように、攻撃者がどこからレジストラ側の権限を取得したのかはまだ結論が出ていません。入口がどこであれ、ドメインを変更できるのは結局のところ特定の鍵です。鍵について言えば、多くの人はアカウントのパスワードや認証コードを思い浮かべます。AIを使ってプログラムを書き、自動化デプロイを行う人々は、実際にはもう一種類の鍵を持っています:アクセストークン(token)です。

トークンは一連の文字列で、プログラムはそれを持っていることでユーザーを代表してプラットフォームのインターフェースを呼び出すことができ、パスワードや認証コードは必要ありません。Vercelを例にとると、トークンを作成する際には権限の範囲[9]を選択する必要があります:特定のプロジェクトだけを管理することも、チームのすべてのプロジェクトを管理することも、あるいは「アカウント全体」を選択してすべての権限を取得することもできます。作成時には有効期限も選択する必要があり、有効期限が切れるとトークンは自動的に無効になります。範囲が大きくなるほど、トークンが漏洩した場合の損失も大きくなります。

トークンが漏洩する経路は、多くの人が想像するよりも多いです:

• コードや設定ファイルに書き込まれる。トークンがコードに書き込まれ、公開されたコードリポジトリに一緒に提出されたり、フロントエンドにパッケージ化されたりすると、誰でも見ることができます。

• AIプログラミングアシスタントに任せる。プログラミングアシスタントは、ユーザーがデプロイするのを助けるために、プロジェクト内の設定ファイルを読み取ったり、ユーザーが対話に貼り付けたトークンを直接取得したりします。MCPを通じてデプロイメントプラットフォームに接続するアシスタントは、ドメイン名や解析を変更する権限を持っています。これらの内容は対話と共に送信され、アシスタントが改ざんされたウェブページや文書を読み取った場合、実行すべきでない操作を誘導される可能性があります。

• 中継所を経由する。一部のユーザーは、安価または便利さのために、AIプロバイダーのインターフェースを直接呼び出すのではなく、第三者の「中継所」を使用します。対話内容はすべて中継所を経由し、その中にトークンが含まれている場合、中継所の運営者はそれを明確に見ることができます。

• 様々なプラグインや統合に接続する。第三者サービスを接続するたびに、鍵を保管する場所が一つ増えます。

コードを書くのはAIに任せられるが、ドメイン名(セキュリティ)は誰に任せるべきか?

ドメイン名を変更できるトークンは、これらの場所から漏洩する可能性があります。

この事件の入口についてはまだ結論が出ていないことを説明する必要があります。私たちはそれがトークンの漏洩によって引き起こされたとは言っていません。ただ、AIがプログラムを書くことがますます一般的になっている今日、ドメイン名サーバーや解析記録を変更できるトークンは、秘密鍵と同じくらい慎重に保管する価値があります。

05五、資産に関わるウェブサイトがハイジャックされることが特に危険な理由

一般的なウェブサイトがハイジャックされると、ユーザーは偽のページでアカウントのパスワードを漏洩する可能性があります。資産に関わるサービス、例えば取引所、ウォレット、決済機関、DeFiアプリなどは、ドメインが一度ハイジャックされると、その結果はしばしばより直接的です:ユーザーが偽のページ上で行うすべての操作は、実際の資産損失に繋がる可能性があります。

デジタル資産は特にそうです。ユーザーがDeFiウェブページで「承認」「交換」「ステーキング」をクリックすると、ウェブページは取引をウォレットに渡し、ユーザーはウォレットで確認をクリックします。ウェブページから渡されるものは、多くのユーザーには理解できず、URLそのものを信じるしかありません。ハイジャックされたURLから渡されるのは、攻撃者にトークンを承認する取引かもしれません。それにサインすると、攻撃者はいつでもお金を移動できます。ブロックチェーン上の送金が一度完了すると、ほぼ取り戻すことはできません。

決済機関も同様です。ユーザーが決済ページでカード番号や確認コードを入力したり、ページに表示された受取先に支払ったりすると、偽のページが受取情報を変更するだけで、お金は攻撃者の手に渡ります。ユーザーが見るドメイン名、ページ、プロセスは普段と全く同じで、気づくのは難しいです。

私の見解では、AI時代のセキュリティの注意点は、少し位置を移動させる必要があります。コードはますますAIによって書かれ、チームはセキュリティのエネルギーをコードレビューや契約監査に集中させています。これは間違いではありませんが、ユーザーがウェブサイトに到達するには、レジストリ、レジストラ、ドメイン名サーバー、デプロイメントプラットフォームを経由する必要があります。この道もセキュリティの一部であり、これらの段階はまさにAIが人間の代わりに行うことが最も多く、人間が理解することが最も少ない場所です。

バックエンドシステムや契約がどれだけ厳密に作られていても、この道のどこかの段階が攻撃されれば、ユーザーは偽のページで自ら資産を渡してしまいます。

06六、アプリケーションサービスプロバイダーとデジタル資産サービスプロバイダーへの提言

ドメイン名が誰の手にあるかを確認する。自分のドメインがどのレジストラに登録されているか、ドメイン名サーバーがどこにあるか、関連アカウントが誰によって管理されているかを調べます。プラットフォームでワンクリックで購入したドメインも、背後に誰がいるのかを知っておく必要があります。

ドメイン名をロックする。レジストラのロックを有効にし、ドメインが無断で移転されるのを防ぎます。重要なプロジェクトはレジストリロックを申請し、ルーティング情報などの重要な情報を変更する際には、手動での本人確認が必要です。

アカウントを保護し、トークンも保護する。アカウントにはハードウェアセキュリティキーを使用して多要素認証を行います。トークンには必要な最小限の権限を与え、期限を設定します。トークンはコードに書き込まず、AIとの対話に貼り付けず、来歴不明の中継所を経由しないようにします。使用しないトークンは速やかに削除します。

AIアシスタントに別の鍵を与える。AIアシスタントにデプロイを手伝ってもらうときは、専用のトークンを作成し、現在のプロジェクトに必要な権限のみを開放し、短い期限を設定します。ドメイン名の購入、ドメイン名サーバーの変更、ドメインの転出などの操作は、人間が確認すべきであり、AIに自動的に行わせるべきではありません。

変化を監視する。ドメイン名サーバー、解析記録、ドメインの状態、いずれかが変化した場合は通知を受けるべきです。攻撃者が偽のウェブサイトでHTTPSを有効にするには、通常、そのドメイン名の新しい証明書を申請する必要があり、公開発行された証明書はすべて公開記録があるため、これらの記録を監視することで異常を早期に発見できます。

緊急対策を事前に準備する。ドメインに問題が発生した際に、どのようにしてユーザーに迅速に通知するか、どのようにしてレジストラのリアルカスタマーサービスを見つけるかを考えておきます。Kintsuは公告でカスタマーサービスがただのロボットだと不満を述べています。このような状況に直面した場合、事前に準備しておいた人間のチャネルが、損失を抑える速度を決定するかもしれません。

07七、オンライン化が容易になるほど、鍵を誰が持っているかを明確にする必要がある

AIはコードを書くことを容易にし、オンライン化、ドメインの購入、解析の設定を容易にしました。ハードルは下がりましたが、責任は減っていません。ユーザーがURLを入力することは、URLの背後にある全ての道と、鍵を握るすべての人やプログラムに信頼を託すことを意味します。

これらの段階は普段は見えず、あまり考えられることはありませんが、ユーザーにとっては、それらはサービスプロバイダー自身が書いたコードと同じように、サービスの一部です。いずれかの段階が失敗すれば、ユーザーはその責任をサービスプロバイダーに負わせるでしょう。

ツールが私たちのために行うことがますます増えていますが、私たちは自分がどの鍵を渡したのかをまだ明確に理解していますか?

引用リンク

[1] 発文: https://x.com/Kintsu/status/2116382643017101513 [2] Next.js: https://nextjs.org [3] インターフェース: https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar [4] コマンドラインツール: https://vercel.com/docs/cli/domains [5] 28個: https://vercel.com/docs/mcp/vercel-mcp/tools [6] 公開報道: https://cryptoadventure.com/stepdrainer-hits-12-crypto-sites-in-dns-hijack-wave/ [7] pickle.finance: https://rdap.org/domain/pickle.finance [8] Snowcore: https://rdap.db.ripe.net/ip/31.56.52.52 [9] 権限範囲: https://vercel.com/kb/guide/how-do-i-use-a-vercel-api-access-token

warnning リスク警告
app_icon
ChainCatcher Building the Web3 world with innovations.