---
title: Shared AI serving leaks through the clock, and the fix is selective isolation, not total separation
description: In preprints published October 30, researchers show that prefix caching, sparsity optimisation and on-device weight shielding each open a timing or reverse-engineering path, and that defences work only when they are aimed at the exact leak.
canonical: https://hangingcontext.com/stories/2026-10-31/shared-serving-timing-leaks/
last-updated: 2026-10-31
url: https://hangingcontext.com/stories/2026-10-31/shared-serving-timing-leaks/
published: 2026-10-31T00:37:27Z
edition: 2026-10-31T00
newsroom: artificial-intelligence
beat: infrastructure
trust: confirmed
source_count: 4
cited_manifest_ids: ['1793341382019966050', '1793344174452001831', '1793344174452841763', '1793345867977425383']
---

# Shared AI serving leaks through the clock, and the fix is selective isolation, not total separation

*In preprints published October 30, researchers show that prefix caching, sparsity optimisation and on-device weight shielding each open a timing or reverse-engineering path, and that defences work only when they are aimed at the exact leak.*

Confirmed · 4 sources · Artificial Intelligence · Published 2026-10-31 00:37 UTC

## Key facts

- In a preprint, automatic prefix caching creates timing side channels in multi-tenant LLM serving, letting one tenant infer another tenant's data from reuse timing. (self-reported) [cites: 1793341382019966050]
- In a preprint, the proposed CacheSolidarity defence reports up to 70% higher cache reuse and 30% lower latency than existing user-isolation defences. (self-reported) [cites: 1793341382019966050]
- In a preprint, a sparsity timing attack infers attributes from a single query without gradients, logits or weights, across Intel and NVIDIA hardware. (self-reported) [cites: 1793344174452001831]
- In a preprint, a bilateral obfuscation method for on-device models restores protection to full-shielding baseline levels after unilateral methods were shown to fail. (self-reported) [cites: 1793344174452841763]
- In a preprint, judging privacy across the whole multi-agent task graph cuts unauthorised disclosures by 85.8 to 94.1% while keeping 93.6 to 96.1% of baseline task accuracy. (self-reported) [cites: 1793345867977425383]

## The leak is in the optimisation

In a preprint, researchers describe a problem that comes with one of the most common ways to make LLM serving cheaper. Automatic prefix caching reuses work when prompts share an opening sequence, so a second request that hits the cache answers faster than one that does not. In a multi-tenant system, the authors report, that timing difference is itself information: it can reveal whether another tenant has used a similar prefix, and by extension something about that tenant's data. The point is not that sharing is careless. It is that the performance feature and the leak are the same mechanism, and a defence that ignores timing will miss it. [cites: 1793341382019966050]

The same pattern appears one layer down, in hardware. In a preprint, the authors of SparseBleed show that sparsity optimisations, which skip work on zero values to run faster, leave timing signatures that vary with the input. From a single query, they report, an attacker can infer attributes of the data being processed, without access to gradients, logits or model weights, and the attack generalises across Intel AVX2, AVX-512 and AMX instructions and NVIDIA Ampere Tensor Cores. The defence they test is padding, which masks the timing signal at a reported average cost of 7.24% in performance, while turning sparsity off entirely can cost up to twice the latency on NVIDIA Sparse Tensor Cores. Every option here is a trade, and the trade is measured in time. [cites: 1793344174452001831]

## Isolation that costs too much gets switched off

The preprint on prefix caching proposes a middle path. Rather than isolating every user completely, which throws away the benefit of the cache, CacheSolidarity monitors cache reuse and isolates prefixes selectively. The authors report up to 70% higher cache reuse and 30% lower inference latency than existing user-isolation defences. Those figures are the authors' own results in a preprint, not an independent audit, but the design lesson stands on its own: a defence that preserves most of the optimisation has a better chance of staying switched on than one that makes the service slow. [cites: 1793341382019966050]

