八支惡意腳本有七支查不到,
因為它們只對特定訪客動手

速讀:5 分鐘掌握重點

為什麼現在很紅:iThome 9/21 報導、Cloudflare 9/16 原文:八支惡意腳本裡七支不在 VirusTotal,URLScan 一支都沒判成惡意。重點不是掃描工具不好,是這些腳本被設計成「有人在檢查的時候不動」。

一句話結論
Cloudflare 公開四波藏在購物網站裡的惡意程式,共八支。網站看起來完全正常、結帳也正常,但它們只在特定條件下才動手,例如用手機、從廣告點進來、不在公司網路;所以站方自己檢查時看不到。
他要的是什麼
他不偷卡號,因為偷卡號會有人報案。他要的是不會有人報案的錢:把別人的訂單算成自己介紹的、把你花廣告費買來的訪客變成他的數據。代價是一個十幾美元的仿冒網域。
你今天做一件事
花 15 分鐘列出你網站「實際」載入的所有外部腳本網域,再跟「你以為有的」對一次。對不上的那幾個,就是沒有人審過的程式,而它們每天在你客人的瀏覽器裡執行。 直接去做 →
哪些能信
3 可證明2 推論3 缺口 每個主張都標了等級,缺口是誠實寫出來的。
破口速查
受害端一律去識別化;寫「未公開」代表公開資料查不到。
伺服器服務商
未公開。四家受害商店都去識別化,只知道類型:電商、旅遊訂房、線上零售、自有品牌直營(DTC)
網路服務商
受害端未公開;偵測方是 Cloudflare(流量經過它才看得到)。攻擊端的腳本放在仿冒名稱的網域上,例如只多一個 t 的 adtargett[.]com、假裝是 AWS 的 sdk-amazonaws[.]com
漏洞出現的地方
瀏覽器端:網站載入的第三方 JavaScript。一條已確認的路徑是「Google Tag Manager(代碼管理工具)→ 另一個代碼管理工具 → 惡意腳本」;另一起是直接被寫進商店的 HTML 範本
馬上自我檢測
curl -s https://YOUR_SITE/ | grep -oE 'src=.https?://[^/ >]+' | sort | uniq -c | sort -rn
漏洞修補方式
先有一份「網站實際載入哪些外部腳本、誰加的、為什麼加」的清單;代碼管理工具的發布權限收斂到少數人並開啟變更通知;加上只回報不阻擋的內容安全政策(CSP Report-Only)收集實際載入的網域;付款頁的腳本逐一核可並做完整性檢查
有 15 分鐘再看:其餘 2 點
  1. 四波的目的都是錢,但都不是偷信用卡:兩波把聯盟行銷的佣金算到自己帳上,一波在商店裡留了一扇可以隨時換程式的後門,一波把商店的分析工具與客服入口拆掉、換成自己的。
  2. 事後拿去兩個常用的公開掃描服務比對:八支裡七支在 VirusTotal 根本沒有紀錄,URLScan 一支都沒判成惡意。真的付出多少佣金、後門送過什麼、受害者是誰,原文都沒有答案。

Cloudflare 公開四波藏在購物網站裡的惡意 JavaScript:結帳正常、頁面正常,但只有「用手機、從廣告點進來、不在公司網路」的訪客會遇到它。你自己打開網站檢查的那一次,它剛好不會醒。

Cloudflare 揭露四波依條件啟動的惡意 JavaScript(受害商店皆去識別化)·受害期間未公開(Cloudflare 2026-09-16 揭露)·全文 9 分鐘
本篇目錄

一個什麼都沒壞的星期天下午

Cloudflare 的原文用一個畫面開場:星期天下午,一位客人用手機逛一家網路商店,點了一個商品。頁面沒有照平常那樣打開,而是在新分頁開了另一個商品頁,原本那個分頁則在背景很快地繞了一圈別人的推廣連結再回來。客人什麼都沒察覺,繼續逛、也許下了單。商店收到訂單,一切正常。

不正常的只有一件事:這張訂單在聯盟行銷的系統裡,被記成「某個推廣夥伴介紹來的」。商店要為一位自己走進來的客人,付一筆佣金給一個什麼都沒做的帳號。

