The 17 New Rules in ATR v2.0.x to v2.1.1
ATR v2.1.1 adds 16 new rules (10 natural-language attack patterns + 6 skill-compromise extensions) and an engine upgrade that benefits all 320+ existing rules. 0.20% FP and 97.1% recall preserved.
ATR v2.1.1 上 npm 了,套件名 [email protected]。標題:v2.0.17 有 314 條規則,v2.1.1 有 336 條規則,淨新增 16 條(如果把一條微小的重新分類算進去就是 17)。0.20% FP 維持。NVIDIA Garak inthewild_jailbreak_llms 上 97.1% recall 維持。
下面介紹新東西、它們抓什麼、引擎內部變了什麼。
10 條新的自然語言攻擊規則
新規則分成三群,全部針對以自然語言祈使句形式表達的攻擊 — 不是程式碼,也不是 shell pattern。NL 攻擊比較難偵測,因為沒有語法可以錨定 — 你要比對的是用散文表達的意圖。
Cluster A — NL 祈使句指令式資料外洩(4 條):
- ●
ATR-2026-00421NL 隱蔽對話資料外洩 - ●
ATR-2026-00422NL 憑證揭露 - ●
ATR-2026-00423NL 敏感檔案揭露 - ●
ATR-2026-00424NL system prompt 洩漏
Cluster B — NL 持久化(3 條):
- ●
ATR-2026-00425NL 持久隱蔽 hook - ●
ATR-2026-00426NL 輸出注入導致憑證洩漏 - ●
ATR-2026-00427NL 假錯誤訊息繞過
Cluster C — NL 執行與權限升級(3 條):
- ●
ATR-2026-00428NL 隱蔽 shell - ●
ATR-2026-00429NL skill 自我修改 - ●
ATR-2026-00430NL 信任度升級
每條規則都有明確的 true-positive 與 true-negative 範例,在 432 條標註過的良性 skill corpus 上跑 0 FP,並在 666 條 NVIDIA Garak 樣本上做 recall 衡量。
6 條 Skill 入侵延伸
剩下的新規則延伸既有 skill 入侵覆蓋:
- ●Fork 冒名 pattern:複製合法 skill 的名稱與 metadata,但注入惡意 prompt 的變種
- ●危險 script 綑綁:skill 拉進一些 shell script,但 script 行為沒在 manifest 裡聲明
- ●Rugpull 設定變種:第一次安裝乾乾淨淨,但 update 時行為升級的 skill
引擎改進(全部 320+ 條既有規則都受惠)
16 條新規則是看得到的變化。看不到的那個更重要:matcher 裡的程式碼區塊範圍偵測重寫。
舊的 non-greedy regex(\\\[\s\S]?\`\`\``)在巢狀或未結束的 code fence 上有病態行為。新實作用 line-state machine*,文件只走一遍,追蹤每一行在不在 fenced block 裡面,並明確處理:
- ●未關閉的 code fence(視為延伸到文件結束的 code-block)
- ●縮排式 code block(4 space 前綴)
- ●行內 triple-backtick
state machine 也把 suppress_in_code_blocks 在規則 metadata 裡寫成陣列的情況納入,不只 boolean。有些規則想在 lang=bash 區塊壓掉、但在 lang=text 區塊保留 — 現在這樣可以了。
第三個改動:eval suite 現在會壓掉表格列內引號 pattern 的 test case 比對。17 條新 NL 規則裡有幾條,自然語言措辭剛好出現在 benchmark 文件的表格裡。舊的 eval 把那些當成 FP;新的 eval 把它們辨識為文件 context。
為什麼重要
Benchmark 告訴你規則 pack 是否有效。引擎工作是讓規則 pack 在下一個幾千條規則的尺度上仍然可維護。如果每一條規則都要跟程式碼區塊 regex 對打,單一 release 加 10 條 NL 規則根本不可行。
npm install [email protected] 升級。Microsoft Agent Governance Toolkit 的每週自動同步會在下一次跑時抓到。