讓我描繪一個我知道你最近一定經歷過的畫面。

你正試著訂機票、買演唱會門票,或只是下載一個簡單的 PDF 轉檔工具。突然,網站瞬間變成一個徹底的戰場:

🚨 「這個價格只剩 2 個座位!」
⏳ 血紅色的倒數計時器從 05:00 開始滴答倒數。
🟢 三個巨大、發光的「立即下載」按鈕出現了,而你 知道 其中兩個會安裝惡意軟體。
🥺 而當你試著關閉彈出視窗時呢?唯一的按鈕寫著:「不用了,謝謝,我寧願付全價然後痛苦地接受。」

我們把這叫做「行銷」。但老實說,這根本就是欺騙性的工程設計。

這些就是 Dark Patterns(黑暗模式)——刻意設計成用來欺騙、讓你產生罪惡感,或強迫你做出原本不想做的事情的 UI/UX 設計。說真的?這種做法越來越噁心了。身為開發者,我們在打造網路世界;我們不應該坐視網頁主動操弄使用者。

所以,我在 Tarkash Labs 的團隊決定反擊。我們打造了一個認知視覺防護罩,能即時偵測這些模式。

這就是 OmniGuard AI。

https://www.youtube.com/watch?v=vR4NOdhGkRE


(觀看上方 1 分鐘示範,看看它如何即時抓出假倒數計時器與隱藏費用!)


🛡️ OmniGuard 如何運作(技術堆疊)

大多數廣告攔截器或隱私擴充功能的問題在於,它們依賴靜態黑名單或 CSS 選擇器。但現代的黑暗模式是動態的。它們偽裝成一般的 DOM 元素。

要抓出它們,我們需要一個能 像人類一樣看見 網頁的工具。

我們將 OmniGuard 建造成一個 Manifest V3 Chrome 擴充功能,後端由 FastAPI 與 Gemini 3.7 Flash 驅動。

以下是完整流程:

1.「眼睛」(React 18 + Vite 擴充功能):
當你點擊「Scan」(或啟用捲動時自動掃描)時,擴充功能會擷取目前可視區域的一張短暫、高壓縮的截圖。

2.「大腦」(FastAPI + Gemini 3.7 Flash):
這張圖片會傳送到我們無狀態的 FastAPI 後端。我們使用 Gemini 3.7 Flash 的多模態能力來分析頁面的視覺脈絡。它不只是讀取程式碼;它還能理解 UI 看起來是什麼樣子。

3.「防護罩」(Shadow DOM 注入):
如果 Gemini 偵測到黑暗模式,後端就會把精確座標串流回擴充功能。接著我們會在頁面上注入一層 Shadow DOM,直接在欺騙性元素上繪出發光的紅色外框,並且完全隔離我們的 CSS 與宿主頁面的樣式。


🕵️‍♂️ 我們追捕的 6 種惡意手法

OmniGuard 目前設定為偵測六種特定類型的視覺欺騙。以下是它在實際網站上如何抓到這些手法:

1. 偽裝點擊
把按鈕偽裝成別的東西(例如看似下載,實際上卻導向廣告或惡意軟體的假下載)。
OmniGuard 偵測偽裝點擊

2. 道德綁架式確認(Confirmshaming)
帶有罪惡感的取消訂閱文案,試圖讓你因為不訂閱而感到愧疚。
OmniGuard 偵測道德綁架式確認

3. 緊迫感陷阱
假的倒數計時與人為製造的稀缺訊息。
OmniGuard 偵測緊迫感陷阱

4. 隱藏費用(滴灌式定價)
在結帳流程最後才神奇出現的手續費與未包含的稅金。
OmniGuard 偵測隱藏費用

5. 偷偷放進購物車
在下載或結帳時,未經同意就預先勾選的不想要的軟體套裝或保險。
OmniGuard 偵測偷偷放進購物車

6. 強制續訂
把激進自動續約條款藏在細則裡的「免費試用」。
OmniGuard 偵測強制續訂


🔒 零資料庫隱私架構

打造一個會截圖瀏覽器的 AI 擴充功能時,最大的挑戰之一就是 隱私。從一開始我們就知道,如果我們要做的是保護使用者的工具,就不能為了達成這件事而犧牲他們的資料。

這就是為什麼 OmniGuard 後端是 100% 無狀態 的。它採用零資料庫架構。可視區域截圖只會在記憶體中存在 Gemini 處理它所需的那幾毫秒,然後立刻被銷毀。沒有任何內容會被儲存、記錄或留存。


💻 親自試試看(開源)

我們已經把整個專案開源。如果你想看看我們如何處理 Manifest V3 的分頁擷取,或是我們如何提示 Gemini Flash 進行 UI 座標對應,可以到這裡查看原始碼:

{% github Tarkash-Labs/OmniGuard

非常感謝我的隊友 Yug Vasava(主程式開發)和 Avadh Vaishnani(主 QA)協助把這個專案實現出來。

👇 現在,我需要知道……

我們一直努力提升 AI 的偵測能力。

你最近看過哪一種最不道德、最讓人生氣,或最噁心的黑暗模式,是某家公司用過的?

歡迎在下方留言,我們會用它來訓練 OmniGuard 把它抓出來!🚀


原文出處:https://dev.to/dj29/we-need-to-talk-about-how-gross-modern-web-design-has-become-and-how-we-built-an-ai-to-catch-it-5gin


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝6   💬1   ❤️1
255
🥈
boluoji
📝8   💬2   ❤️3
150
🥉
mike
1
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登