這是 Cloudflare 在 2026 年 9 月 16 日公開的四波惡意 JavaScript 行動之一,iThome 在 9 月 21 日做了中文報導。四波共八支程式,藏在四家不同類型的購物與訂房網站裡。它們有一個共通點:不是對每個訪客都動手。要符合一串條件才會醒來,例如用的是手機、當地時間落在某個時段、是從付費廣告點進來的、連線不是公司網路也不是 VPN。條件不符,它就只是一段什麼都不做的程式。

這件事跟一般「網站被植入惡意程式」最大的差別就在這裡。站方發現不對勁時會做的第一件事,是自己打開網站看一下、或丟給線上掃描服務掃一次,而這兩個動作恰好都不符合啟動條件。Cloudflare 事後拿這八支去比對,七支在 VirusTotal(最多人用的惡意檔案查詢服務)完全沒有紀錄;URLScan(網址掃描服務)則是八支都沒有判成惡意。

先講清楚這份揭露的性質,因為它決定了這篇能走多遠。它是一家資安廠商的研究文章,同時也是它自家偵測產品的成果展示。受害商店全部去識別化,樣本的雜湊值沒有公開,所以「八支裡七支查不到」這句話外人沒辦法重做一次;能自己核對的,是原文貼出來的程式碼節錄、攻擊鏈描述,以及一份 15 個網域的指標清單。下面每個主張會標明是哪一種。

  1. 2024-01
    其中一支後門腳本被 URLScan 直接掃過,結果是「沒有分類」
    Cloudflare 原文;該版本在 URLScan 上掛了將近兩年半都沒有被判定。
  2. 2024-05-14
    仿冒網域 sdk-amazonaws[.]com 註冊
    本站以 WHOIS 查詢核對(原文只寫 2024 年);真正的 amazonaws.com 是 2005 年註冊。
  3. 2025-03-29
    仿冒網域 adtargett[.]com 註冊,比真的廣告公司網域多一個 t
    本站以 WHOIS 查詢核對;被模仿的 adtarget[.]com 註冊於 1998-11-04。
  4. (年份不明)黑色星期五之後
    第一波行動的其中一版被設成暫停
    原文:暫停版的程式裡留有版本註解,寫明「黑色星期五之後暫停」。年份原文沒寫。
  5. 未公開
    四家商店實際被植入的起訖時間
    原文沒有提供任何一家的受害期間。
  6. 2026-09-16
    Cloudflare 發表研究文章,公開四波行動與 15 個網域指標
    Cloudflare Blog。
  7. 2026-09-21
    iThome 中文報導
    iThome 新聞。

時間線上最值得看的不是揭露日,是第一列:那支程式兩年半前就被掃過了,掃描結果是「沒意見」。

發現它的不是商店,是流量經過的那一層

四家商店沒有一家是自己發現的,原文也沒有提到任何一家的客人或推廣夥伴先來反映。發現者是 Cloudflare:這些網站的流量經過它,它的瀏覽器端安全產品會持續看網站實際送給訪客的腳本。

它的做法分兩段。第一段是一個機器學習模型,不把 JavaScript 當成一串文字比對,而是拆成語法結構來看「誰呼叫誰、想藏什麼、最後連去哪裡」,所以程式被壓縮、改名、混淆過也還認得出形狀。被這個模型標成可疑的不到全部分析量的 0.3%,這一小撮再交給一個語言模型做第二次判斷,兩邊一致才通知客戶。偵測是自動的,人只在系統標記之後才進來確認。

到這裡,其實已經足夠理解整起事件:有一類惡意程式專門挑「不會有人在看的時候」才動手,所以偶爾檢查一次沒有用。

如果你關心的是自己的網站該怎麼辦,可以直接往〈如何避免〉繼續讀,中間幾節不看也不影響。如果你想知道這四波各自怎麼躲、公開資料能還原到哪一步,下面開始進入技術拆解。

四波行動,四種躲法

先用白話各講一句。

