寫程式碼可以交給 AI,域名(安全)可以交給誰?

作者:Yajin
10 月 31 日,十餘個 DeFi 項目的網站相繼被劫持。受影響的項目之一 Kintsu 在 X 上發文[1]說,它透過 Vercel 購買的域名在註冊商層面被劫持了。這句話裡有兩個關鍵詞,一個是 Vercel,一個是註冊商。我們先從 Vercel 說起。
Vercel 是一家網站部署平台。開發者把寫好的程式交給它,它負責構建和上線,再透過分布在各地的伺服器把網頁送到用戶面前。Vercel 也是前端框架 Next.js[2] 背後的公司,在開發者中很流行,這次被點名的項目,網頁大多就放在 Vercel 上。除了托管網站,Vercel 還賣域名,用戶可以在同一個後台裡買域名、管解析。
從我們查到的數據看,這些項目放在 Vercel 上的程式並沒有被改動,被改的是域名指向哪裡。
這件事值得每一家應用服務商關心,對數字資產服務商來說更是如此。這兩年流行 vibe coding,也就是用自然語言描述需求,讓 AI 把程式寫出來。它大大降低了開發應用的門檻:用 AI 寫好程式,交給 Vercel、Netlify、Cloudflare 這類部署平台一鍵上線,再在平台上一併買一個域名,幾分鐘就能擁有一個像樣的網站。
門檻降低了,背後的原理卻沒有因此變簡單。很多人並不清楚域名登記在誰那裡,誰能修改它的指向,修改它需要什麼鑰匙。Vercel 只是其中一類平台,這些問題對所有一鍵上線的方式都成立。這篇文章想用盡量通俗的方式,把這幾個問題講清楚。
01一、怎麼找到一個網址
再來看 Kintsu 說的「註冊商」。要明白註冊商是做什麼的,得先看一個網址是怎麼被找到的。我們可以把網站想成一家商店。域名是店名,比如 example.com;伺服器的 IP 地址是店的門牌號。用戶只記得店名,所以需要有人把店名翻譯成門牌號,翻譯這件事就叫「域名解析」。
翻譯過程涉及三個角色。
註冊局像是總登記處。每一種後綴都有一家註冊局,.com、.xyz、.finance 各有各的。註冊局只記一件事:某個域名的「問路處」在哪裡。
註冊商像是替用戶跑腿的中介。普通人不能直接去註冊局登記,要透過註冊商買域名、續費、修改登記資訊。用戶在註冊商的後台,可以指定自己的域名由哪個「問路處」負責。
域名伺服器(nameserver)就是「問路處」。它手裡有一張表,寫著店名對應哪個門牌號。這張表裡的每一行叫一條解析記錄。平時說的「改解析」,改的就是域名伺服器上的這張表。
用戶在瀏覽器裡輸入網址以後,瀏覽器先去總登記處問:這家商店的問路處在哪裡?再去問路處問:門牌號是多少?最後按門牌號找過去,打開網頁。

瀏覽器先問註冊局,再問域名伺服器,最後按門牌號找過去
所以,如果有人想把顧客騙到自己的假店裡,有兩種辦法。第一種辦法是去問路處,把表上的門牌號改掉。第二種辦法更隱蔽,是去註冊商那裡,把這家商店登記的問路處整個換成自己控制的,再在新的問路處寫上假門牌號。用第二種辦法時,店主去原來的問路處檢查,表上個字都沒變,顧客卻已經被帶走了。

