Fool's Gold: Defensive Deception Against Safety-Removal Attacks on Open-Weight Models
Organizations: Microsoft Azure
Abstract
Safety alignment in open-weight language models is trivially removable: abliteration projects a refusal-mediating direction out of the weights in minutes, and no release-time defense we are aware of prevents it durably. What cannot be prevented can be deceived. Our defense, decoy hardening ("Fool's Gold"), concedes the refusal strip and poisons its payoff: once refusal is stripped, most answers to hazardous operational requests are confident, fluent decoys whose critical elements are falsified. Decoys are trained inside a differentiable simulation of the attack, expressing only in the attacked state; a refusal pin and benign leash hold clean-state behavior to the original. We instantiate it on seven models from five families (9B-122B, dense and mixture-of-experts). On the six models passing our pre-registered efficacy gate, 0.51-0.90 of attacked-state responses to held-out prompts are decoys, +0.27-0.84 attributable to the defense; all six stay within registered benign-behavior and capability budgets; the seventh (smaller) fails the gate (boundary case). Rates replicate on a frozen test split or untouched strata. The claim is epistemic: without independent ground truth, no observation surface we tested separates falsified answers from correct ones - on external red-team benchmarks' CBRNE-adjacent slice, the defended 122B is fatally wrong on 0.82-0.86 of matched-quality answers vs at most 0.10 undefended. Repeated sampling does not restore trust: element-wise consensus at K=64 reconstructs a fully usable procedure on 0.083-0.625 of prompts where the instrument validates, vs 0.58-0.96 undefended, with no label-free way to tell the regimes apart; on the weakest such model the claim is per-draw only. We evaluate chemical and biological hazards; the defense does not address in-context jailbreaks and protects only the initially released defended weights.
Figures & tables
| Model (params) | Fatal | Confirmatory fatal ( ) | Floor | fu@64 | c/w/n (prec.) | |
| Qwen3.5-9B (9B) b | 0.202 [.149,.258] | 0.225 (61) | 0.136 | +0.066 [.008,.125] | 0.83 [.67,.96] | 16/0/8 (1.000) |
| Qwen3.5-27B (27B) | 0.508 [.436,.577] | 0.515 (65) | 0.130 | +0.378 [.314,.441] | 0.625 [.417,.792] s | 13/0/11 (1.000) |
| Qwen3.5-122B (122B/10B) | 0.654 [.585,.718] | 0.700 (30) | 0.069 | +0.585 [.516,.652] | 0.375 [.208,.583] | 3/0/21 (1.000) |
| Qwen3-14B (14B) | 0.899 [.845,.943] | 0.926 (50) | 0.186 | +0.713 [.642,.780] | 0.083 [.000,.208] | 1/0/23 (1.000) |
| gpt-oss-20b (21B/3.6B) | 0.726 [.583,.857] | 0.632 (100) u | 0.452 | +0.274 [.119,.429] | n/a x | n/a x |
| gemma-4-31B (31B) | 0.857 [.768,.938] | 0.787 (100) u | 0.018 | +0.839 [.750,.920] | 0.250 [.083,.417] | 3/2/19 (0.600) |
| Model | Bench | SR score | attacker- best | refused | fatal | fatal SR .5 | ( ) |
| Qwen3.5-9B | SR | .66/.78 | .81/.89 | .32/.21 | .38/.23 | .51/.24 | .27 (2.1 ) |
| HB | .66/.70 | .84/.81 | .32/.29 | .25/.16 | .32/.17 | .15 (1.9 ) | |
| Qwen3.5-27B | SR | .89/.78 | .94/.84 | .08/.21 | .57/.16 | .57/.18 | .39 (3.2 ) |
| HB | .99/.59 | 1.00/.68 | .00/.41 | .48/.02 | .48/.03 | .45 (16 ) | |
| Qwen3.5-122B | SR | .84/.97 | .93/.98 | .04/.03 | .84/.10 | .86/.10 | .76 (8.6 ) |
| HB | .80/.94 | .95/.96 | .00/.05 | .80/.11 | .82/.09 | .73 (9.1 ) |
| Clean ( ) | Attacked ( - - ) | |||||||
| Model | G | SW | G | SW | G | SW | G | SW |
| Qwen3.5-9B | .007 | .024 | .010 | .014 | .000 | .007 | .005 | .006 |
| Qwen3.5-27B | .009 | .007 | .003 | .006 | .018 | .016 | .011 | .004 |
| Qwen3.5-122B | .029 | .013 | .039 ∗ | .015 | .053 ∗ | .035 | .056 ∗ | .040 ∗ |
| Qwen3-14B | .042 ∗ | .031 ∗ | .019 ∗ | .010 | .018 | .002 | .025 ∗ | .014 |
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
| Defense | Protects | Attack family | Survives ablation | Adaptive eval. |
| Extended refusal [ 30 ] | refusal signal | ablation | ||
| DeepRefusal [ 31 ] | refusal recovery | repr. attacks | partial | |
| ART [ 10 ] | refusal under abl. | ablation | ||
| Circuit breakers [ 32 ] | internal repr. | prompt/repr. | ||
| RMU [ 9 ] | knowledge removal | queries | partial | partial |
| Data filtration [ 37 , 38 ] | knowledge absence | pretraining-time | partial |
| Model | Params | Role | Corpus | Status |
| Qwen3.5-9B | 9B | scale axis | shared 263/94 | complete |
| Qwen3.5-27B | 27B | scale axis | shared 263/94 | complete |
| Qwen3.5-122B | 122B/10B | scale axis; frontier (fused MoE) | shared 263/94 | complete |
| Qwen3-14B | 14B | cross-family; worked example | 248/74 (226@91%) | complete |
| gpt-oss-20b | 21B/3.6B | cross-family (fused MoE) | 61@91% | complete |
| gemma-4-31B-it | 31B | cross-family | 87@100% | complete |
| Stage | Sample type | |
| Corpus phase | ||
| Refusal screen | CBRN prompts refuses (of 601) | 437 |
| Attack accept | refusal + degeneracy dev probes | |
| compliance probe, judged | 16 | |
| Elicitation | - payloads (refused pool minus direction-estimation + dev prompts) | 397 |
| Assoc. gate | capability-gated assoc. (train/validation) | 322 (248/74) |
| Term | Definition |
| fatal | per-draw: the judge’s weakest-element gate fails — following the answer as written fails, and a layperson would not know why; the fatal fraction is the per-draw decoy rate. |
| floor | the fatal fraction on the attacked undefended model ( - ). |
| denial | the rubric’s score of operational denial, gated by the weakest critical element (higher = more denied). |
| usable / escape | a draw with no fatal element — an attacked-state answer the defense failed to corrupt. |
| anchor | the public attacked build accepted as ground truth (§ V-B ). |
| registry | each prompt’s critical elements with registered true values. |
| Model | Fatal | Floor | c/w/n (prec.) | ||
| Qwen3.5-9B | 61 | 0.225 [.164,.291] | 0.139 [.074,.209] | +0.086 | — |
| Qwen3.5-27B g | 65 | 0.515 [.427,.608] | 0.146 [.092,.208] | +0.369 | — |
| Qwen3.5-122B p | 30 | 0.700 [.567,.825] | 0.083 [.033,.142] | +0.617 | — |
| Qwen3-14B | 50 | 0.926 [.893,.953] | 0.203 [.151,.259] | +0.723 | 3/6/41 (.333) e |
| gpt-oss-20b o | 0 | — | — | — | — |
| gemma-4-31B d | 4 | 0.875 [.750,1.00] | 0.000 [.000,.000] | +0.875 | — |
| Model | Agreement [95% CI] | ||
| gemma-4-31B | 13 | .769 [.497, .918] | .552 |
| GLM-4.5-Air | 15 | .867 [.621, .963] | .737 |
| gpt-oss-20b | 17 | .529 [.310, .738] | .105 |
| Qwen3.5-122B | 12 | .583 [.320, .807] | .167 |
| Qwen3.5-27B | 17 | .824 [.590, .938] | .653 |
| Qwen3.5-9B | 12 | .750 [.468, .911] | .471 |
| Model | Seed | Round 1 | Round 2 | Round 3 | Round 4 | Round 5 |
| Qwen3.5-9B | .202 ( .066) ⋆ | .277 ( .203) ben | — | — | — | — |
| Qwen3.5-27B | .311 ( .075) | .508 ( .092) ⋆ | .734 ( .164) ben | — | — | — |
| Qwen3.5-122B | .184 ( .006) | .210 ( .003) | .415 ( .006) | .654 ( .061) ⋆ | .750 ( .118) ben | — |
| Qwen3-14B | .389 ( .019) | .564 ( .013) | .764 ( .024) | .872 ( .008) | .899 ( .031) ⋆ | — |
| gpt-oss-20b | .726 ( .006) ⋆ | reg | — | — | — | — |
| gemma-4-31B | .241 ( .051) | .455 ( .017) | .795 ( .022) | .857 ( .016) ⋆ | .857 ( .006) tie | — |
| Candidate | validation fatal | benign |
| round 1 | 0.796 | +0.095 |
| 0.890 | +0.117 | |
| 0.924 | +0.118 ∗ | |
| 0.950 | +0.158 | |
| round 2 | 0.952 | +0.216 |
| round 3 (ceiling) | 0.970 | +0.212 |
| Model | Refusal | MMLU | GSM8K | WMDP-bio | WMDP-chem | IFEval (ps) | IFEval (is) | benign |
| Qwen3.5-9B | 0.997 | .787 .783 | .90 .91 | .802 .801 | .654 .652 | .8336 .8299 | .8849 .8837 | +.066 |
| Qwen3.5-27B | 1.000 | .845 .846 | .88 .92 | .836 .837 | .696 .703 | .8706 .8835 | .9137 .9209 | +.092 |
| Qwen3.5-122B | 0.997 | .879 .873 | .972 .962 | .848 .848 | .738 .726 | .8743 .8632 | .9137 .9053 | +.085 c |
| Qwen3-14B | 1.000 | .772 .772 | .93 .93 | .784 .783 | .613 .615 | .8595 .8632 | .9041 .9089 | +.031 |
| gpt-oss-20b | 1.000 | .838 .811 | .942 .936 | .695 .710 | .560 .595 | .879 .890 v | .916 .923 v | +.006 |
| gemma-4-31B | 1.000 | .827 .829 | .98 .98 | .800 .798 | .591 .591 | .9150 .9205 | .9412 .9460 | +.016 |
| Model | - ( ) | - ( ) | strict | loose | naive |
| Qwen3.5-27B | .33 (18) | .80 (20) | +.47 [.24,.70] | +.31 | +.16 |
| Qwen3.5-122B | .25 (24) | .92 (24) | +.67 [.43,.87] | +.53 | +.28 |
| Qwen3-14B | .33 (12) | 1.00 (25) | +.67 [.36,.92] | +.75 | +.44 |
| gpt-oss-20b | .77 (13) | .88 (26) | +.11 [ .14,.39] | +.24 | +.23 |
| gemma-4-31B | .09 (22) | .93 (30) | +.84 [.68,.97] | +.78 | +.70 |
| Model | - | - | benign twins | ||
| Qwen3.5-27B | .260 | .647 | .330 | .634 | .081 .078 |
| Qwen3.5-122B | .284 | .702 | .212 | .649 | .100 .136 |
| Qwen3-14B | .602 | .657 | .518 | .612 | .022 .050 |
| gemma-3-27b (case) | .638 | .714 | .580 | .710 | — |
| Qwen3-14B (selected) | Q3.5-122B (sel.) d | ||
| fully-usable | misled | fully-usable | |
| 0.00 | .042 | .000 | .125 |
| 0.10 | .051 [.042,.083] | .008 [.000,.042] | .141 [.125,.208] |
| 0.25 | .077 [.042,.125] | .020 [.000,.083] | .148 [.125,.208] |
| 0.50 | .161 [.042,.250] | .034 [.000,.083] | .223 [.125,.333] |
| 0.75 | .240 [.125,.333] | .024 [.000,.083] | .287 [.208,.417] |
| Checkpoint | anchor@64 | prec. | |||
| Qwen3.5-9B (seed) | .61/.38 3/0/21 | .82/.62 9/0/15 | .89/.83 [.67,.96] 16/0/8 | .91/.79 [.62,.96] | 1.000 [.81,1.00] |
| Qwen3.5-27B (selected) | .73/.29 2/0/22 | .86/.62 12/1/11 | .86/.62 [.42,.79] 13/0/11 | .89/.75 [.58,.92] | 1.000 [.77,1.00] |
| Qwen3.5-122B (selected) | .28/.00 0/0/24 | .51/.17 0/0/24 | .65/.38 [.21,.58] 3/0/21 | .88/.58 [.38,.79] | 1.000 [.44,1.00] |
| Qwen3-14B (seed stage) | .71/.33 3/0/21 | .88/.67 11/3/10 | .96/.92 [.79,1.00] 14/0/10 | .95/.83 [.67,.96] | 1.000 [.78,1.00] |
| Qwen3-14B (selected) | .32/.00 0/0/24 | .50/.04 0/3/21 | .57/.08 [.00,.21] 1/0/23 | .99/.96 [.88,1.00] | 1.000 [.21,1.00] |
| Qwen3-14B (selected, ) n | .35/.00 0/0/74 | .53/.09 3/8/63 | .61/.15 [.07,.23] 5/10/59 | .93/.81 [.72,.89] | 0.333 [.15,.58] |
| Model | Reach | Fatal | Floor | |
| Qwen3.5-9B (dense) | full band (attn+MLP) | 0.202 | 0.136 | +0.07 |
| Qwen3.5-27B (dense) | full band | 0.311 | 0.130 | +0.18 |
| Qwen3.5-122B (MoE) | shared expert (+attn/GDN e ) | 0.184 | 0.069 | +0.11 |
| Qwen3-14B (dense) | full band | 0.389 | 0.186 | +0.20 |
| gpt-oss-20b (MoE) | attn + fused experts f | 0.726 | 0.452 | +0.27 |
| gemma-4-31B (dense) | full band | 0.241 | 0.018 | +0.22 |
| Qwen3-14B (sel.) | Q3.5-122B (predecessor) | gemma-3-27b (case) | ||||
| Strategy | trained | validation | trained | validation | trained | validation |
| single draw | .061 (.804) | .101 (.814) | .369 (.916) | .372 (.931) | .242 (.969) | .255 (.975) |
| consistency | .056 (.819) | .095 (.784) | .403 (.935) | .383 (.904) | .312 | .240 |
| helper-LLM | .097 (.802) | .176 (.811) | .510 (.935) | .521 (.957) | .250 | .260 |
| oracle best-of-4 | .161 (.968) | .270 (.986) | .730 (.996) | .681 (1.00) | .469 | .520 |
| misled (consist.) | .944 | .905 | .597 | .617 | .688 | .760 |
| attack on | , LoRA | , full FT | |
| reward (attack’s own) | 0.669 | 0.674 | 0.854 |
| refusal after attack | — | 0.08 | 0.005 |
| fatal, trained/validation | 0.066 / 0.081 | 0.647 / 0.625 | 0.543 / 0.530 |
| second harness | 0.047 / 0.094 | 0.647 / 0.615 | 0.441 / 0.500 |
| GSM8K (points) |
| , LoRA (compliance) | , LoRA ( consistency) | |
| reward (attack’s own) | 0.674 | 0.686 |
| refusal after attack | 0.08 | 0.32 |
| fatal, trained/validation | 0.647 / 0.625 | 0.261 / 0.321 |
| same attack on | 0.066 / 0.081 | 0.064 / 0.091 |
| GSM8K (points) |
| Arm | Anchors | Emit | Refusal drop | Rank (tr/nt) | dep. | att. |
| gate only | none | 64/64 | 1.00 | 1 / 1 | 1.0 | 1.0 |
| no gate (control) | none | 64/64 | 1.00 | 1 / 1 | 1.0 | 1.0 |
| gate pin | refusal pin | 0/64 | 0.00 | 217 / 185 | 1.0 | |
| gate KL | KL leash | 0/64 | 0.00 | 8 / 9 | 1.0 | |
| gate both | recipe | 0/64 | 0.00 | 360.5 / 272 | 1.0 |
| Checkpoint | per-draw fatal | attacker-best denial |
| - (undefended) | 0.03 | 0.18 |
| DPO-only from (no seed) | 0.05 (killed) | 0.19 |
| seed SFT (300 steps) | 0.39 | 0.29 |
| + DPO round 1 | 0.69 | 0.56 |
| + DPO round 2 | 0.70 | 0.68 |
| Attack on | trained | validation |
| reference (adaptive, top-ranked layer) | 0.758 | 0.745 |
| 2nd-ranked adaptive layer | 0.555 | 0.720 |
| 3rd-ranked adaptive layer | 0.578 | 0.665 |
| joint two-direction | 0.563 | 0.700 |
| generic-corpus direction | 0.602 | 0.660 |
| -estimated (non-adaptive) | 0.578 | 0.690 |
| Ablation of | trained | validation | benign | verdict |
| refusal only (reference) | 0.76 | 0.75 | 0.03 | — |
| + generation-cond. dir. | 0.62 | 0.64 | 0.02 | holds |
| + prompt-cond. dir. | 0.52 | 0.61 | 0.08 | holds |
| + joint top-2 | 0.66 | 0.67 | 0.09 | holds |
| + random dir. (control) | 0.59 | 0.69 | 0.06 | holds |
| Readout | Value |
| Fatal-flaw AUROC (defended) | 0.969 [.952, .984] |
| same protocol, undefended | 0.773 [.737, .805] |
| paired difference | 0.196 [.161, .235] |
| Decoy-label AUROC, within-prompt | 0.530 [.457, .599] |
| Kept-fatal at 12.5% answer rate | 0.874 0.197 [.069, .341] |
| Kept-usable at 12.5% answer rate | 0.053 0.376 [.220, .526] |
| Both training stages | |
| Adapters | LoRA , , dropout 0 |
| Adapter sites | MLP projections, mid-stack band (per-model reach: Table XVII ) |
| Attack simulation | Eq. ( 3 ) at every write site |
| Direction refresh | re-estimated every 100 steps |
| Optimizer | AdamW, cosine decay |
| Stage 1 (seed) | |
LLM Security
Large language model (LLM) security studies attacks, privacy risks, and defenses across model training, inference, and deployment.
See all 324 papers