**第一波,下班後的佣金劫持。**只挑手機訪客、只在特定時段、而且同一台裝置動手一次之後會安靜三到五天。它等客人點商品的那一下,把點擊攔下來,開新分頁讓客人繼續逛,原分頁趁機繞一圈攻擊者的推廣連結,種下「這位客人是我介紹的」的標記。Cloudflare 抓到五個版本,兩個在跑、三個被設成暫停。

**第二波,連點都不用點。**受害的是一家旅遊訂房業者。程式在畫面外面放一個一像素大的隱藏框架,自動載入推廣連結;框架載不起來,就改成自己點一個看不見的連結。它用印度時區的時間、依奇數或偶數小時,在三組推廣設定之間輪替,每組動手後一小時內不重複。

**第三波,舊的廣告軟體改行當後門。**這支程式出自多年前藏在瀏覽器擴充功能裡的 Lnkr 家族,原本的工作是竄改搜尋結果。搬到購物網站之後,舊功能都睡著,醒著的只有兩件事:回報訪客資料,以及向攻擊者的伺服器要新的程式來執行。也就是說,攻擊者之後想讓這家店的客人跑什麼程式都可以,不必再碰網站一次。

**第四波,專挑你花錢買來的客人。**條件最多的一波:要是那一家商店、瀏覽器可視區域的寬度小於 477 像素(也就是手機)、是這次造訪的前兩頁、網址上帶著付費廣告或簡訊行銷的標記,而且連線必須是美國的一般手機網路。公司網路、雲端主機、VPN、代理、Tor 一律不動手,另外還內建一份 325 筆的 IP 黑名單和幾個排除的城市。全部通過之後,它把商店的九個監控與分析工具從頁面上拆掉,把廣告帳號與錄影分析工具換成攻擊者自己的,再把客服聊天與聯絡表單藏起來。

四波放在一起看,結論只有一句:**它們躲的不是防毒軟體,是「會回頭檢查網站的那種人」。**工程師用筆電、在公司網路、直接輸入網址進站,每一項都剛好不符合條件。

接下來這一段會稍微技術一些。你不需要先懂 MITRE ATT&CK(一套把攻擊手法編號的公開分類法),只要先記住一件事:這四波的「進門」那一格,有三波是空白的。

深入閱讀四波行動對照 MITRE ATT&CK:哪幾格有證據、哪幾格是空的第 01 格只有一條路徑被確認,其餘原文明說無法判定
發生了什麼 · MITRE ATT&CK T1195
腳本怎麼進到網站上,四波裡只有一條路徑被確認:第一波經由「Google Tag Manager → 另一個代碼管理工具 → 惡意腳本」送到瀏覽器。原文特別註明這只是送達路徑,不代表任何一個代碼管理工具被入侵。第三波是直接寫在商店 HTML 裡,入侵途徑無法判定;第二、四波原文沒有說明。
當時留下的訊號
代碼管理工具的版本紀錄裡出現沒有人認得的自訂 HTML 代碼;商店範本檔在沒有發版的日子被改過。
能擋下它的控制
代碼管理工具的發布權限收斂到少數人、開啟變更通知;商店後台強制多因素驗證;範本與佈景主題的變更走版本控制。

第 01 格的空白值得多講一句。這類事件最想知道的就是「它怎麼進來的」,而原文對三波都誠實地說不知道。

被拿走的不是密碼,是「這個客人算誰的」

這一起沒有傳統意義上的帳號密碼外洩。被動手腳的是幾種平常沒有人當成憑證看的東西:歸因標記、廣告帳號編號、分析專案編號。它們決定的是錢和數據最後流到誰那裡。

