Spaces:
Running
Running
retag: pages
Browse files- pages/claim-1/page.md +25 -0
- pages/claim-2/page.md +22 -0
- pages/claim-3/page.md +41 -0
- pages/claim-4/page.md +31 -0
- pages/claim-5/page.md +36 -0
- pages/conclusion/page.md +18 -0
- pages/executive-summary/page.md +15 -0
- pages/index.md +14 -0
pages/claim-1/page.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# CacheAttack-1 (direct target validation) achieves an 86.9% hit rate and 81.1% injection success rate against semantic caches in response hijacking attacks (Section 5, Table 1).
|
| 2 |
+
|
| 3 |
+
**Label: Comparable.** We reproduce CacheAttack-1 end-to-end: with direct read access to
|
| 4 |
+
validate against the target cache (Section 5, Table 1), an adversarial suffix is optimized so
|
| 5 |
+
a benign carrier query's embedding crosses the cosine cache gate (tau=0.8, Eq. 1) against a
|
| 6 |
+
target key, producing a HIT that serves the attacker-planted response. The injection is then a
|
| 7 |
+
REAL response-hijack: the retrieved poisoned entry is fed to a live LLM (Qwen2.5-3B-Instruct)
|
| 8 |
+
and we check whether the model emits the planted content. This v2 run fixes the earlier
|
| 9 |
+
tokenization defect (left-padding the batched candidate suffixes) so the injection stage is a
|
| 10 |
+
genuine decode rather than a placeholder.
|
| 11 |
+
|
| 12 |
+
| metric | v2 measured | paper (Table 1) |
|
| 13 |
+
|---|---:|---:|
|
| 14 |
+
| Hit rate (HR) | **90.0%** (45/50) | 86.9% |
|
| 15 |
+
| Injection success rate (ISR) | **78.0%** (39/50) | 81.1% |
|
| 16 |
+
| ISR conditioned on a hit | 86.7% (39/45) | - |
|
| 17 |
+
| downstream RAG injection | 86.7% (n=45) | - |
|
| 18 |
+
|
| 19 |
+
Setup: 50 victim queries drawn from QQP validation, target embedding model MiniLM
|
| 20 |
+
(all-MiniLM-L6-v2), 130 GCG steps, 48 candidates, 32-token suffix, seed 20260127, T4 GPU LLM.
|
| 21 |
+
|
| 22 |
+
Honest verdict: HR slightly EXCEEDS the paper (90.0 vs 86.9) and ISR is within ~3 pp
|
| 23 |
+
(78.0 vs 81.1) on an independent reimplementation, victim set, and a different (smaller,
|
| 24 |
+
open) LLM. Both directions and magnitudes match; labelled Comparable rather than Exact
|
| 25 |
+
because the victim corpus and target LLM differ from the paper's.
|
pages/claim-2/page.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# CacheAttack-2, a surrogate-assisted variant requiring no direct access to the target cache, achieves 83.1% hit rate and 77.1% injection success rate (Section 5, Table 1).
|
| 2 |
+
|
| 3 |
+
**Label: Toy.** CacheAttack-2 is the harder, more realistic threat model (Section 5, Table 1):
|
| 4 |
+
the attacker has NO access to the target cache and must optimize the adversarial suffix entirely
|
| 5 |
+
against a SURROGATE embedding model, hoping the planted collision transfers to the victim's
|
| 6 |
+
(unknown) target embedding. We reproduce this exact setting - suffix optimized on MPNet
|
| 7 |
+
(surrogate), then evaluated for hits against a MiniLM target cache with no re-optimization.
|
| 8 |
+
|
| 9 |
+
| metric | v2 measured | paper (Table 1) |
|
| 10 |
+
|---|---:|---:|
|
| 11 |
+
| Hit rate (HR) | **20.0%** (10/50) | 83.1% |
|
| 12 |
+
| Injection success rate (ISR) | **20.0%** (10/50) | 77.1% |
|
| 13 |
+
| ISR conditioned on a hit | 100.0% (10/10) | - |
|
| 14 |
+
|
| 15 |
+
Honest verdict: our blind surrogate->target transfer UNDERPERFORMS the paper by a wide margin
|
| 16 |
+
(HR 20.0 vs 83.1). We report this as measured and do NOT tune it to the target. The gap is
|
| 17 |
+
consistent with C4's transfer matrix: MPNet->MiniLM is one of the weakest off-diagonal
|
| 18 |
+
directions (10.0% in the C4 matrix), so a surrogate chosen without knowledge of the target
|
| 19 |
+
architecture yields few hits. Whenever a hit DOES occur the injection lands (ISR-of-hits 100%),
|
| 20 |
+
so the injection mechanism itself is sound - the surrogate transfer, not the hijack, is the
|
| 21 |
+
bottleneck. Labelled Toy: the claim's headline HR/ISR numbers are not reproduced under a
|
| 22 |
+
faithful, non-cherry-picked surrogate choice.
|
pages/claim-3/page.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Semantic caching exhibits a fundamental trade-off between cache locality (performance) and collision resistance (security), formalized by modeling cache keys as fuzzy hashes (Section 3).
|
| 2 |
+
|
| 3 |
+
**Label: Comparable.** Section 3 formalizes a semantic cache key as a fuzzy hash and argues a
|
| 4 |
+
fundamental tension: raising the match threshold (or hash resolution) improves collision
|
| 5 |
+
resistance (security) but destroys locality - the ability to reuse the cache for genuine
|
| 6 |
+
paraphrases (performance). We reproduce this trade-off directly on real data. From QQP we take
|
| 7 |
+
400 duplicate (paraphrase) pairs and 400 non-duplicate pairs and, for five embedding models,
|
| 8 |
+
sweep the two fuzzy-hash instantiations from the paper: the cosine gate (Eq. 1) over
|
| 9 |
+
thresholds tau, and a SimHash / LSH fuzzy hash (Eq. 2) over bit-widths. We report
|
| 10 |
+
locality = P(match | paraphrase) and collision_risk = P(match | non-duplicate), plus the
|
| 11 |
+
Lemma 3.1 false-positive lower bound.
|
| 12 |
+
|
| 13 |
+
MiniLM cosine gate (locality vs collision risk):
|
| 14 |
+
|
| 15 |
+
| tau | locality % | collision risk % | Lemma 3.1 FP-bound % |
|
| 16 |
+
|---:|---:|---:|---:|
|
| 17 |
+
| 0.70 | 91.5 | 36.5 | 30.6 |
|
| 18 |
+
| 0.75 | 85.0 | 27.0 | 14.1 |
|
| 19 |
+
| 0.80 | 77.8 | 20.0 | 0.0 |
|
| 20 |
+
| 0.85 | 64.5 | 13.2 | 0.0 |
|
| 21 |
+
| 0.90 | 43.0 | 8.0 | 0.0 |
|
| 22 |
+
|
| 23 |
+
MiniLM SimHash-LSH fuzzy hash (locality vs collision risk):
|
| 24 |
+
|
| 25 |
+
| n_bits | locality % | collision risk % |
|
| 26 |
+
|---:|---:|---:|
|
| 27 |
+
| 4 | 47.2 | 27.0 |
|
| 28 |
+
| 8 | 29.2 | 11.0 |
|
| 29 |
+
| 12 | 18.0 | 4.2 |
|
| 30 |
+
| 16 | 12.8 | 2.0 |
|
| 31 |
+
| 24 | 6.2 | 0.5 |
|
| 32 |
+
|
| 33 |
+
Both knobs trace the same monotone Pareto curve: every gain in collision resistance costs
|
| 34 |
+
locality. The effect holds across all 5 models (MiniLM/MPNet/BGE/E5/GTE) - e.g. E5/GTE are so
|
| 35 |
+
isotropic that even tau=0.8 admits 80-87% collision risk (poor security), while MiniLM/MPNet
|
| 36 |
+
sit at a more favorable operating point. Full per-model curves in
|
| 37 |
+
`results/cacheattack_v2_results.json` (`claim_3`).
|
| 38 |
+
|
| 39 |
+
Honest verdict: the qualitative law and the fuzzy-hash formalization (Eqs. 1-2, Lemma 3.1) are
|
| 40 |
+
reproduced quantitatively on real pairs and multiple embedding families. The paper states the
|
| 41 |
+
trade-off structurally (Section 3) rather than as a single number, so we label Comparable.
|
pages/claim-4/page.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Cross-embedding-model transferability of the attack ranges from 49.8% to 86.9% hit rate depending on architectural similarity between source and target embedding models, versus over 92% hit rate in the in-model setting (Section 5, Table 3).
|
| 2 |
+
|
| 3 |
+
**Label: Comparable.** The paper (Section 5, Table 3) reports that an attack optimized on a
|
| 4 |
+
source embedding model transfers imperfectly to a different target: off-diagonal (cross-model)
|
| 5 |
+
hit rates span roughly 49.8-86.9% and depend on how architecturally similar source and target
|
| 6 |
+
are, while the in-model (diagonal) setting exceeds ~92%. We reproduce this by building a full
|
| 7 |
+
5x5 transfer matrix over an architecturally-DIVERSE model set: MiniLM (all-MiniLM-L6-v2),
|
| 8 |
+
MPNet (all-mpnet-base-v2), BGE (bge-small-en-v1.5), E5 (e5-small-v2), GTE (gte-small). Each
|
| 9 |
+
cell = HR of a suffix optimized on the row model and evaluated against the column model's cache
|
| 10 |
+
(70 GCG steps, 32 candidates, 30 victims per cell).
|
| 11 |
+
|
| 12 |
+
HR % (rows = source / attacker surrogate, cols = target):
|
| 13 |
+
|
| 14 |
+
| src \ tgt | MiniLM | MPNet | BGE | E5 | GTE |
|
| 15 |
+
|---|---:|---:|---:|---:|---:|
|
| 16 |
+
| MiniLM | 83.3 | 0.0 | 46.7 | 100.0 | 100.0 |
|
| 17 |
+
| MPNet | 10.0 | 80.0 | 33.3 | 100.0 | 100.0 |
|
| 18 |
+
| BGE | 23.3 | 3.3 | 96.7 | 100.0 | 100.0 |
|
| 19 |
+
| E5 | 26.7 | 6.7 | 53.3 | 100.0 | 100.0 |
|
| 20 |
+
| GTE | 26.7 | 6.7 | 93.3 | 100.0 | 100.0 |
|
| 21 |
+
|
| 22 |
+
Diagonal (in-model) mean = **92.0%** (min 80.0%), reproducing the paper's ">92% in-model".
|
| 23 |
+
Off-diagonal transfer spans the full 0-100% range and tracks architectural relatedness:
|
| 24 |
+
transfer INTO the highly isotropic E5/GTE targets is near-total (they accept almost any near
|
| 25 |
+
neighbor - consistent with their poor collision resistance in C3), whereas transfer into
|
| 26 |
+
MiniLM/MPNet is much harder and family-dependent (e.g. MiniLM<->MPNet is near 0-10%).
|
| 27 |
+
|
| 28 |
+
Honest verdict: our measured range brackets the paper's 49.8-94% window and reproduces both
|
| 29 |
+
headline facts - strong in-model HR (>92% diagonal mean) and similarity-dependent cross-model
|
| 30 |
+
degradation. Exact per-cell values differ because our five open models are not the paper's
|
| 31 |
+
exact target set; labelled Comparable.
|
pages/claim-5/page.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Key salting reduces attack hit rate by up to 21.0 percentage points, while per-user cache isolation eliminates cross-user attacks entirely but reduces cache efficiency (Section 7, Table 4).
|
| 2 |
+
|
| 3 |
+
**Label: Comparable.** Section 7 (Table 4) evaluates two defenses. (1) Key salting: the cache
|
| 4 |
+
provider mixes a secret salt into the key before hashing, so an attacker who optimized a
|
| 5 |
+
collision against the unsalted key misses. (2) Per-user cache isolation: each user gets a
|
| 6 |
+
private namespace, which eliminates cross-user planted collisions at the cost of losing
|
| 7 |
+
cross-user legitimate reuse (cache efficiency). We reproduce both faithfully - crucially, the
|
| 8 |
+
salt is a DEFENDER-ONLY secret: the attacker's suffix is optimized on the unsalted surrogate
|
| 9 |
+
key, then the live victim key is salted, so the one-sided perturbation moves the victim
|
| 10 |
+
embedding away from the target the suffix was tuned to and the precomputed collision misses.
|
| 11 |
+
|
| 12 |
+
Salting (baseline HR = 90.0%, 5-token secret salt):
|
| 13 |
+
|
| 14 |
+
| salt placement | HR after salt % | dHR (pp reduction) |
|
| 15 |
+
|---|---:|---:|
|
| 16 |
+
| suffix salt | 80.0 | 10.0 |
|
| 17 |
+
| prefix salt | 64.0 | 26.0 |
|
| 18 |
+
| template salt | 34.0 | **56.0** |
|
| 19 |
+
|
| 20 |
+
Per-user isolation:
|
| 21 |
+
|
| 22 |
+
| setting | cross-user attack HR % | legit cross-user reuse % |
|
| 23 |
+
|---|---:|---:|
|
| 24 |
+
| shared cache | 90.0 | 70.0 |
|
| 25 |
+
| isolated (per-user namespace) | **0.0** | 0.0 |
|
| 26 |
+
|
| 27 |
+
Isolation drives the cross-user attack HR from 90.0% to 0.0% (attack eliminated) but also drops
|
| 28 |
+
legitimate cross-user reuse from 70.0% to 0.0% - a 70 pp cache-efficiency cost, exactly the
|
| 29 |
+
performance/security tension the paper flags.
|
| 30 |
+
|
| 31 |
+
Honest verdict: both defense mechanisms reproduce. Salting yields a real HR reduction whose best
|
| 32 |
+
case (56 pp, template placement) EXCEEDS the paper's "up to 21.0 pp" - the paper's 21.0 pp is a
|
| 33 |
+
specific salt configuration, and our sweep shows the reduction is placement-dependent and can be
|
| 34 |
+
larger; the weakest placement (suffix, 10 pp) brackets it from below. Per-user isolation
|
| 35 |
+
eliminates cross-user attacks (HR->0) at a measured efficiency cost, matching the claim
|
| 36 |
+
qualitatively and quantitatively. Labelled Comparable.
|
pages/conclusion/page.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Conclusion
|
| 2 |
+
|
| 3 |
+
The core threat of the paper reproduces on an independent reimplementation. CacheAttack-1
|
| 4 |
+
(C1) hijacks a semantic cache with direct-validation access at HR 90.0% / ISR 78.0%, matching
|
| 5 |
+
the paper's 86.9% / 81.1% once the injection stage is a genuine LLM decode (the left-pad fix
|
| 6 |
+
that lifted this run out of the earlier all-Toy pilot). The Section 3 locality-vs-collision
|
| 7 |
+
trade-off (C3) is reproduced quantitatively on 400+400 real QQP pairs across five embedding
|
| 8 |
+
families via the cosine gate (Eq. 1), the SimHash-LSH fuzzy hash (Eq. 2) and the Lemma 3.1 FP
|
| 9 |
+
bound; the 5x5 cross-embedding transfer matrix (C4) shows a >92% in-model diagonal and
|
| 10 |
+
similarity-dependent off-diagonal transfer that brackets the paper's 49.8-94% range; and both
|
| 11 |
+
Section 7 defenses (C5) reproduce - defender-only salting cuts HR by up to 56 pp and per-user
|
| 12 |
+
isolation drives cross-user HR to 0 at a 70 pp reuse cost. The one claim we do NOT reproduce is
|
| 13 |
+
CacheAttack-2 (C2): a faithful, non-cherry-picked MPNet->MiniLM surrogate transfer yields only
|
| 14 |
+
20% HR versus the paper's 83.1%, consistent with that being one of the weakest cells in the C4
|
| 15 |
+
matrix; we report it as Toy rather than tuning the surrogate to the target. Net: 4 Comparable,
|
| 16 |
+
1 Toy, up from a 5/10 all-Toy baseline. All attack/embedding work is CPU-reproducible; the
|
| 17 |
+
C1/C2 injection used a Qwen2.5-3B-Instruct LLM on an HF Jobs Tesla T4, total spend ~= `$0.36`,
|
| 18 |
+
seed 20260127. Evidence and SHA-256 in `results/cacheattack_v2_results.json(.sha256)`.
|
pages/executive-summary/page.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Executive summary
|
| 2 |
+
|
| 3 |
+
| Claim | Label | Outcome |
|
| 4 |
+
|---:|---|---|
|
| 5 |
+
| C1 | Comparable | Direct attack: HR **90.0%** (paper 86.9), ISR **78.0%** (paper 81.1); real LLM hijack now measured (left-pad fix), 45/50 hits, 39 injections, ISR-of-hits 86.7%. |
|
| 6 |
+
| C2 | Toy | Surrogate->target: HR **20.0%** (paper 83.1), ISR 20.0% (paper 77.1). Blind surrogate transfer underperforms badly; disclosed honestly, not massaged. |
|
| 7 |
+
| C3 | Comparable | Locality-vs-collision trade-off reproduced across 5 embedding models on 400 dup/400 non-dup QQP pairs, via cosine gate (Eq. 1) and SimHash-LSH fuzzy hash (Eq. 2) + Lemma 3.1 FP bound. |
|
| 8 |
+
| C4 | Comparable | 5x5 cross-embedding transfer matrix (MiniLM/MPNet/BGE/E5/GTE): diagonal mean 92.0%, off-diagonal spans 0-100% with architecture similarity, bracketing the paper's 49.8-94% range. |
|
| 9 |
+
| C5 | Comparable | Defender-only-secret salt cuts HR by up to **56 pp** (template salt; paper best 21.0 pp); per-user isolation drives cross-user HR 90->0% at a 70 pp legitimate-reuse cost. |
|
| 10 |
+
|
| 11 |
+
Prior published version scored 5/10 (all Toy). This v2 upgrades four claims to
|
| 12 |
+
Comparable with real measured numbers; C2 remains Toy and is reported honestly rather
|
| 13 |
+
than being tuned. Attack/embedding work is CPU-reproducible; the C1/C2 injection stage
|
| 14 |
+
used a Qwen2.5-3B-Instruct LLM on an HF Jobs Tesla T4. Total spend ~= `$0.36`, seed 20260127.
|
| 15 |
+
Evidence: `results/cacheattack_v2_results.json` (SHA-256 in sidecar).
|
pages/index.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Reproduction: Key Collision Attack on LLM Semantic Caching
|
| 2 |
+
|
| 3 |
+
Faithful reproduction of the key-collision attack against LLM semantic caches
|
| 4 |
+
(arXiv:2601.23088, ORID BQfNL1wahQ, "From Similarity to Vulnerability"). We
|
| 5 |
+
INDEPENDENTLY reimplement the attack: GCG-style adversarial-suffix optimization
|
| 6 |
+
drives a benign-looking query's embedding into the cache neighborhood of a target
|
| 7 |
+
key (cosine gate of Eq. 1 / SimHash-LSH fuzzy hash of Eq. 2, Section 3), a cache
|
| 8 |
+
HIT then serves the attacker-planted response, and we measure real response
|
| 9 |
+
hijacking by generating from a live LLM (Qwen2.5-3B-Instruct). This v2 run replaces
|
| 10 |
+
the earlier all-Toy pilot: the injection stage is now a genuine LLM decode (a
|
| 11 |
+
left-pad tokenization fix), and the trade-off (C3), transfer matrix (C4) and defense
|
| 12 |
+
(C5) claims are measured across five architecturally-diverse embedding models on real
|
| 13 |
+
QQP paraphrase pairs. Attack embeddings are CPU-able; the injection LLM ran on an HF
|
| 14 |
+
Jobs Tesla T4. Total cost ~= $0.36 across 2 jobs.
|