那個自己搭起自己的釣魚頁面
Cisco Talos 的 2026 年第一季 IR 報告把釣魚重新推回初始存取手法的榜首;而在這份報告裡面,Talos 記錄下第一起被它歸因於 AI「vibe-coding」頁面生成工具的案例——一個架在 `*.softr.app` 子網域上、仿冒 Outlook Web Access 的山寨頁面,把憑證外傳到一份用完即丟的 Google Sheet。URL 信譽完全看不見這種東西衝著你來。真正的解法要往下層走。
Cisco Talos 在 4 月 22 日發布了 2026 年第一季的事件應變報告。兩項發現,同一個故事。釣魚重新奪回第一季初始存取手法的首位——佔了超過三分之一的案例——這是 2025 年第二季以來第一次。而在這個頭條數字底下:第一起被 Talos 歸因於 AI「vibe-coding」頁面生成工具的案例。攻擊者利用 Softr——一個無程式碼的應用程式平台——在 *.softr.app 子網域上架起一個活生生的 Outlook Web Access 山寨頁面,把憑證收集進一份用完即丟的 Google Sheet。整個頁面從頭到尾沒寫過一行程式碼。URL 信譽完全看不見這種東西衝著你來。
Talos 的 2026 年第一季 IR 趨勢報告在 4 月 22 日登場,報告開頭的那項數字,是防守方眼中具有風向球意義的東西。釣魚重新回到最常觀察到的初始存取手法的寶座——在能判定手法的案例中佔了超過三分之一——這是 2025 年第二季以來的第一次。MFA 弱點出現在百分之三十五的案例中,比上一季上升。公共行政與醫療並列最常被鎖定的產業,各佔百分之二十四。單就這些數字本身而言,並沒有什麼特別令人意外的。
令人意外的部分,是報告中段那則案例研究。Talos 以中等信心水準記錄下它所稱的、第一次觀察到特定 AI 應用被用來架設活生生的憑證收集頁面的案例——這個應用是 Softr,一個無程式碼的「vibe-coding」應用程式生成工具。這個頁面仿冒了 Microsoft Exchange 與 Outlook Web Access。它把被送出的憑證收集到一份用完即丟的 Google Sheet。每當有新的收割結果,它還會發信通知操作者。Talos 評估這個手法模式至少可以回溯到 2023 年 5 月,但在 2025 年下半年到 2026 年第一季之間明顯加速。Trend Micro 的平行追蹤在 Lovable、Netlify、Vercel 上看到同樣的手法:架在 AI 生成工具子網域上的假 CAPTCHA 頁面,真正的憑證表單則被藏在驗證挑戰的後面。
這個頁面本身並不起眼。它被放在哪裡,才是重點。
這條鏈的真實面貌。
像 Softr 這樣的無程式碼生成工具,設計上本來就讓「一段指令」與「一個上線的網頁應用」之間的距離非常短。你描述你要什麼,它產生 HTML 與 JavaScript、把結果部署到它自家的基礎設施上,然後給你一個免費的子網域。那個子網域和每一個其他 Softr 客戶的子網域是兄弟姊妹:something.softr.app。Softr 負責代管、TLS 憑證、CDN 與可用性。如果你是一個想架憑證收割頁、又不想註冊網域、不想買憑證、不想租 VPS、更不想向任何人解釋你在代管什麼東西的攻擊者,這是一份好到不像話的提案。
這條鏈特別有意思的地方在於:除了攻擊者自己的提示詞與自己的信箱之外,鏈上每一個環節都是主流的 SaaS 產品,做著它們廣告上明明白白寫著的事。Softr 生成頁面。softr.app 以子網域的方式代管它。Google Sheets 保存收割到的憑證。Gmail 通知操作者。一套自動化防守系統由上而下跑過這條鏈,看到的全都是信譽良好的第三方。這條鏈沒有藏起來。它只是穿上了一套防禦機制被訓練成要判為良性的迷彩。
URL 信譽的盲點。
大多數 URL 信譽系統——那些在你的瀏覽器連 TLS 握手都還沒完成就把連結評為「安全」、「可疑」或「惡意」的系統——運作方式就像信用評等機構。它們替這個網域建立一份檔案:年齡多大、知名度如何、TLS 憑證是有一段長歷史還是一張剛剛從 Let's Encrypt 拿到的新憑證、有沒有在任何黑名單上被觀察到、母公司是否信譽良好。這份檔案會產出一個數字、這個數字會產出一個判定、這個判定會產出一個顏色。
把 something.softr.app 丟進這條管線看看。
信譽層所倚賴的每一項訊號,都是母網域 softr.app 的屬性;而母網域給出的每一個答案,都是正確的答案。它有六歲。它的憑證有效。它不在任何黑名單上。它走 HTTPS。它屬於評分器已經分類好的類別。子網域並沒有實質改變任何一點。那個子網域上面的頁面可以是一張生日卡,也可以是一張憑證收割表——評分器沒辦法區分,而且在 URL 信譽的設計架構裡,它根本沒有理由去看。
Talos 的觀察是:攻擊者在一段時間前就已經想通了這一點,現在則是在把它產業化——在信譽良好的 SaaS 上做頁面,把憑證收集到信譽良好的 SaaS 裡,再透過信譽良好的 SaaS 發出通知。防守方完全找不到可以拒絕的點。
對的那一層是頁面,不是網址。
防禦得往下層走。一旦代管被漂白,剩下還算可靠的訊號,就只有這個頁面「自稱是什麼」以及「實際上是什麼」。onboarding-portal-8xq.softr.app 上的一個 Outlook 登入表單,是釣魚。login.microsoftonline.com 上的一個 Outlook 登入表單,就不是。同一張表單、不同來源、不同判定。一套能讀懂表單並把它和來源比對的系統,對這個頁面就有話可說;一套只讀網址的系統,則沒有。
這就是 Bromure 的反釣魚檢查器已經在運作的那一層。在每一個 Bromure 分頁內部,一段內容指令稿在頁面載入時盯著它看,抽出一個人類會用來判斷這個頁面自稱是什麼的訊號——可見文字、標題、Logo 的來源、表單的形狀、它要求填的欄位——然後透過一條 vsock 通道把這份資料包送往一個小模型,模型會用平實的語言回傳判定。「這個頁面自稱是 Microsoft Outlook,但實際上是架在 softr.app 上」——一個受過訓練的讀者,在幾分之一秒內就會落到這一句話上。模型也會落到這裡,而使用者看到的橫幅就是一句這樣的話,顏色則對應判定結果。
內容檢查器不是魔法,也不是證明。它是一個受過訓練的第二意見,回答一個 URL 信譽在結構上就答不出來的問題:*這個頁面自稱是什麼?*這個問題在 softr.app、vercel.app 或 lovable.app 上,比網路上絕大多數地方都來得銳利,因為在這些子網域上,頁面內容幾乎是唯一還活著的訊號。其他一切,都已經被母網域洗白了。
Bromure 仍然攔不住的事。
內容檢查器、它畫出來的橫幅、以及它能強制的攔截,是第一線。而第一線不是每次都守得住。一個被一封說服力十足的電子郵件預先定調的使用者,一個正在忙著工作、習慣性地點過 Outlook 登入畫面的使用者,完全可能按過那道警示橫幅。使用者也可能落到一個檢查器還來不及評估的頁面,或是一個被判為「可疑」而非徹頭徹尾「釣魚」的頁面,然後覺得可疑約等於大概沒事。
一旦這種事發生,使用者就會把密碼輸進表單,表單就把它收走。世界上沒有任何瀏覽器架構能讓你無法打字。這是整篇文章最平實、也最重要的但書。Bromure 沒辦法阻止使用者把真正的密碼輸進攻擊者的表單。它能形塑的是之後會發生什麼事,而之後會發生什麼事,要看使用者其餘的工作流程住在哪裡。
瀏覽器習慣層面上,會改變什麼、不會改變什麼。
如果憑證釣魚真的越過了橫幅,Bromure 架構老實說會改變的事有:
- **不會在錯誤來源上自動填入密碼。**密碼管理工具會把儲存的憑證和來源綁在一起,而這裡的來源是
softr.app——使用者的密碼金庫從來沒看過這個。自動填入不會觸發,使用者必須自己打字。這是一道真實、便宜、平凡的防線——而且在 Chrome 上的效果和在 Bromure 上一樣好;特別點名它出來,只是因為這是一道不依賴判斷力的防線,而判斷力正是釣魚的剋星。 - **釣魚分頁裡沒有持久化的個人資料檔。**承載這個釣魚頁的分頁,是一個用完即丟的 Linux VM。當它被關掉,在它裡面載入過的一切——cookie、儲存、快取、指紋——都不會留下。這並不能讓使用者輸出去的憑證「回收」。但它確實代表這個頁面沒辦法悄悄在一個長期存在的個人資料檔裡留下一個追蹤標記,跟著使用者跨工作階段走。
- **頁面想伸手碰主機時,它碰不到。**Talos 的案例研究是一個單純的憑證收集。而 Trend Micro 追蹤到的、橫跨 Lovable 與 Vercel 的更廣泛手法模式,也包含一些會接著做「後續動作」的頁面——ClickFix 貼上、「執行這個安裝程式」、或一個解開後會觸發原生應用程式提示的假 CAPTCHA。如果釣魚頁面試圖把動作交給主機 OS,分頁 VM 會在 hypervisor 邊界上切斷這次交接。和這個部落格其他每一篇貼文的架構理由是一樣的。
而 Bromure 不會改變的事有:
- **從攻擊者基礎設施上重放憑證。**一旦攻擊者拿到一組帳號和密碼,他可以從自己的基礎設施登入真正的 Outlook。受害者機器上——包括 Bromure——沒有任何東西參與那次登入工作階段。MFA 有用。抗釣魚的 MFA——硬體金鑰、passkey——更有用。禁止舊式驗證方式的租戶層級原則最有用。這些才是這條攻擊路徑的正解,而這個部落格不會假裝一個瀏覽器架構能取代它們。
- **中間人(AiTM)工具組轉發即時工作階段。**Talos 記錄下來的這個 Softr 案例,是一個靜態的憑證收集頁,不是 AiTM 反向代理。更精密的那一類工具組——Tycoon、Evilproxy 這個家族——會把受害者的 MFA 挑戰透過釣魚頁轉發給真正的服務供應商,藉此收下一份活生生的工作階段 cookie。那份 cookie 從被收下的那一刻起,就活在攻擊者的基礎設施裡。瀏覽器端的用完即丟,在工作階段衛生上往後看是有幫助的;但它沒辦法回頭讓一張已經離開大樓的 cookie 失效。伺服器端的 cookie 綁定——DBSC 和它的同類——才是真正的解法。
檢查器能抓到什麼
一張印著 Microsoft 品牌、長在 *.softr.app、*.vercel.app 或 *.lovable.app 上的登入表單,正是內容檢查器被打造來標示的那種模式。訊號不是網址,而是品牌宣稱與代管處之間的落差。
分頁 VM 能攔到什麼
釣魚頁面嘗試向主機作業系統做的任何交接——把指令貼進 Terminal 或 Spotlight、跳出安裝程式提示、觸發某個通訊協定處理器——都會失敗,因為這個分頁和桌面並不共用同一個作業系統。釣魚動作會被留在 VM 裡面。
判斷力還是得抓到的事
如果橫幅被忽略或被關掉,一組被打字輸入的密碼還是會透過表單離開。內容檢查器是第二雙眼睛,不是鍵盤上的第三隻手。在這條具體路徑上,抗釣魚 MFA 才是最後一道防線,Bromure 不能取代它。
伺服器端要抓到的事
從攻擊者基礎設施上重放憑證、透過 AiTM 劫持即時工作階段、以及長命的 token,這些決定點都在身分提供者的環境裡,而不在瀏覽器裡。Cookie 綁定、條件式存取、硬體支援的金鑰,是這一層上會用到的工具。
為什麼這是分水嶺,而不只是風潮。
Talos 用「第一次歸因」這個說法是保守的,而「中等信心認為這個手法模式可以回溯到 2023 年 5 月」這個評估則暗示:在有人替它貼上標籤之前,它已經靜靜加速了將近兩年。最好的攻擊者技巧,都是這樣現身的——不是一則公告,而是終於有人畫出來後、你在圖上注意到的一條曲線。Trend Micro 在 2025 年 9 月針對 AI 生成工具代管釣魚所寫的那篇,從另一個方向勾勒出同一條曲線。交會點就在這裡。任何一個防守者,如果假設他的使用者永遠不會點到通往 *.softr.app、*.vercel.app、*.lovable.app 或 *.netlify.app 的連結,就是在假設一個上一季就已經結束的世界。
成本結構是原因。十年前,要架起一個像樣的釣魚頁,需要的不是本事就是錢:一個網域、一張憑證、一台伺服器、一個不會立刻洩漏自己來歷的頁面。今天,一個無程式碼生成工具用一次免費方案註冊就把這四件事全包了。再多做一個冒名網站的邊際成本,是以「下提示詞的幾分鐘」來計算的。而下架的邊際成本——因為每個頁面都活在一家信譽良好的供應商的子網域上,不活在自己的網域上——反而比以前還高。這兩條曲線對防守方來說都指錯了方向,而主流的應對策略「訓練使用者分辨壞網址」到了這個時點,已經是一項成本中心,而不是一項控制。
對一個自稱要保護使用者的瀏覽器來說,誠實的立場是:它必須做 URL 信譽系統做不到的工作。它必須真的把頁面讀進來。它必須替每一張長在「看起來不像登入網站」的網域上的登入表單,判斷這張表單和這個網域是相符、還是在說謊。它必須用一句人類能讀懂的話把它說出來,而且要夠常說對,才配得上那句話被讀的價值。
一則故事,以及它在預示的事。
Talos 寫的是一個頁面。這個頁面在一家 SaaS 上生成、把憑證收進第二家、透過第三家通知操作者。在信譽評分器眼裡,這條鏈上的每一個環節,都是好鄰居。Talos 說的這個故事,在今年結束前就會不再是例外。「Vibe-coded」釣魚不是一個用來指稱新奇事物的標籤;它是從現在起、有憑證目的的攻擊者預設會拿來架攻擊頁面的那種方式的名字,因為它是最便宜、也最寬容的那種。
如果你的瀏覽器對釣魚的唯一答案,是一個 URL 信譽分數,那麼你的瀏覽器對這件事根本沒有答案。信譽分數會是綠的。頁面會是紅的。安裝 Bromure——把第二雙眼睛放在落差真正所在的那個頁面上。