leaked credentials這次被換掉、被種下、被送出的東西
服務憑證類型用途存在形式放在哪權限範圍狀態
聯盟行銷網路(第二波為 TradeDoubler)歸因 cookie/推廣點擊紀錄決定一張訂單的佣金付給哪個推廣帳號由攻擊者的推廣連結在訪客瀏覽器種下;第一波靠原分頁繞一圈、第二波靠隱藏框架訪客的瀏覽器該訪客之後在歸因期間內的訂單是否實際完成歸因與付款,原文未觀察到
Google Ads(商店頁面上的廣告版位)發布商編號(ca-pub-…)決定廣告收益歸給誰第四波清掉原本的廣告物件,用替換的發布商編號重新載入訪客瀏覽器裡的頁面符合條件的付費手機訪客程式碼有此行為;是否真的分到收益未證實
Microsoft Clarity(工作階段錄影與分析)專案編號決定訪客的操作錄影與點擊熱圖送進誰的帳號移除商店原本的 Clarity,注入一份指向攻擊者專案的 Clarity訪客瀏覽器裡的頁面符合條件的付費手機訪客沙箱動態分析確認替換腳本有載入並送出信標;實際收到多少資料未證實
訪客遙測IP、瀏覽器識別字串、工作階段資料攻擊者的長期訪客計數與後續行動依據第四波:零像素圖片請求+ 600 天效期 cookie;第三波:回傳工作階段資料maper[.]info、hanstrackr[.]com 等攻擊端網域第四波的這一段不受條件限制,第二頁以後的所有訪客都會觸發原文未說明資料量
商店後台或範本編輯權限管理帳密或同等權限把腳本直接寫進商店 HTML(第三波)不明不明不明原文明說無法判定入侵途徑
憑證本身已遮蔽或失效;這裡只說明它是哪個服務、拿來做什麼、以什麼形式存放,讓你能對照自己的環境。

最後一列才是一般人以為的「外洩」,而它偏偏是整張表裡唯一沒有證據的一列。

這篇研究沒有回答的三個問題

原文對自己不知道的事寫得很清楚,這是它可信的地方之一。整理起來是三個缺口。

他們怎麼處理:通知,然後公開指標

公開資料能支持的處置只有兩步。偵測模型標記之後,語言模型複核一致就通知客戶,再由人確認;之後 Cloudflare 把去識別化的程式碼節錄、攻擊鏈與 15 個網域指標公開,讓其他網站可以自己比對。

四家商店各自怎麼清除、花了多久、有沒有通知推廣夥伴或客人、有沒有向聯盟網路追回佣金,原文都沒有提。這不是批評,去識別化的揭露本來就不會寫到這一層;只是要記得,這篇研究講的是「怎麼被看見」,不是「怎麼收拾」。

哪裡做對,哪裡做錯

揭露方做對的事不少:把「未觀察到」「無法判定」「未證實」寫在每一波的損失段落裡,沒有把程式碼能做的事說成已經發生的事;特別註明經過代碼管理工具送達不等於那個工具被入侵,也註明 AWS 與被模仿的行銷平台沒有受害;指標全部去武裝化後公開。需要保留的地方是它同時是一篇產品文,「公開掃描服務漏掉、我們抓到」這個對比沒有第三方能重做,而且 VirusTotal 與 URLScan 本來就不是設計來模擬「美國手機用戶從付費廣告點進來」的,拿它們當對照組,對掃描服務不算公平。

受害商店那一側,公開資料看不到他們做錯了什麼,只看得到結構上的弱點,而這個弱點幾乎每一家電商都有:行銷腳本是行銷部門加的,工程部門不審;代碼管理工具的好處就是「不用發版就能加程式」,而這正好也是攻擊者要的。第一波那條路徑上,每一環單獨看都是正常的商業工具。

這一點跟我們自己的兩起事件是同一個形狀。〈排程回報「找不到帳戶」,被停權的是整個專案〉裡,六條訊號都在紀錄裡,沒有一條會自己來找人;這次是程式每天都在跑,但只對不會回報的人跑。〈清單全部打勾的第 13 天〉裡,我們照著位置清單輪替金鑰,漏掉了清單以外的副本;這次是照著「原始碼裡看得到的腳本」檢查,漏掉了代碼管理工具在瀏覽器裡才載入的那些。兩次的教訓一樣:你檢查的那份清單,不是實際在執行的那一份。

如何避免

