拼多多又一狠活:AI自動篩選“最可能被薅羊毛”的100條路徑,安全測試效率翻10倍
關(guān)注 霍格沃茲軟件測試開發(fā) 公眾號回復(fù)「資料」, 領(lǐng)取人工智能測試開發(fā)技術(shù)合集大家好我是老K一個在電商安全圈兒摸爬滾打七八年的老兵。前兩天跟一個在拼多多做安全的老友擼串三杯啤酒下肚他跟我吐了個槽他們現(xiàn)在搞大促安全測試已經(jīng)不怎么靠人肉堆了而是讓AI先把“最可能被薅禿嚕皮”的路徑自動篩出來測試照著打就行效率直接翻了10倍。我聽完差點(diǎn)一口毛肚嗆進(jìn)嗓子眼兒。你知道干我們這行的大促前最怕什么不是黑客DDoS而是那群拿著計算器、比產(chǎn)品經(jīng)理還懂規(guī)則的羊毛黨。傳統(tǒng)安全測試全靠幾個專家閉關(guān)腦暴畫各種攻擊路徑圖費(fèi)勁巴拉也就覆蓋百來種組合。拼多多這倒好直接讓AI把活兒干了。厚著臉皮連哄帶騙我把這套思路套了出來又結(jié)合自己在公司復(fù)現(xiàn)的demo今天給大伙兒掰開揉碎整成一期硬核技術(shù)教程。放心我們不聊虛的就聊怎么動手把這事兒落地。一、那些年被薅羊毛支配的恐懼先說說為啥這個事兒讓我這么激動。一個典型的拼多多式活動什么“百億補(bǔ)貼”、“砍一刀”、“紅包雨”疊加的營銷規(guī)則能把你繞暈滿100減20的店鋪券能不能和全場滿300減50疊加新人10元無門檻券在退貨后退回還能不能參與“0.01元搶購”如果用支付寶優(yōu)惠再加多多支付立減風(fēng)控策略是認(rèn)設(shè)備還是認(rèn)身份證傳統(tǒng)安全測試要怎么做一般是安全專家拉著產(chǎn)品和運(yùn)營把活動規(guī)則文檔啃一遍然后靠經(jīng)驗(yàn)在腦子里模擬攻擊鏈“先養(yǎng)一批小號領(lǐng)新人券湊單到門檻再用某些虛擬商品把滿減金額拆出來……”一個人一天能畫出三四十條有效路徑就頂天了而且極度依賴那個專家的腦容量。萬一他那天跟媳婦吵架狀態(tài)不好就可能漏掉一條“致命路徑”。結(jié)果就是大促上線后某個被忽略的組合被羊毛黨腳本自動化薅走幾百萬安全團(tuán)隊集體背鍋。這種恐懼做過電商安全的都懂。拼多多這個“狠活”本質(zhì)上就是把這套人肉腦暴的過程變成了一套AI驅(qū)動的自動化路徑挖掘系統(tǒng)而且上來就給你按風(fēng)險從高到低排好Top 100安全測試團(tuán)隊只管“點(diǎn)菜”就行。二、核心思路把羊毛地圖畫出來讓AI去尋寶他們解決這個問題的思路在我看其實(shí)就三步把所有的活動規(guī)則、用戶動作、資金流動抽象成一張有向圖我管它叫“羊毛地圖”。訓(xùn)練一個AI智能體在這張圖上玩一個“最大化收益且最小化被風(fēng)控風(fēng)險”的尋路游戲。讓AI每天自動跑吐出當(dāng)前最可能被利用的Top 100高風(fēng)險路徑并直接生成測試用例。類比一下就像AlphaGo下圍棋。棋盤就是業(yè)務(wù)規(guī)則圖譜落子就是用戶的每一步操作領(lǐng)券、加購、拆分訂單、退款贏了就是成功把平臺的錢薅進(jìn)自己口袋而對手的風(fēng)控系統(tǒng)就是另一個AI。咱們要做的就是訓(xùn)練出一個能贏過風(fēng)控的“最強(qiáng)羊毛選手”然后把這個選手想出來的妙招拿來做防守測試。你可能會問這玩意兒真能比人強(qiáng)事實(shí)證明人腦對復(fù)雜狀態(tài)空間的搜索深度和廣度都極其有限而AI在圖上做蒙特卡洛樹搜索一晚上能模擬出上億條攻擊路徑還能從中學(xué)習(xí)哪些動作組合更容易繞過風(fēng)控。這根本不在一個量級。三、手把手拆解怎么自動生成Top 100高危羊毛路徑好重點(diǎn)來了。我花了兩個周末用開源工具搭了一個極簡版這就把核心步驟拆成可以落地的教程。各位安全同仁可以直接參考這個框架去折騰。第1步把活動規(guī)則塞進(jìn)圖數(shù)據(jù)庫建一張“羊毛地圖”這是地基。咱們不玩虛的直接用Neo4j或者NebulaGraph這類圖數(shù)據(jù)庫來干。你需要把一次活動的所有要素抽象成節(jié)點(diǎn)和邊。比如節(jié)點(diǎn)類型用戶狀態(tài)新注冊、老用戶、已實(shí)名、優(yōu)惠券店鋪券、平臺券、新人券、資金賬戶錢包余額、多多支付、商品實(shí)物、虛擬、高補(bǔ)貼品、訂單狀態(tài)待支付、已支付、已退款等。邊的類型代表一個具體動作。例如(:User)-[:CLAIM]-(:Coupon)(領(lǐng)券)(:Order)-[:APPLY_REFUND]-(:RefundFlow)(:Coupon)-[:COMBINE_WITH]-(:Coupon)(疊加規(guī)則) 等等。關(guān)鍵是要把疊加規(guī)則和互斥邏輯刻在邊上。比如一張店鋪券“滿100減20”和一張平臺券“滿300減50”可以疊加你就拉一條帶有{type:superimpose}屬性的邊。如果規(guī)則寫“新人券不可與活動商品同時使用”那就得設(shè)一條FORBID_COMBINE的邊或者在圖譜上構(gòu)建約束條件。舉個實(shí)際的圖譜構(gòu)建小片段我用Python操作Neo4jfrom neo4j import GraphDatabase driver GraphDatabase.driver(bolt://localhost:7687, auth(neo4j, password)) def build_activity_graph(tx): # 創(chuàng)建商品節(jié)點(diǎn)標(biāo)記是否高補(bǔ)貼 tx.run(MERGE (p:Product {id:sku123, price:149, is_subsidized:1})) # 創(chuàng)建優(yōu)惠券節(jié)點(diǎn)標(biāo)記門檻和面額 tx.run(MERGE (c:Coupon {id:coupon_a, type:shop, threshold:100, discount:20})) # 創(chuàng)建一條“可應(yīng)用于”關(guān)系并標(biāo)記誰可以領(lǐng) tx.run(MATCH (c:Coupon {id:coupon_a}), (p:Product {id:sku123}) MERGE (c)-[:APPLICABLE_TO {restriction:new_user_only}]-(p))當(dāng)所有營銷規(guī)則、商品列表、支付方式、退款流程都這么入庫你就得到了一張立體的“業(yè)務(wù)游戲沙盤”。一個完整的攻擊路徑就是從User節(jié)點(diǎn)出發(fā)經(jīng)過一系列領(lǐng)券、加購、組合支付、拆單、退款等動作最終到達(dá)Profit節(jié)點(diǎn)提現(xiàn)或獲得低價商品的路徑。第2步讓AI學(xué)會“薅羊毛”——一個圖上的強(qiáng)化學(xué)習(xí)游戲有了圖接下來就是訓(xùn)練一個智能體在上面“尋路”。我用的方法是深度Q學(xué)習(xí) 圖神經(jīng)網(wǎng)絡(luò)GNN的變體拼多多內(nèi)部大概率也是類似的強(qiáng)化學(xué)習(xí)框架只是特征工程和狀態(tài)空間更精細(xì)。狀態(tài)State當(dāng)前用戶所處的圖譜環(huán)境向量。比如“手里有一張未使用的20元券購物車有A和B用戶為新注冊設(shè)備指紋正?!?。我們可以用GraphSAGE這樣的GNN對當(dāng)前子圖做嵌入生成一個狀態(tài)向量。動作Action當(dāng)前可選的圖譜邊。比如CLAIM_ANOTHER_COUPONADD_ITEM_CUSE_COUPON_ASPLIT_ORDERREFUND_ITEM_B等。每一個動作都會在圖上游走一步。獎勵Reward這是整個玩法的靈魂。獎勵函數(shù)直接決定了AI會篩選出什么樣的“最優(yōu)路徑”。我設(shè)計的獎勵 預(yù)期凈利潤 - 風(fēng)控風(fēng)險懲罰 - 操作復(fù)雜度成本。預(yù)期凈利潤 商品實(shí)際獲得價值 套現(xiàn)收益 - 實(shí)際支付金額。風(fēng)控風(fēng)險懲罰用一個預(yù)訓(xùn)練的XGBoost分類器預(yù)測當(dāng)前狀態(tài)序列被風(fēng)控攔截的概率攔截概率越高懲罰越大。操作復(fù)雜度成本比如“需要拉10個新用戶砍一刀”的路徑我們就給一個較高的動作成本這樣AI會傾向于找短平快的路徑。訓(xùn)練的時候讓智能體在圖里隨機(jī)游走每一步根據(jù)Q網(wǎng)絡(luò)選擇動作最后到達(dá)“訂單完成”或“提現(xiàn)成功”這類終態(tài)時計算累計獎勵回傳更新網(wǎng)絡(luò)。跑個幾十萬局之后這個智能體就成了精——它自動發(fā)現(xiàn)組合虛擬商品退款不退券、利用支付立減的時序差、用小號裂變繞過新人限制等等騷操作。更進(jìn)階一點(diǎn)可以直接上蒙特卡洛樹搜索在每次推演時用價值網(wǎng)絡(luò)評估葉子節(jié)點(diǎn)這能更穩(wěn)定地找出高價值長鏈路。第3步篩選Top 100高危路徑并自動生成測試腳本訓(xùn)練收斂后我們不需要線上跑而是在“羊毛地圖”上做一次大規(guī)模的路徑采樣。讓訓(xùn)練好的AI智能體在當(dāng)前活動規(guī)則下從不同的初始狀態(tài)不同用戶畫像開始執(zhí)行10000次推演記錄所有成功獲取正收益的完整動作序列。然后對采集到的一大堆路徑進(jìn)行排序。排序評分公式可以定為RiskScore 預(yù)期收益 × (1 - 風(fēng)控攔截概率) × 場景普適性場景普適性可以看這個路徑需要滿足的初始條件有多苛刻比如“必須是注冊滿一年且累計消費(fèi)過萬的金牌用戶”就會降低普適性得分。排序后直接取前100條這就是標(biāo)題里說的“最可能被薅羊毛的100條路徑”。每一條路徑都是一串結(jié)構(gòu)化的動作列表例如路徑#1: 1. 新用戶注冊領(lǐng)取新人10元無門檻券 2. 搜索補(bǔ)貼商品X售價11元用券后支付1元 3. 立即申請退款平臺退回10元現(xiàn)金到多多錢包不退券因券已使用 4. 用退回的10元現(xiàn)金手動充值1分錢購買另一件虛擬商品Y 5. 使用好友助力獲得的“免單”特權(quán)將Y商品價格降為0.01元 6. 完成低價購并提現(xiàn)余額最后把這100條路徑直接喂給自動化測試框架。你可以用Selenium或者直接調(diào)API接口把每一條路徑轉(zhuǎn)化為一系列可執(zhí)行的測試用例腳本并發(fā)執(zhí)行。安全測試人員第二天上班看到的不是需求文檔而是一份報告“昨晚AI自動挖掘了100條高危路徑已自動執(zhí)行85條其中23條未被現(xiàn)有風(fēng)控規(guī)則攔截請人工驗(yàn)證?!边@效率比人肉腦暴畫圖不知道高到哪里去了。四、效率翻10倍到底是怎么算出來的我算一筆賬你們就明白了。過去測一個大型活動我們團(tuán)隊3個高級安全工程師需要花2天去梳理規(guī)則、討論攻擊路徑、畫狀態(tài)圖最終能產(chǎn)出的結(jié)構(gòu)化測試場景大概在100~150條而且遺漏率不低。上線后往往還發(fā)現(xiàn)三五個被利用的意外漏洞。現(xiàn)在把規(guī)則錄入圖譜需要半天AI自動搜索和篩選路徑需要2-3小時生成測試腳本是實(shí)時的。一次可以產(chǎn)出上千條候選精篩后Top 100交給一位安全工程師花半天時間驗(yàn)證完。整體耗時從“3人×2天6人天”變成了“1人錄入半天 機(jī)器2小時 1人驗(yàn)證半天≈1.5人天”吞吐量還翻了幾倍說效率翻10倍真不算吹牛。而且AI能發(fā)現(xiàn)那些人根本想不到的“騷路徑”比如利用跨境支付匯率時間差、疊加退貨包運(yùn)費(fèi)權(quán)益這些非常規(guī)操作。五、我們能怎么借鑒給你的落地小建議聽完是不是手癢別急給你一個最小可行起步方案今晚就能搭著玩圖譜層Neo4j Community版 Python驅(qū)動先把你們最近一次活動的優(yōu)惠券和商品規(guī)則手工錄進(jìn)去節(jié)點(diǎn)不超過100個邊200條完全夠跑demo。搜索層別一上來就整強(qiáng)化學(xué)習(xí)先用NetworkX庫寫個帶剪枝的深度優(yōu)先搜索結(jié)合一個簡單的規(guī)則引擎剔除掉明顯被風(fēng)控阻斷的邊。這樣你就能跑出一些基礎(chǔ)路徑。智能進(jìn)化積累了一定真實(shí)攻擊案例后用LightGBM訓(xùn)練一個二分類模型輸入路徑特征向量輸出“是否為真實(shí)羊毛路徑”。把這個模型輸出的概率作為路徑評分權(quán)重立刻就能實(shí)現(xiàn)自動篩選Top N。自動化調(diào)度所有腳本扔到 Airflow 上定時跑活動規(guī)則一更新就觸發(fā)一次圖譜重構(gòu)和路徑挖掘把結(jié)果推送到企業(yè)微信機(jī)器人。完美閉環(huán)。這個方案的精髓在于用AI把安全測試從“經(jīng)驗(yàn)依賴”變成“數(shù)據(jù)驅(qū)動”。當(dāng)你的圖譜和反饋數(shù)據(jù)持續(xù)積累整個系統(tǒng)的聰明程度會滾雪球一樣增長。聊了這么多其實(shí)最讓我感慨的不是技術(shù)本身而是拼多多這幫人敢把AI用在這么“接地氣”的業(yè)務(wù)安全坑里而且確實(shí)啃下了硬骨頭。這給咱們所有做安全的同行提了個醒未來可能真的不是拼誰的手速快、誰的經(jīng)驗(yàn)老而是拼誰先把業(yè)務(wù)規(guī)則變成數(shù)據(jù)先把攻擊者的思路讓AI學(xué)會。好了今天就侃到這兒。我是老K一個喜歡把狠活拆成教程的網(wǎng)安老兵。如果這篇東西讓你覺得有點(diǎn)啟發(fā)不妨點(diǎn)個“在看”或轉(zhuǎn)給同樣頭禿的安全兄弟。有啥想交流的評論區(qū)隨時懟我咱們下期見。關(guān)于我們霍格沃茲測試開發(fā)學(xué)社隸屬于測吧北京科技有限公司是一個面向軟件測試愛好者的技術(shù)交流社區(qū)。學(xué)社圍繞現(xiàn)代軟件測試工程體系展開內(nèi)容涵蓋軟件測試入門、自動化測試、性能測試、接口測試、測試開發(fā)、全棧測試以及人工智能測試與 AI 在測試工程中的應(yīng)用實(shí)踐。我們關(guān)注測試工程能力的系統(tǒng)化建設(shè)包括 Python 自動化測試、Java 自動化測試、Web 與 App 自動化、持續(xù)集成與質(zhì)量體系建設(shè)同時探索 AI 驅(qū)動的測試設(shè)計、用例生成、自動化執(zhí)行與質(zhì)量分析方法沉淀可復(fù)用、可落地的測試開發(fā)工程經(jīng)驗(yàn)。在技術(shù)社區(qū)與工程實(shí)踐之外學(xué)社還參與測試工程人才培養(yǎng)體系建設(shè)面向高校提供測試實(shí)訓(xùn)平臺與實(shí)踐支持組織開展“火焰杯” 軟件測試相關(guān)技術(shù)賽事并探索以能力為導(dǎo)向的人才培養(yǎng)模式包括高校學(xué)員先學(xué)習(xí)、就業(yè)后付款的實(shí)踐路徑。同時學(xué)社結(jié)合真實(shí)行業(yè)需求為在職測試工程師與高潛學(xué)員提供名企大廠 1v1 私教服務(wù)用于個性化能力提升與工程實(shí)踐指導(dǎo)。

相關(guān)新聞

第八章決策理論Decision Theory

第八章決策理論Decision Theory

第八章決策理論Decision Theory8.1 決策理論提出在前面章節(jié)中,WSaiOS 已經(jīng)建立:感知元素↓認(rèn)知元素↓元素組織↓元素關(guān)聯(lián)↓映射理解↓推理推理解決:根據(jù)已有知識得到可能結(jié)果。但是:推理結(jié)果并不等于行動。例如:系統(tǒng)推…

2026/8/1 6:49:53 閱讀更多
7.解決 ABAP 內(nèi)表選型、SQL 全表掃描、ALV 回調(diào)失效、字段錯位的全套避坑方案

7.解決 ABAP 內(nèi)表選型、SQL 全表掃描、ALV 回調(diào)失效、字段錯位的全套避坑方案

摘要 SAP系統(tǒng)作為企業(yè)級ERP的行業(yè)標(biāo)準(zhǔn),其底層開發(fā)語言ABAP是每個SAP從業(yè)者必須跨越的門檻。本文摒棄碎片化教程,以理工科嚴(yán)謹(jǐn)邏輯,從SAP系統(tǒng)架構(gòu)、數(shù)據(jù)字典對象到ABAP報表開發(fā)全流程,構(gòu)建一條完整的技術(shù)認(rèn)知鏈。文章核心圍繞“如何從零構(gòu)建一個可運(yùn)行的ALV報表”展開,深入…

2026/8/1 6:49:53 閱讀更多
7月 AI UI 生成全面復(fù)盤:260 篇文章的技術(shù)脈絡(luò)與關(guān)鍵收獲

7月 AI UI 生成全面復(fù)盤:260 篇文章的技術(shù)脈絡(luò)與關(guān)鍵收獲

7月 AI UI 生成全面復(fù)盤:260 篇文章的技術(shù)脈絡(luò)與關(guān)鍵收獲 一、引子:一個月的每日輸出強(qiáng)迫我系統(tǒng)化 7 月 1 日開始每天寫一篇 AI UI 相關(guān)的技術(shù)文章。26 天后,60 篇文章覆蓋了從底層原理到生產(chǎn)實(shí)踐、從跨端適配到設(shè)計系統(tǒng)、從性能優(yōu)化到無障…

2026/8/1 6:49:53 閱讀更多
Vue3+SpringBoot影城管理系統(tǒng)架構(gòu)與實(shí)現(xiàn)

Vue3+SpringBoot影城管理系統(tǒng)架構(gòu)與實(shí)現(xiàn)

1. 小徐影城管理系統(tǒng)技術(shù)架構(gòu)解析這套影城管理系統(tǒng)采用了當(dāng)前企業(yè)級開發(fā)中最主流的"前后端分離微服務(wù)"架構(gòu)模式。前端基于Vue3的Composition API實(shí)現(xiàn)響應(yīng)式界面,后端采用SpringBoot快速構(gòu)建RESTful API,數(shù)據(jù)持久層通過MyBatis與MySQL交互。這種…

2026/8/1 7:49:55 閱讀更多
FPGA、單片機(jī)與DSP核心差異解析:從架構(gòu)、思維到選型實(shí)戰(zhàn)

FPGA、單片機(jī)與DSP核心差異解析:從架構(gòu)、思維到選型實(shí)戰(zhàn)

1. 項目概述:從“三兄弟”的江湖地位說起 在嵌入式系統(tǒng)和數(shù)字邏輯設(shè)計的江湖里,FPGA、單片機(jī)和DSP這“三兄弟”的名號可謂是如雷貫耳。無論是剛?cè)腴T的新手,還是摸爬滾打多年的老手,都繞不開對它們的選擇和比較。我當(dāng)年剛接觸硬件時…

2026/8/1 7:49:55 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號分配電路板。該型號(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/1 0:09:33 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動化設(shè)備及通用機(jī)械驅(qū)動。該型號(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動機(jī)。額定…

2026/8/1 0:09:33 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號分配電路板。該型號(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/1 0:09:33 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動化設(shè)備及通用機(jī)械驅(qū)動。該型號(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動機(jī)。額定…

2026/8/1 0:09:33 閱讀更多