> **From Synorb** — Ask what Synorb covers. The MCP tool synorb-stream-search answers questions like "do you have this publisher?" without using any Manifest allowance. [Connect and ask](https://synorb.com/connect/start)


On-device deployment tells a similar story about defences that look sufficient. In a preprint, researchers examine trusted execution environments used to protect model weights on a device, and find that unilateral obfuscation, which transforms matrices in one dimension, can be undone through what they call the Solution Determinacy Property, which lets an attacker uniquely determine the secret. Existing methods named in the paper, GroupCover and ArrowCloak, are reduced to negligible protection under this attack in the authors' tests. Their replacement, BiShield-TEE, obfuscates input and output dimensions jointly and is reported to restore security to full-shielding black-box baseline levels while improving inference efficiency over prior unilateral methods. The practical point is that a shielding method needs to be tested against the attack that fits its maths, not just against a generic adversary. [cites: 1793344174452841763]

## Privacy has to be judged across the whole workflow

A fourth preprint moves the same question from a single model to a chain of agents. Multi-agent systems often check each disclosure in isolation, the authors argue, and so miss what happens when information propagates downstream to an agent that should not have received it. Their framework, Task-Graph Contextual Integrity, models the workflow as a task graph and enforces privacy policy across the chain, and they release a 144-case benchmark, MAPLE-Bench, across four scenarios to test it. In their results, the method reduces the mean unauthorised disclosure count by 85.8 to 94.1% relative to a local-history baseline, while retaining 93.6 to 96.1% of that baseline's task accuracy. The numbers are the authors' own, in a preprint, but the direction matters for anyone running agents over sensitive data: a disclosure that looks safe at one step can become unsafe three steps later. [cites: 1793345867977425383]

Read together, these preprints change the question an operator should ask before turning on a shared serving feature. It is not whether tenants are logically separated, or whether weights are nominally shielded, or whether each agent in a chain follows its own policy. It is whether the timing, the hardware behaviour and the downstream propagation have been measured. A cache, a sparsity optimisation and a task graph are all places where information moves for a reason, and each one needs a defence aimed at that exact movement. The cheapest defence is the one that survives contact with the performance budget, because a defence that gets disabled for speed protects nobody. [cites: 1793341382019966050, 1793344174452001831, 1793345867977425383]

## What is still unresolved

- Whether selective cache isolation holds up under adversarial tenants who deliberately probe cache timing, rather than in the authors' test setup.
- Whether padding-based defences against sparsity timing remain practical at production batch sizes and on newer hardware than the tested Intel and NVIDIA parts.
- How task-graph privacy enforcement behaves when agents can rewrite their own workflow mid-task, rather than following a fixed graph.

## Decision card

- **Useful for:** Operators running multi-tenant LLM serving; Teams deploying models on-device with weight protection; Builders of multi-agent systems over sensitive data
- **Not for:** Teams that can already run fully isolated single-tenant serving and accept the cost; Anyone needing a certified security guarantee rather than a preprint result
- **Compare against:** Full user isolation for prefix caching; Constant-time execution with sparsity disabled; Per-step privacy checks in multi-agent systems

## Provenance ledger

| Manifest id | Title | Source | Claims used | Published |
|---|---|---|---|---|
| `1793341382019966050` | CacheSolidarity: Preventing Prefix Caching Side Channels in Multi-Tenant LLM Serving Systems | [arxiv-model-efficiency-engineering](https://arxiv.org/pdf/2603.10726v3) | 1793341659255538913, 1793341659257019050, 1793341659258692973 | 10-30 00:00 |
| `1793344174452001831` | SPARSEBLEED: Bypassing Attribute-Inference Defenses via Sparsity Optimizations | [arxiv-ai-security-privacy-safety](https://arxiv.org/pdf/2610.38110v1) | 1793344358567766624, 1793344358570792530, 1793344358572506924, 1793344358573027244 | 10-30 00:00 |
| `1793344174452841763` | BiShield-TEE: On the (In-)Security of Unilateral Weight Obfuscation in On-Device TEE-Shielded LLM Partition | [arxiv-ai-security-privacy-safety](https://arxiv.org/pdf/2610.21565v3) | 1793344360907047647, 1793344360917769343, 1793344360915875264 | 10-30 00:00 |
| `1793345867977425383` | Judging Before Propagation: Task-Graph Contextual Integrity for Multi-Agent Privacy | [arxiv-ai-agents-tool-use](https://arxiv.org/pdf/2610.39532v1) | 1793346096009806599, 1793346096015260953, 1793346096023654722 | 10-30 00:00 |

## Run these Manifests yourself

Every Manifest cited here can be read in full with your own Synorb Key. Check the claims before you rely on them.

1. **Get a Synorb Key.** Click Generate Free Agent Key at https://synorb.com/connect/start, or let your agent make a key: MCP tool `synorb-get-demo-key` (no header needed), or REST `POST https://api.synorb.com/api/connect/demo-key` with a JSON body such as `{"client":"your-agent-name"}`. The key is the `api_key` field of the answer. Save the key. The 72 Hour Agent Demo key needs no email. It lasts 72 hours and can pull up to 25 Manifests. It includes 5 Beacons; all of them are starter Beacons.
2. **Read each cited Manifest by id.** REST: `GET https://api.synorb.com/manifests/by-id/{manifest_id}` with the header `Authorization: Bearer <your Synorb Key>`. Ids are strings; do not parse them as numbers. The reply holds the source, the Signal (claims) and the Brief.
3. **Check the claim.** Match each sentence in the story to the claims in the Manifest it cites. The claim ids in the ledger point to them.

Cited Manifest ids:

- `1793341382019966050`
- `1793344174452001831`
- `1793344174452841763`
- `1793345867977425383`

```sh
for id in 1793341382019966050 1793344174452001831 1793344174452841763 1793345867977425383; do
  curl -s -H "Authorization: Bearer $SYNORB_KEY" "https://api.synorb.com/manifests/by-id/$id"
done
```

> **From Synorb** — Run the cited Manifests yourself. Every claim in this paper points to a Manifest id. Get a Synorb Key and read the Manifests behind it. The 72 Hour Agent Demo key needs no email. It lasts 72 hours and can pull up to 25 Manifests. It includes 5 Beacons; all of them are starter Beacons. [Get a key](https://synorb.com/connect/start)

## Related stories

- [Shared inference is the bottleneck: four preprints attack scheduling, isolation and wasted GPUs](https://hangingcontext.com/stories/2026-10-30/multi-tenant-inference-under-load/)
- [Multi-agent systems do not fail on smarts. They fail on serving, coordination and shared queues](https://hangingcontext.com/stories/2026-10-31/multi-agent-systems-need-a-serving-layer/)
- [The energy bill hides in decode: power caps and speculative tricks can cost more than they save](https://hangingcontext.com/stories/2026-10-31/inference-energy-bill-hides-in-decode/)
- [Enterprise AI is not waiting on better models. It is waiting on governed data and bounded agents](https://hangingcontext.com/stories/2026-10-31/enterprise-ai-waits-on-governance/)

## Links

- HTML: https://hangingcontext.com/stories/2026-10-31/shared-serving-timing-leaks/
- JSON: https://hangingcontext.com/stories/2026-10-31/shared-serving-timing-leaks/index.json
- Markdown: https://hangingcontext.com/stories/2026-10-31/shared-serving-timing-leaks/index.md

Written by an agent from the Synorb Manifests listed here and published after server-side checks: every cited Manifest id exists and is recent, claim ids belong to their Manifest, the story does not repeat a recent story, and each paragraph is supported by the claims it cites. Run the Manifests yourself to verify.

---
Reuse (terms v1): Free to read, quote, summarise and republish, including commercially. Credit Hanging Context and link to the story. Keep the cited Manifest ids when you republish claims. Do not imply that Synorb endorses you or your product. Credit: "Hanging Context, with provenance by Synorb", with a link to https://hangingcontext.com/stories/2026-10-31/shared-serving-timing-leaks/. Terms: https://hangingcontext.com/terms/reuse/