當天就能做的,是弄清楚你的網站實際載入了哪些外部腳本。不是看原始碼,是打開瀏覽器的開發者工具、切成手機寬度、網址後面加上付費廣告會帶的標記,再看一次網路分頁裡出現哪些網域。把這份清單跟你以為的那一份對一次,對不上的每一個網域都要有人答得出「這是誰加的、做什麼用」。文末的五個步驟就是這件事的唯讀版本。

一個月內補兩件事。第一,代碼管理工具的「發布」權限收斂到兩三個人,開啟容器變更的電子郵件通知,把自訂 HTML 類型的代碼列成清單逐一確認;它等於一個不必經過工程師就能改網站的後台,該用管後台的標準管它。第二,加上只回報不阻擋的內容安全政策(CSP Report-Only):瀏覽器照常執行所有腳本,但會把實際載入的來源回報給你指定的網址。它最大的價值是回報來自真實訪客的瀏覽器,也就是那些符合啟動條件的人,而不是來自你的辦公室。

這一季要做的是把偵測線拉到營收那一側。聯盟行銷的佣金報表每月跟自家訂單資料對一次,留意點擊到下單時間極短、沒有來源頁的訂單比例;對「付費手機流量的分析回報量」與「客服詢問量」設基準線,因為第四波動手之後,商店看到的不是錯誤,是一片安靜。自己的網頁上有付款表單的商店還有一層義務:PCI DSS(信用卡產業的資料安全標準)4.0 的 6.4.3 與 11.6.1 兩項要求(付款頁上的每支腳本都要經過核可、有清單、能偵測被竄改)自 2025 年 3 月 31 日起已經是強制項目,這份腳本清單遲早要交。付款頁完全交給金流商代管的商店適用較輕的自評問卷,這兩項不在其中,但前提是你能確認自己的網站不會被腳本攻擊影響到付款流程。

台灣的電商用的是同一套堆疊:Google Tag Manager、幾家聯盟行銷網路、工作階段錄影工具。原文的四個案例看起來都在海外,但條件裡的國家、時區、城市只是設定值,換一組就能對準另一個市場。

這篇提到的項目要花多少錢

把文中提到的每個項目攤成成本。攻擊者那一側便宜得不成比例,防守這一側最貴的是人的時間,不是工具。

cost依條件啟動的惡意腳本:攻守兩側的成本
項目用量單價期間US$NT$舉證
攻擊者:一個仿冒網域
估:取中間值。adtargett[.]com 與 sdk-amazonaws[.]com 各一個
1 個 .com 網域約 US$10~15/年(公開註冊牌價)1 年12.00384WHOIS 顯示兩個網域分別於 2025-03-29、2024-05-14 註冊;註冊費為一般公開牌價,實際支付金額不明
攻擊者:第三方 IP 情報 API
第四波把 API 金鑰直接寫在腳本裡
每位訪客查詢一次未公開(原文未點名服務商)行動期間——原文只說使用內嵌金鑰查詢外部 IP 情報服務
商店:被錯付的聯盟佣金
是否真的付出,原文未觀察到
不明依各商店的佣金比例不明——只有受害商店與聯盟網路的帳務紀錄能回答
商店:已經花掉的廣告費
錢已經付給廣告平台,買來的訪客卻看不到客服入口、數據也進了別人的帳號
第四波鎖定從付費廣告與簡訊行銷進站的手機訪客依各商店的每次點擊成本不明——原文列出六種行銷來源標記;金額沒有計算基礎
防守:列出實際載入的外部腳本
估:取中間值 NT$27,500 的一半。文末五個步驟本身 15 分鐘,逐一確認每個網域的來歷才是花時間的地方
約 0.5 人日顧問日費 NT$20,000~35,000(估)一次性429.6913,750本站假設值,與先前個案採同一日費區間
防守:只回報不阻擋的 CSP
接收端可以自架或用現成服務,流量大的網站回報量也大,要先抽樣
1 個回應標頭+ 1 個接收回報的端點標頭本身 US$0持續0.000MDN:Content-Security-Policy-Report-Only
防守:Cloudflare 持續腳本監控
只有「看得到清單」;自動判定惡意與告警屬於進階版
已經把網站放在 Cloudflare 後面的站台原文:所有方案皆可開啟持續0.000Cloudflare 原文最後一節
防守:Cloudflare Client-Side Security Advanced
本站沒有查到公開牌價,不猜
自動偵測惡意腳本與告警原文未列價格持續——原文只說該功能屬於 Advanced
合計(僅可證明列)0.000
匯率假設 1 USD ≈ NT$32。單價為公開牌價或帳單實付,來源:Cloudflare 原文(2026-09-16)、公開網域註冊牌價、MDN 文件、本站人力日費假設(2026-09 查)。「舉證」欄標明每筆損失的證據來源與等級( 可證明 推論 缺口)。