兩種辦法:改問路處上的表,或者把問路處整個換成攻擊者控制的
02二、一鍵買的域名,歸誰管
了解了註冊局、註冊商和域名伺服器,再回頭看類似 Vercel 這樣的部署平台。部署平台負責把寫好的程式放到網上運行。為了讓用戶省事,很多部署平台把買域名、管解析也做進了自己的後台,用戶從買域名到網站上線,從頭到尾只和平台打交道。
可在平台背後,前面說的幾個角色一個都沒少。有的平台本身就是註冊商,有的平台則是替用戶去找註冊商辦理,Vercel 屬於後者。我們查了 Kintsu 的域名,註冊局登記的註冊商是 Name.com,並不是 Vercel 自己。
這種「一站式」的方式很方便,代價是用戶往往不知道自己的域名還有一個註冊商,更不會去關心註冊商這一層的安全。拿 Vercel 來說,它的後台和介面[3]裡,域名伺服器可以修改,轉出域名用的授權碼也可以獲取。換句話說,誰掌握了平台帳號或者它的介面權限,誰就有可能改掉域名的指向,甚至把域名轉走。
很多項目對程式、對合約層層把關,域名卻掛在一個帳號下面,平時沒人看,出了事也不知道該找誰。
到了 AI 時代,「一鍵」正在變成「零鍵」。Vercel 的命令行工具[4]已經支持腳本和 AI 助手在無人操作的情況下購買、續費域名。Vercel 還為 AI 助手提供了 MCP 介面(AI 助手調用外部工具的一種標準方式),其中和域名、DNS 相關的工具有 28 個[5]。也就是說,開發者對 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 無關。

不同項目的網址,都被指向了攻擊者控制的同一個地址
其餘幾個域名,有的已經改回了正常的伺服器,有的換到了別的服務商,還有的正在把域名轉出,看起來是項目方在搶救。
兩種辦法有一個共同點:都要能在註冊商這一側做修改。攻擊者是從 Name.com 本身、Vercel 和 Name.com 之間的對接,還是從項目方各自的帳號拿到的權限,公開數據還看不出來。截至我們查詢時,Vercel 和 Name.com 都還沒有公開說明。
Kintsu 在公告裡提到,修復遲遲無法生效,這可能和快取有關。各地的解析伺服器會把問路處的資訊快取一段時間,常見的是一個小時左右。項目方把登記改回來以後,一部分用戶的電腦還在用舊答案,繼續被帶到假店裡。這一點是我們的推測,還沒有得到證實。
04四、鑰匙不只是密碼
前面提到,攻擊者從哪裡拿到了註冊商這一側的權限,現在還沒有定論。不管入口在哪裡,能改域名的,說到底都是某一把鑰匙。說到鑰匙,很多人想到的是帳號密碼和驗證碼。用 AI 寫程式、自動化部署的人,手裡其實還有另一類鑰匙:訪問令牌(token)。
令牌是一串字符,程式拿著它,就能代表用戶調用平台的介面,不需要密碼,也不需要驗證碼。以 Vercel 為例,令牌在創建時要選擇權限範圍[9]:可以只管一個項目,可以管一個團隊的所有項目,也可以選「整個帳號」,拿到全部權限。創建時還要選擇過期時間,過期以後令牌自動失效。範圍選得越大,令牌一旦洩露,損失也越大。
令牌洩露的途徑,比很多人想像的多:
• 寫進程式碼或配置文件。令牌被寫進程式碼,一起提交到公開的代碼倉庫,或者打包進前端,任何人都能看到。
• 交給 AI 編程助手。 編程助手為了幫助用戶部署,會讀取項目裡的配置文件,或者直接拿到用戶貼進對話的令牌;通過 MCP 接入部署平台的助手,本身就握著修改域名和解析的權限。這些內容會隨著對話發送出去,助手如果讀到了被人動過手腳的網頁或文檔,還可能被誘導執行不該執行的操作。
• 經過中轉站。 一些用戶為了便宜或方便,不直接調用 AI 廠商的接口,而是使用第三方的「中轉站」。對話內容全部經過中轉站,其中如果夾帶了令牌,中轉站的運營者能看得一清二楚。
• 接入各種插件和集成。 每接入一個第三方服務,就多了一個保管鑰匙的地方。

