Privacy Failure in Split-LLM Training, The Returned Gradient Nullifies the Decoys

Georgios Politis, Evangelos Pappas

Setloop.io

Published September 3, 2026 · on the feed September 8, 2026 · ▲ 3 · arXiv 2609.04382

Safety, alignment & security Full code arXiv ↗Hugging Face ↗

The abstract

We present a systems-security case study of a two-node split-LLM training system whose privacy evaluation passed while leaving an observable channel untested. The Trusted Local Node (TLN) sends protected activations to the Untrusted Cloud Node (UCN), the UCN returns its output, and TLN, holding the private loss, returns the output gradient. The frame the UCN receives mixes real rows with decoys, and the loss ignores the decoys. Their gradients are exactly zero, so the pattern of zeros reveals which rows were real. We measure it with a protocol fixed in advance: a leak injected at known strength to prove the instrument can see one, a shuffled-label control to prove it does not report absent leaks, and a threshold set before the runs. Across nine seeds, the zeros identified the real rows on every frame, 4,096 of 4,096 per run. An attack on the frame contents recovered about one extra token per hundred over a constant-guess baseline (+0.65 to +1.50 percentage points); the shuffled controls recovered nothing. A second set of runs repeated this on a configuration that keeps model quality within budget, so the finding is not confined to a setting nobody would deploy. On both datasets, every such run passed the forward-channel privacy check and the quality check, yet failed that same check once the returned gradient was included. Clipping and noising each row of the gradient closed the leak for about 0.01 nats of held-out cross-entropy. The system is not thereby safe: five classes of attack, including those accumulating observations across training steps, were never measured.

The Brief

2:50

A short podcast summary of the paper. Written and voiced by AI.

Transcript

Privacy Failure in Split-LLM Training, The Returned Gradient Nullifies the Decoys. By Georgios Politis and one other, from Setloop dot i o. Published on the third of September. Its code repository is worked out: about one hundred and seventy source files, with a readme.

This is a systems-security case study, and its claim is uncomfortable in a specific way. A two-node system for training a split LLM passed its privacy evaluation, yet an observable channel had been left untested, and that channel leaks.

The setup runs like this. A Trusted Local Node, the TLN, sends protected activations to an Untrusted Cloud Node, the UCN. The UCN returns its output. The TLN, which holds the private loss, sends back the gradient of that output. To hide the real data, the frame the UCN receives mixes real rows with decoys, and the loss ignores the decoys. That is the flaw. Because the loss ignores them, the decoys' gradients are exactly zero. The pattern of zeros in the returned gradient tells the cloud node precisely which rows were real. The decoys are nullified by the very signal the protocol sends back.

The measurement protocol was fixed in advance, with three safeguards. A leak was injected at a known strength, to prove the instrument can see one. A control with shuffled labels proved it does not report leaks that are absent. And the threshold was set before any runs.

Across nine seeds, the zeros identified the real rows on every frame: four thousand and ninety-six out of four thousand and ninety-six, per run. An attack on the frame contents then recovered about one extra token per hundred over a baseline that simply guesses a constant, an advantage of between zero point six five and one point five percentage points. The shuffled controls recovered nothing.

The scope is where the paper is most careful, in both directions. First, the failure is not confined to some setting nobody would deploy. A second set of runs repeated the test on a configuration that keeps model quality within budget. On both datasets, every one of those runs passed the forward-channel privacy check and passed the quality check, and then failed that same privacy check once the returned gradient was included.

A fix exists for this particular channel. Clipping and adding noise to each row of the gradient closed the leak, at a cost of about zero point zero one nats of held-out cross-entropy.

Second, and just as firmly, closing the leak does not make the system safe. Five classes of attack were never measured, among them attacks that accumulate observations across training steps. The study establishes one failure and one repair. It does not certify anything beyond them.

An evaluation that looks only at what flows forward can pass a system whose backward flow gives the secret away. Here the defence was decoy rows, and the loss, by ignoring them, marked every one with a zero. The gradient that returns to the cloud carried exactly the information the decoys were meant to conceal. A privacy check is only as complete as the list of channels it looks at, and in this case that list was one channel short.

Paper Quest · 7 chapters · about 41 min

Play this paper

Learn it by doing: make the calls the authors made, guess the result before you see it, and defend it in a viva graded on your own words. Chapter 1 is right here.

Chapter 1 🧩 · The problem

Every quest starts with a wall. Here it is a privacy check that passed while a channel stayed untested.

You rent cloud compute to train a language model without sending raw text. Your trusted node sends protected activations; the cloud trains its middle layers; you return the output gradient.

The road ahead

  1. 1 · The problem ~7 min A split training system passed its privacy check, but the check watched only the wire going out, never the gradient coming back.
  2. 2 · What came before ~3 min
  3. 3 · The key idea ~9 min The loss ignores decoys, so their returned gradients are exactly zero, and that pattern of zeros tells the cloud which rows are real.
  4. 4 · Choose your own research ~3 min
  5. 5 · Build the method ~8 min Calibrate the instrument and fix the threshold first, then split real rows by their zero gradients, attack the content, and close the leak with clipping and noise.
  6. 6 · The experiment ~6 min You’ll guess: Runs that kept model quality within budget passed the forward-channel privacy check. Once the returned gradient was included, how many still passed?
  7. 7 · The viva ~5 min Three questions from the examiners, answered in your own words. Win it for the paper’s trophy.
Join free to play the whole quest ›

Free, with Google or an email address. Your stars and progress are kept.

KipQuest: the day’s AI research, as podcasts and quests. All papers Android app Privacy Contact Episodes are written and voiced by AI from each paper. Summaries can contain mistakes: the paper is the source.