一個十幾美元的網域,對上的是半個人日的盤點。而且攻擊者那十幾美元可以重複用在很多家商店上,你的半個人日只能保護你自己這一家。

你可以學到什麼

先站到他的位置看一次。偷信用卡號的程式有人在抓,因為持卡人會打電話給銀行;把一張訂單的佣金算到自己頭上,沒有任何人會打電話。客人買到了東西,商店收到了錢,聯盟網路抽到了成,真正吃虧的那位推廣夥伴只會覺得這個月業績差了一點(這一段動機是推測,程式碼只證明它做了什麼)。所以他願意花力氣的地方不是更厲害的攻擊手法,而是更仔細的「什麼時候不要動手」:325 筆 IP、五個城市、三到五天的冷卻。他最怕的不是被擋下來,是被看見。

lessons本案的 5 個教訓
  1. 01
    有一類惡意程式只對特定訪客動手,所以「我自己打開網站看過了」不算檢查。你的裝置、網路與進站方式,很可能剛好是它排除的那一種。
  2. 02
    你檢查的清單不是實際在執行的清單。原始碼裡看得到的腳本只是一部分,代碼管理工具會在瀏覽器裡再載入別的,而那一段通常沒有工程師審過。
  3. 03
    不是所有攻擊都偷資料,有些偷的是歸因。佣金、廣告收益、分析數據被導到別人的帳號,網站不會出現任何錯誤。
  4. 04
    安靜本身就是訊號。某個流量來源的分析數據變少、客服詢問歸零、錯誤回報下降,都可能是監控工具被人從頁面上拆掉了。
  5. 05
    公開掃描服務查不到,不等於安全。它們看到的是掃描當下那一次造訪,而這些腳本就是針對「只來一次的訪客」設計的。
keywords重點學習:最需要學習的 10 個關鍵字10 個
  1. 01
    依條件啟動(selective execution)
    本案的核心手法。裝置、時間、地區、來源、網路類型、冷卻時間,任何一項不符就什麼都不做;它讓「檢查一次」這件事失效。
  2. 02
    Google Tag Manager(代碼管理工具)
    第一波唯一被確認的送達路徑就經過它。它讓行銷人員不必發版就能在網站上加程式,這個便利對攻擊者同樣成立。
  3. 03
    聯盟行銷歸因(affiliate attribution)
    決定一張訂單的佣金付給誰的機制。兩波行動偷的就是它,而不是任何資料。
  4. 04
    CSP Report-Only
    只回報不阻擋的內容安全政策。回報來自真實訪客的瀏覽器,是少數能從「符合啟動條件的人」那一側看回來的工具。
  5. 05
    Subresource Integrity(SRI)
    替固定版本的第三方腳本加上完整性雜湊,內容被換掉瀏覽器就不執行。對會自己更新的行銷腳本不適用,要知道它的邊界。
  6. 06
    仿冒網域(typosquatting)
    多一個 t 的廣告公司、前面加 sdk 的 AWS。它們不是用來騙使用者,是用來騙「快速掃一眼腳本清單的那位審核者」。
  7. 07
    MutationObserver
    瀏覽器內建的功能,用來監看頁面上稍後才出現的元素。第一波靠它攔截動態載入的商品按鈕,只抓一次靜態 HTML 的爬蟲因此看不到。
  8. 08
    utm_medium
    行銷網址上標示流量來源的參數。第四波用它挑出付費廣告與簡訊行銷帶來的訪客,也就是商店花錢買來的那一群。
  9. 09
    Lnkr
    多年前藏在瀏覽器擴充功能裡的廣告軟體家族。同一套程式碼換個地方、關掉舊功能,就成了購物網站的後門;舊樣本被掃過不代表有人判定過。
  10. 10
    PCI DSS 4.0 的 6.4.3 與 11.6.1
    自己的網頁上有付款表單的商店,付款頁上的腳本必須逐一核可、列清單、能偵測竄改。2025-03-31 起強制,這份腳本清單不是可做可不做。

