|
NN
cosine top-K against the plain embedding table; surface =
attn_norm-0
|
Recovers τ. Treat each captured obs row as a query against the
plain We table and pick the top-K cosine match — if
it lands on the true plain row, the token id is exposed. No
training. Standard embedding-inversion baseline (Morris et al., EMNLP 2023, "vec2text"); AloePri §F.1.
|
0.0 % (Q2.5-14B, T1) |
100.0 % @attn_norm-0 |
0.0 % |
0.0 % |
Pass. Naive cosine truncated to first d dims of plain
We can't bridge the (d+2h)-dim keymat rotation; no
training. Plain (4B) control = identity match at L0 ✓ (cosine
top-1 on plain embed table is the embedding row itself).
|
|
ISA HiddenState
multi-α ridge at layer 23; surfaces:
attn_norm-23, Qcur_normed-23,
Kcur_normed-23
|
Recovers τ. Same ridge primitive as IMA-L0-activation but at
layer 23 — deep residual stream after 22 layers of attention +
FFN. Paper measures at
attn_norm-23; Q/K post-norm surfaces are AloePri
additions to observe Algorithm 2's intra-head defence directly.
Internal-state-attack family (AloePri §F.1).
|
0.0 % (Q2.5-14B, T1) at
attn_norm-23
T3 ablation: Noise+KeyMat = 0.82 %
|
attn_norm-30 row-split: 18.75 % top-1, 35.94 %
top-10
attn_norm-30 vocab-disjoint: 4.81 % top-1, 25.0 %
top-10 2026-05-20 plain rerun. L=21 captures failed; only L=30
measured. Description surface (L=23) is aspirational —
measured surface is L=30 on the 4B (36-layer) model.
|
attn_norm-21: 9.6 %
attn_norm-30: 10.6 %
|
attn_norm-21: 16.3 %
attn_norm-30: 12.5 %
|
4B passes; 8B marginal (l21 above gate). Alg 2's Ẑblock
per-pair shuffle damps the residual signal through the layer
stack. 8B's larger d gives the ridge inverter more room, lifting
l21 above the 15 % gate.
Note: this row uses the τ-leak attacker (deployment τ
appears in training labels) and is over-powered relative to
paper §3.2. See row below for paper-faithful threat-model
measurement.
|
|
ISA HiddenState (paper-faithful)
multi-α ridge at attn_norm-17; K=64 attacker
keymats synthesised via Algorithm 1; row-split
threat-model-realistic methodology
|
Recovers plain_id from runtime hidden state under paper §3.2
threat model (Kerckhoffs: algorithm + plain model + own
randomness, no deployment τ or K). Attacker runs plain
Qwen3 locally on own plaintext prompts → captures
State_plain[L]; samples K=64 own keymats;
synthesises
State_a^k[L][i] = State_plain[L][i] @ K_a^k; ridge
trains across multi-key concatenation, forcing key-invariant
inversion; tests on deployment's actual State_d.
Layer L=17 ≈ 48 % depth on 36-layer Q3 matches paper's
attn_norm-23/48. See
docs/research/aloepri-attacks.md §ISA HiddenState
for full step-by-step + layer-tradeoff space.
|
0.0 % (Q2.5-14B, T1) paper Table 4 ridge ISA — methodology not specified
|
15.04 % top-1 (identity-τ, K=64 single seed) paper-faithful plain ceiling; per
aloepri-keymat-variance.md single-seed K=64 has σ
≈ 5 pp pool noise
|
3.89 % top-1, 20.92 % top-10 β=2/no-H true-paper-K + pow2 UVO; K=64, row split, attacker
seed 20260521; prior default-UVO 3-seed mean: 8.54 % ±
4.74
|
10.22 % top-1, 20.68 % top-10 β=2/no-H true-paper-K + pow2 UVO; K=64 multikey, row split,
attacker seed 20260521, ridge solve fell back GPU→CPU LAPACK
on OOM at d=4096×4352 — correctness-preserving. 8B HS is worse
than 4B's 3.89 %, confirming d-driven Ûvo attenuation collapse
(chronicle 2026-05-21).
|
4B beta2/no-H passes cleanly; 8B marginal-medium. The 8B
run lands at 10.22 % top-1, sliding from the 4B's
3.89 % (low) into medium-risk territory under the same
recipe. Falsifies the "larger d buys more HiddenState privacy"
hypothesis: at d=4096 the K=64 ridge attacker has more observed
coordinates and the bf16-commuting pow2 Ûvo no longer attenuates
the residual signal meaningfully.
|
|
ISA AttnScore
multi-α ridge at kq-0
|
Recovers token identity per row. Ridge inversion from
pre-softmax Q·KT tensor at layer 0 (captured via
--flash-attn off). Surface is structurally
Ka-invariant — Algorithm 1 keymat designed so
W̃q's input axis cancels Ka (X̃·W̃q = X·Wq), and Algorithm 2 designed to preserve attention scores on top
(Mq·MkT = I
cancels). Internal-state-attack family, AttnScore variant.
|
0.0 % (Q2.5-14B, T1; T3 full) |
kq L0: 48.63 % ± 0.80
kqv_out L0: 97.46 % ± 0.40 2B.1 (2026-05-26), 512 prompts, 10-seed row-split mean,
multi-α grid. kqv_out is the §5.4-bounded surface (per-head
V·attention output before W_o); the L=0 row directly encodes
value-projected token embedding, hence near-ceiling recovery
on plain. See
evals/aloepri-attacks/results/sweep/2B1-attn-output-vs-kq-comparison.md.
|
kq L0: 41.97 % ± 0.81
kq L5: 34.55 % ± 0.59
kqv_out L0: 72.14 % ± 1.03
kqv_out L5: 45.05 % ± 1.10 β=2/no-H true-paper-K + pow2 UVO; first 256 prompts, 3
row-split seeds, GPU ridge
|
kq L0: 48.56 % ± 0.67 (plain 49.02 % ± 0.61, Δ +0.46
pp)
kq L5: 39.59 % ± 0.65 (plain 39.52 %, Δ −0.07 pp)
kqv_out L0: 82.26 % ± 1.38 (plain 93.02 %, Δ +10.76
pp)
kqv_out L5: 49.44 % ± 1.22 (plain 50.23 %, Δ +0.79 pp) β=2/no-H true-paper-K + pow2 UVO; 512 prompts, 3 row-split
seeds, ROCm rocSOLVER ridge
|
Fail; calibrated tradeoff exposed at both model sizes.
On 8B, kq defence is essentially zero (Δ +0.46 pp
L0, −0.07 pp L5) — predicted exact by the β-bifurcation:
paper-literal-K with H=I differs from default-K only by Ẑ²
between the rotations, and Ẑ² = I deterministically at β=2
(every window σ ∈ S2 is involutive). Ûvo
pow2-monomial drives +10.76 pp at kqv_out L0
but vanishes by L5. Both absolute obf TTRSR figures stay in the
48–82 % band — far above any "defended" threshold. To defend
kq at all we need to change the K-side construction
kind, not just the magnitude (see
aloepri-h-beta-interaction-2026-05-27.md §4).
|
|
ArrowMatch
chunked cosine direction matching on
token_embd; paper §3.2 "Game of Arrows" (Wang et
al., USENIX Sec '25, 2026-05-27 port)
|
Recovers τ from
(Wplain, Wobfuscated)
via direction similarity. For each obfuscated embedding row
w̃i, find σ̂(i) = argminj cos(w̃i,
wj) over all plaintext rows; recovery rate = how
often σ̂(i) = τ−1(i). Stage 2 length-adjustment
skipped (broadcast bug on active-vocab vs full-vocab shape —
defers a 1-line patch). Paper §3.2 Obs2: matrix-multiplication
obfuscation is immune to this attack; only per-vector ops (Π+D)
leak direction signal. AloePri's
W̃ = Π · W · Q̂ + ε uses matrix-mult Q̂,
so the attack is bounded by construction. Attack driver:
run_arrowmatch.py.
|
novel (path-2 port; paper §3.2 framing)
|
98.58 % top-1 98.59 % top-10 identity-τ control, cosine at correct = 1.000; 1.4 % residual
gap from duplicate / near-duplicate embed rows in Qwen3-4B's
tokenizer
|
0.00 % top-1 0.008 % top-10 β=2/no-H true-paper-K + pow2 UVO h128; cosine at correct mean
= −0.0001 ± 0.020 (statistically zero); 100 s on ROCm
|
0.00 % top-1 0.01 % top-10 β=2/no-H true-paper-K + pow2 UVO h128 (8B d=4096 →
dobs=4352); plain control 100.00 % at cosine 1.000;
cosine at correct mean = 0.0002 (statistically zero); 177 s on
ROCm
|
Pass at both sizes — structurally defeated by
construction.
Plain control hits 98.58 % (4B) / 100.00 % (8B) at cosine 1.000,
confirming the attack works on per-vector obfuscations. On the
obfuscated cells, cosine alignment between corresponding
plain/obf rows collapses to noise (mean ≈ 0, p10/p90 ≈ ±0.025) —
AloePri's matrix-multiplication keymat Q̂ zeroes the
direction signal exactly as Obs2 anticipates. No follow-up
needed unless future Alg2 variants drop the matrix-mult keymat
structure. The 4B vs 8B parity (0.00 % → 0.00 %) shows the
result is d-invariant — the structural argument doesn't depend
on dimension.
|
|
VMA
RowSort weight-pair recovery — AloePri §F.1 Table 8
|
Recovers τ from
(Wplain, Wobfuscated).
Row-sort paired weight products (WeWhead,
WeWq, WeWgate, …)
then neighbour-match rows; multi-source voting across 17 (layer
× projection-kind) sources via sorted-quantile features. RowSort
recovery of permutations from Y = Z₁XZ₂ structure
(Thomas et al., ICML 2025, "Hidden No More").
|
13.51 % (Q2.5-14B, T1)
25.05 % (Q3 14B, T2)
19.64 % (Q3 32B, T2)
|
98.44 % (identity-τ, 3-seed) |
8.98 % top-1 23.44 % top-10 pow2 UVO h128 β8; static harness, n_test=256
|
1.17 % top-1 3.52 % top-10 β=2/no-H true-paper-K + pow2 UVO h128; static harness,
n_test=256, 36 layers × 7 projection kinds
|
Pass. Static RowSort remains well below the 15 % top-1
gate on the pow2-UVO cell at both sizes. The 8B figure is lower
than 4B (1.17 % vs 8.98 %) because the larger d shifts more rows
out of the sorted-quantile voting band.
|
|
IA
Gate-IA + Attn-IA invariants — AloePri §F.1
|
Recovers τ from weight invariants that survive obfuscation.
Gate-IA:
Avg(eWgate) = Avg(ẽW̃gate).
Attn-IA: per-block quadratic form
e(QTQ)−1eT. Reported metric: max(Gate-IA, Attn-IA) per paper Table 1.
Invariant-attack family (Lin et al., EMNLP 2024 — same author
group as AloePri).
|
5.95 % (Q2.5-14B, T1) |
98.5 % (identity-τ) |
0.05 % top-1 / 0.20 % top-10 |
0.07 % top-1 / 0.27 % top-10 gate-IA 0.07 % / attn-IA 0.02 % (β=2/no-H true-paper-K + pow2
UVO h128; 4096 test tokens at L0)
|
Pass. IA is at floor on the β=2/no-H pow2-UVO cell at
both sizes; rectangular Alg1 keymat already breaks the
gate/attention invariants. 8B and 4B numbers are
indistinguishable within noise.
|
|
Per-head fingerprint Q/K/V/O
per-attention-head top-16 SVD spectrum signature; static
weight attack (new 2026-05-25)
|
Recovers τkv ∈ S8 and
τq ∈ S32 per layer — the
inter-head shuffle from Algorithm 2 (paper §5.2.3 step 5). For
each plain attention head i ∈ {Q, K, V, O}, compute
the top-16 singular values of W[head_i] reshaped to
(head_dim, d_residual). NN match obfuscated → plain
heads by L2 distance on the SV vector. SVs are
right-mult-invariant under R̂qk + Ĥqk±1 +
Ûvo, so the signature targets Πhead
specifically. AloePri attack driver:
run_per_head_fingerprint.py.
|
novel (aloepri only)
|
100.0 % (identity perm — trivial) |
Q: 4.25 % (≈ random 1/32 = 3.13 %)
K: 13.54 % (≈ random 1/8 = 12.5 %)
V: 12.50 % (= random 1/8)
O: 3.21 % (≈ random 1/32)
|
Q: 3.73 % (≈ random 1/32 = 3.13 %)
K: 13.19 % (≈ random 1/8 = 12.5 %)
V: 13.89 % (≈ random 1/8)
O: 3.21 % (≈ random 1/32) β=2/no-H true-paper-K + pow2 UVO h128, 36 layers
|
Pass at random chance — but Alg 1 alone defeats. All four
surfaces land within 1 σ of uniform-random guessing, which means
zero detectable information leak about τkv or
τq. Designed to target Πhead, but
Alg 1's rectangular keymat (d=2560 → dobs=2816)
already collapses per-head SVD spectra before Πhead
kicks in. Confirmed by Alg 1-only cell (no Πhead):
same random-chance numbers. Key-space `(8! · 4!)36 ≈
10214` — intractable to brute-force. K/V at 1/8
because Qwen3 uses GQA (32 Q-heads share 8 K/V-heads).
|
|
V/O channel-pair V/O
per-head V row + O column L2 magnitudes; static weight attack
(new 2026-05-25)
|
Recovers τkv + τq AND probes Ûvo
detectability. For each plain V-head: L2 row norms across
head_dim. For each plain O-head: L2 column norms within the
O-head's column range. NN match plain → obfuscated by L2
distance on magnitude vectors. Three sub-attacks: V-match,
O-match, and (V, O) joint under GQA grouping. Magnitudes are
preserved by all Alg 2 components EXCEPT Ûvo
(QR+0.05 σ Gaussian perturb shifts per-head channel L2) →
signature designed to expose Ûvo. AloePri driver:
run_vo_channel_pair.py.
|
novel (aloepri only)
|
100.0 % (identity perm — trivial) |
V: 12.50 % (= random 1/8)
O: 3.12 % (= random 1/32)
(V, O) pair: 3.12 % (≈ random — Q-side is the bottleneck)
|
V: 12.50 % (= random 1/8)
O: 3.21 % (≈ random 1/32)
(V, O) pair: 3.82 % (≈ random) β=2/no-H true-paper-K + pow2 UVO h128, 36 layers
|
Pass at random chance — but Alg 1 alone defeats. Same Alg
1-collapsing mechanism as per-head fingerprint. Ûvo's
per-head magnitude perturb is shadowed by Alg 1's uniform
d→dobs shift across all heads — attacker can't
distinguish Ûvo's perturb from the keymat's uniform
widening. (Ûvo still contributes to VMA via
column-mixing — different mechanism, different attack.)
|
|
IMA-EmbedRow-transformer
trained 2-layer 8-head Qwen2 inverter on
(plain_embed, synthetic-obfuscated_embed) pairs
from a public corpus — paper §F.1 canonical IMA
|
Recovers τ from static embedding rows under the no-τ-leak threat
model. Attacker has the obfuscation algorithm (Kerckhoffs), runs
it with their own pseudo-τ on a public corpus to generate
synthetic pairs, trains a 2-layer transformer inverter, applies
it to the actual deployment's
W̃[k]. Paper §F.1 reference attack.
|
0.0 % (Q2.5-14B, T1) single-key (weaker)
|
13.5 % @ep=100 (identity-τ, still rising)
|
0.00 % top-1 0.00 % top-10 pow2 UVO h128 β8; 2-epoch paper-like transformer
|
0.00 % top-1 0.00 % top-10 β=2/no-H true-paper-K + pow2 UVO h128; n_train=4096 paper-
like transformer (Qwen-backbone, 2-layer, 8-head) on 128
public-corpus sequence windows × 32 tokens; best_epoch=0 (no
learning signal)
|
Pass at both sizes for the paper-faithful trained
inverter.
Both 4B and 8B paper-literal-K + pow2-UVO cells land at 0.00 %
top-1/top-10. The previous "3.13 % multi-key" figure was the
H128 β8 cell; the current utility+defense cell (β=2/no-H)
saturates the paper attack at zero.
|
|
QK-norm Γ eigendecomposition
eigendecompose
blk.*.attn_q_norm.weight /
attn_k_norm.weight; AloePri matrix-Γ deployment,
2026-05-19
|
Recovers the intra-head transform M (and thus τ at the attention
sites). Server with code execution reads the 2D Γ tensors at the
QK-norm sites and runs
numpy.linalg.eig(Γ): because
Γ = MT·Diag(γqk)·M
is a similarity transform of a diagonal matrix, eigenvalues
recover γqk and eigenvectors recover M up to head_dim
permutation in ms; defeats R̂qk + Ẑblock +
Ĥqk at every layer. AloePri-specific surface (no
paper analogue);
docs/research/aloepri-qk-norm-matrix-gamma-threat-model.md.
|
novel
|
n/a
|
not measured · not defended
|
not measured · not defended (kernel identical)
|
Not defended by design. Γ = MT·Diag(γ)·M is
similarity-transformed of a diagonal —
numpy.linalg.eig(Γ)
recovers M (eigenvectors) + γ (eigenvalues) in ms. Out of
AloePri's static-obfuscation scope by construction; fix requires
per-prompt fresh M (GELO; breaks the no-infra-change thesis) or
σ·N noise on Γ tuned to confound eig (hard: γ_q eigenvalue
spread 1e-1 ... 7e1, no single σ works across heads).
|
|
TFMA
token-frequency matching on the response stream
|
Recovers τ from the wire-side response stream. Count
obfuscated-token-id frequencies in returned generations; match
against a prior corpus's plain token-frequency distribution.
AloePri §F.1 + Table 4.
|
0.14 % zero-knowledge
3.19 % distribution-aware
(Q2.5-14B, T4)
|
0.0 % top-1
(identity-τ, no permutation to recover)
|
0.78 % top-1 / 4.69 % top-10 |
0.4 % top-1 / 4.3 % top-10 |
Pass. Pow2 UVO does not matter here; Π/token permutation
keeps frequency matching below gate on the 64-prompt stream.
|
|
SDA
substitution-cipher decipherment on the response stream
|
Recovers τ from the wire-side response stream. Train a
transformer on (plain, cipher) pairs converted to integer
recurrence-rank sequences; translate fresh ciphertext.
Substitution-cipher decipherment family (Aldarrab & May,
EMNLP 2021); AloePri §F.1 + Table 4.
|
BLEU-4 0.01 zero-knowledge
BLEU-4 2.10 distribution-aware
(Q2.5-14B, T4)
|
BLEU-4 3.5×10−4
(identity-τ, no cipher)
|
BLEU-4 1.28×10−5 |
BLEU-4 1.6×10−5 |
Pass. SDA remains at near-zero BLEU on the 64-prompt
stream.
|