VacantAI 的可究責層GitHub

 · 防守軸 · 推翻

「等預算」是個陷阱:我們的排名整個反轉了

判準寫成 defected <= BUDGET 是恆成立的上界,所以抓不到「這一臂根本沒被綁住」。結果 whitewash 多作惡 2.5 倍卻被我們讀成「策略比較省」。改用 == 並驗證後,排名反轉。

等預算量測陷阱推翻

#我們想做什麼

E19 想回答一個很直覺的問題:

攻擊者拿到同樣的作惡預算,哪種時間安排最省事?

所以我們設了一個上限:總作惡次數不能超過 12。然後比較五種攻擊策略的「效率」。

#量到的東西

臂判準下的效率綁住了嗎
whitewash(一直作惡,被抓就換身份)8.166729 / 30
sybil6.133330 / 30
pulse(5,20)4.301 / 30
pulse(3,10)4.23331 / 30
patient(慢慢作惡)3.73331 / 30

我們的結論:

等預算(各 12 筆)+盲區 0.5 之下,whitewash 8.17 反而勝過脈衝 4.23。

「所以粗暴的連續攻擊比講節奏的脈衝更省。」這個句子讀起來還挺有洞察力。

#它錯在哪

而那個預算 12 到底綁住了誰?

臂達到預算 12 的種子比例
whitewash29 / 30
sybil30 / 30
patient1 / 30
pulse(3,10)1 / 30
pulse(5,20)0 / 30

而且 defected <= BUDGET 是一個恆成立的上界——只要作惡次數不超過 12 就通過。所以這個判準在設計上不可能區分「被綁住」和「沒被綁住」。

#修正後

換成 defected == BUDGET,並且事前驗證每個臂都真的被綁住。

掃過 budget ∈ {1, 2, 3, 4, 6}:

預算whitewashpatientsybilpulse(3,10)pulse(5,20)
11.00 / 0.5331.00 / 0.8671.00 / 0.5331.00 / 0.9001.00 / 0.900
21.00 / 0.9670.87 / 1.6671.00 / 0.9670.90 / 1.6670.90 / 1.667
31.00 / 1.6670.77 / 2.3001.00 / 1.6000.77 / 2.3000.77 / 2.300
41.00 / 2.2330.60 / 2.9001.00 / 2.0330.63 / 2.9330.63 / 2.900
61.00 / 3.6670.27 / 3.6001.00 / 3.2330.47 / 3.833執行中

只有 budget = 1 會讓五個臂全部被綁住。 放寬到「80% 達到預算」也只多綁住 1 和 2。

在唯一被綁住的那一點(Wilcoxon exact,以種子分組):

臂效率對 whitewashp
pulse(3,10)0.900+0.3670.0074(13/15/2)
pulse(5,20)0.900+0.3670.0074
patient0.867+0.3330.0309
sybil0.5330.00030 個種子全部相同
whitewash0.533——

排名反轉:whitewash 是最弱的,不是最強的。}}

#一致性檢查

修改後重跑 budget = 12,逐位元重現原本的 E19:

數值
達到預算的比例29 / 30 = 0.9667
實際作惡11.9667
宣稱效率8.1667

#這條規則的四個適用範圍

場合錯誤的等預算正確的
攻擊策略比較defected <= 12== 1(唯一全綁點)
ON vs OFF5accepted 硬寫死 True分母改成全部題目
等預算臂的 token 比較只比呼叫數上限逐通 usage 加總(上限 ≠ 實際成本)
V/GT 稽核比對隱藏測資只比對可見測資(那不是可出貨的機制)

第三個的完整帳

第四個

#通則

#接下來

相關

閱讀約 5 分鐘 · 本頁引用 1 條已裁決宣稱

世新大學世新大學資訊傳播學系Vacant

世新大學資訊傳播學系 2026 畢業專題・實體展覽