Research / Agent safety and security

Robust Discover→Distill Under Poisoned Distillation Data

Builds a compact, reproducible benchmark for poisoning in the distillation stage of Discover→Distill pipelines and evaluates format gating and an Anchor-KL trust-region defense under random and trigger poisoning.

Published
13 February 2026
Author
Ali Uyar
Code
github.com/aliuyar1234/robust-discover-distill-poisoning

Abstract

Discover→Distill pipelines couple test-time discovery (ephemeral per-task updates) with consolidation (persistent weight updates) to amortize newly discovered behavior. Consolidation is only as trustworthy as the demonstrations it consumes: if archived demonstrations are corrupted or adversarially poisoned, the continual model may internalize incorrect behaviors or backdoors.

We isolate the consolidation stage and study robustness of Self-Distillation Fine-Tuning (SDFT) under poisoned distillation data on a small, fully reproducible synthetic benchmark. We create 4000 distillation pairs from three algorithmic task families (addition, sorting, string reversal) and corrupt a fraction p of demonstrations either (i) random-string corruption or (ii) trigger-target poisoning. We evaluate two low-overhead defenses: weak format gating (D1) and Anchor-KL (D2), a trust-region penalty that keeps the student close to the frozen base model during SDFT.

In a two-seed comparison at one stress point (random corruption, p = 0.3), Anchor-KL had a higher mean clean reward than the no-defense baseline (0.002 270±0.001 443 vs. 0.001 803±0.001 077), but the difference is within seed variability and the ordering is not consistent across the grid: in the single-seed runs Anchor-KL is lower at p = 0.0 and p = 0.1 (random) and in the trigger setting at p = 0.1. By construction, random corruption remains syntactically valid, so format gating drops 0/4000 examples and provides no robustness benefit. In the trigger setting, measured trigger success is 0.0 across all tested conditions; we therefore report no successful backdoor implantation on this benchmark and treat it as a null result.

Why it matters

Consolidation depends on the demonstrations it consumes, and a corrupted or poisoned archive may carry incorrect behaviors or backdoors into the persistent model. The benchmark isolates that stage so defenses can be tested reproducibly.

Cite

@misc{uyar2026robust,
  title     = {Robust Discover→Distill Under Poisoned Distillation Data},
  author    = {Uyar, Ali},
  year      = {2026},
  url       = {https://aliuyar.dev/research/robust-discover-distill/}
}
AU-19
Upper punch: one SDFT step per strokeGrains: ≈148 pairs each; bright = poisoned, ringed = trigger-targetSpring (D2): stops the punch short; stroke not to scalePairs held by the screen (D1)Trigger test: success 0.000Dial: clean mean reward ×10⁻³, limit hands ± stdA small, fully reproducible benchmark for poisoned distillation data in a Discover→Distill loop, drawn as a tablet press whose 200 strokes are the 200 steps of Self-Distillation Fine-Tuning (SDFT). The hopper holds 4,000 pairs from addition, sorting and string reversal, with a fraction p swapped for random-string or trigger-target demonstrations. The screen is the format gate D1, which drops 0 of the 1,213 corrupted pairs at random p = 0.3 and 47 pairs at trigger p = 0.1, and the spring is Anchor-KL (D2), a trust-region penalty that keeps the student close to the frozen base model. Over two seeds at random p = 0.3 the dial reads clean reward 0.002270 ± 0.001443 with D2 and 0.001803 ± 0.001077 without, and trigger success measures 0.000 in every tested condition, from no defence (D0) to both (D3).