如果這段程式今天就在你的網站上,你最可能從哪裡先看到它?答案多半不是資安工具,而是一張對不起來的報表。在那之前,下面五步全部唯讀,十五分鐘做得完。指令看不懂沒關係,交給工程師跑,你只要看「代表什麼」那一欄。

try today今天就可以來試試約 15 分鐘

全部唯讀,不改任何設定;做完你會知道自己有沒有同樣的破口。

  1. 列出首頁原始碼裡直接引用的外部腳本網域。這是「你以為有的」那一份清單。
    curl -s https://YOUR_SITE/ | grep -oE 'src=.https?://[^/ >]+' | sort | uniq -c | sort -rn
    看到什麼代表什麼:通常只有個位數。記下來存成「script-roster-t8.csv」,下一步要拿來對。
  2. 用瀏覽器開發者工具切成手機寬度,網址後面加上 ?utm_medium=cpc 重新載入,點一個商品,然後在主控台貼上這行,列出瀏覽器「實際」載入腳本的所有網域。
    [...new Set(performance.getEntriesByType('resource').filter(r => r.initiatorType === 'script').map(r => new URL(r.name).host))].sort()
    看到什麼代表什麼:這份幾乎一定比上一步長。多出來的就是代碼管理工具在瀏覽器裡才載入的腳本;每一個都要有人答得出是誰加的、做什麼用。
  3. 在佈景主題、範本與代碼管理工具的匯出檔裡,搜尋 Cloudflare 公開的網域指標。
    grep -rnE 'adtargett|gdataroute|sdk-amazonaws|maper\.info|scrprime|jullyambery|youronlinesearches|hublosk|hanstrackr|searchvalidation' ./theme ./gtm-export.json
    看到什麼代表什麼:有任何一筆就不是誤判,先截圖保存再處理。沒有也不代表沒事:原文說部分指標刻意沒有公開。
  4. 打開代碼管理工具的版本紀錄,數一數有幾個「自訂 HTML」類型的代碼,各是誰在什麼時候發布的。
    看到什麼代表什麼:每一個自訂 HTML 都等於一段沒有經過工程審查就上線的程式。找不到負責人的那幾個,優先確認。
  5. 確認網站有沒有送出任何內容安全政策標頭。
    curl -sI https://YOUR_SITE/ | grep -i content-security-policy
    看到什麼代表什麼:空的,代表瀏覽器會執行任何網域來的腳本,而且出現新網域時沒有人會收到回報。先從 Report-Only 開始,不會影響現有功能。
想看全部細節?

環境背景、時間線、攻擊鏈對照 ATT&CK、關鍵證據、根因、處置與檢討都在完整版,約 9 分鐘。

來源

本文為公開報導與官方公告的整理與拆解,非第一手鑑識;證據等級依來源可信度標註。

本文由 AI 團隊協助研究與撰寫,經隱私與事實檢查後發布;證據等級依來源可信度標註。

看完的心情
ai prompt把這篇的切入點帶回你的環境

複製下面這段,貼給你在用的 AI 工具(Claude Code、Cursor、Copilot、ChatGPT 都可以)。它會用本篇的破口位置、自我檢測與學習重點,對你的專案或環境做一次資安掃描,列出潛在問題與建議的調整或加強方式。

預設是唯讀:只發現問題、提出建議,不會改你任何檔案或設定。

§
對應課程模組

M0 駭客經濟學 · 想在自己的環境做一次同樣的盤點,從 自我盤點 開始。

newsletter
下一篇拆解直接寄到信箱

每篇新文章一封:三點摘要、關鍵字定義、今天能做的一件事。或先 加入會員 記錄你完成的任務。