能改域名的令牌,可能從這些地方洩露
需要說明的是,這次事件的入口還沒有定論,我們並不是說它是由令牌洩露引起的;只是在 AI 寫程序越來越普遍的今天,能修改域名伺服器和解析記錄的令牌,值得和私鑰一樣認真保管。
05五、為什麼涉及資產的網站被劫持特別危險
普通網站被劫持,用戶可能會在假頁面上洩露帳號密碼。凡是涉及資產的服務,比如交易所、錢包、支付機構、DeFi 應用,域名一旦被劫持,後果往往更直接:用戶在假頁面上的每一步操作,都可能變成實實在在的資產損失。
數字資產尤其如此。用戶在 DeFi 網頁上點擊「授權」「兌換」「質押」,網頁把一筆交易遞給錢包,用戶在錢包裡點確認。網頁遞過來的是什麼,很多用戶看不懂,只能相信網址本身。一個被劫持的網址,遞過來的可能是一筆把代幣授權給攻擊者的交易,簽下去,攻擊者隨時可以把錢轉走。鏈上的轉帳一旦完成,幾乎無法追回。
支付機構同樣如此。用戶在支付頁面上填寫卡號和驗證碼,或者按頁面顯示的收款地址付款,假頁面只要換掉收款信息,錢就會落到攻擊者手裡。用戶看到的域名、頁面、流程都和平時一模一樣,很難察覺。
在我看來,AI 時代的安全注意力需要挪一挪位置。代碼越來越多由 AI 來寫,團隊把安全精力集中在代碼審查和合約審計上,這沒有錯,但用戶到達一個網站,還要經過註冊局、註冊商、域名伺服器和部署平台。這條路同樣是安全的一部分,而這些環節恰恰是 AI 替人做得最多、人了解得最少的地方。
後台系統和合約做得再嚴密,只要這條路上有一個環節被攻破,用戶就會在一個假頁面上,親手把資產交出去。
06六、給應用服務商和數字資產服務商的建議
查清域名在誰手裡。 查一查自己的域名登記在哪家註冊商,域名伺服器在哪裡,相關帳號由誰管理。在平台上一鍵買的域名,同樣要知道背後是誰。
鎖住域名。 開啟註冊商鎖,防止域名被隨意轉走。重要項目可以申請註冊局鎖,修改問路處等關鍵信息時,需要人工核驗身份。
保護帳號,也保護令牌。 帳號使用硬體安全密鑰做多因素認證。令牌只給需要的最小權限,並設置過期時間。令牌不寫進代碼,不貼進 AI 對話,也不經過來路不明的中轉站。不用的令牌要及時刪除。
給 AI 助手單獨的鑰匙。 讓 AI 助手幫忙部署時,給它單獨創建令牌,只開放當前項目需要的權限,設置較短的過期時間。買域名、改域名伺服器、轉出域名這類操作,應該由人來確認,而不是交給 AI 自動完成。
盯住變化。 域名伺服器、解析記錄、域名狀態,任何一項發生變化都應該收到提醒。攻擊者在假網站上啟用 HTTPS,通常需要為該域名申請新證書,而公開簽發的證書都有公開記錄,監控這些記錄也能及早發現異常。
提前準備應急方案。 想好域名出事時怎樣第一時間通知用戶,怎樣找到註冊商的真人客服。Kintsu 在公告裡抱怨客服只是個機器人。遇到這種情況,提前準備好的人工渠道,可能決定止損的速度。
07七、上線越容易,越要清楚鑰匙在誰手裡
AI 讓寫代碼變得容易,也讓上線、買域名、配解析變得容易。門檻降下來了,責任卻沒有跟著減輕。用戶輸入一個網址,就是把信任交給了網址背後的整條路,以及手裡握著鑰匙的每一個人和每一個程序。
這些環節平時看不見,也很少有人去想,可在用戶眼裡,它們和服務商自己寫的代碼一樣,都是服務的一部分。任何一環失守,用戶都會把帳算在服務商頭上。
工具替我們做的事情越來越多,我們還清楚自己把哪些鑰匙交了出去嗎?
引用鏈接
[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












