You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prepare for v0.1.0 release: README, CHANGELOG, CITATION, runbook
Release prep that doesn't itself ship a tag --- the actual cut follows
RELEASING.md and bumps the version fields in pyproject.toml and
rust/Cargo.toml when ready to publish.
README.md
Add Rust quick-start alongside Python so the byte-compatible-port
story is visible from the front page; pull in the Zenodo DOI badge
and a citation block pointing at the companion preprint
(10.5281/zenodo.20058256); fix two GitHub org links that pointed
at thirdkey/ rather than ThirdKeyAI/; soften the
Isolation-Forest-as-defense paragraph to match the paper's tighter
framing (catches distribution-shifting attacks but not rotation;
brittle against adaptive attackers).
CHANGELOG.md
New file. Documents v0.1.0 in the Keep-a-Changelog format.
CITATION.cff
CFF v1.2.0 with the preprint DOI in the references block. GitHub
auto-renders this in the right-rail "Cite this repository" widget.
RELEASING.md
New runbook with the pre-release checklist, version-bump locations
(pyproject.toml, rust/Cargo.toml, CITATION.cff), tagging steps,
PyPI/crates.io publish commands, and a yank procedure. Includes
the test-vector drift check as a release gate.
scripts/generate_test_vectors.py
Lint cleanup (timezone import path, line length). Output is
byte-identical to the committed fixtures.
Vector databases are the new soft underbelly of the AI stack. Models trust them. Agents query them. Compliance audits don't yet ask about them. VectorPin pins every embedding to its source content and the model that produced it, then continuously verifies the store has not been tampered with — including covert steganographic modifications invisible to traditional DLP.
10
12
11
-
Part of the [ThirdKey](https://thirdkey.ai) Trust Stack, alongside [Symbiont](https://github.com/thirdkey/symbiont) (policy-governed agent runtime) and [SchemaPin](https://github.com/thirdkey/schemapin) (cryptographic tool verification).
13
+
Part of the [ThirdKey](https://thirdkey.ai) Trust Stack, alongside [Symbiont](https://github.com/ThirdKeyAI/Symbiont) (policy-governed agent runtime) and [SchemaPin](https://github.com/ThirdKeyAI/SchemaPin) (cryptographic tool verification).
12
14
13
15
## Why this matters
14
16
@@ -18,7 +20,7 @@ Modern RAG systems convert sensitive content into high-dimensional vectors and s
18
20
- Don't verify integrity on read
19
21
- Treat embeddings as opaque numerical artifacts
20
22
21
-
That's a giant attack surface. The [VectorSmuggle](https://github.com/jaschadub/VectorSmuggle) research project demonstrates that an attacker with write access to a vector pipeline can hide arbitrary data inside embeddings using techniques that pass standard observability:
23
+
That's a giant attack surface. The companion [VectorSmuggle](https://github.com/jaschadub/VectorSmuggle) research project demonstrates that an attacker with write access to a vector pipeline can hide arbitrary data inside embeddings using techniques that pass standard observability:
22
24
23
25
- Noise injection, rotation, scaling, and offset perturbations
24
26
- Cross-model fragmentation
@@ -28,6 +30,8 @@ Cryptographic pinning is the kill shot for these attacks. Every steganographic t
The Python and Rust implementations are byte-for-byte compatible. A pin produced by either side verifies on both, enforced by shared test vectors at [`testvectors/v1.json`](testvectors/) consumed in both test suites.
In the VectorSmuggle empirical study, this single line of defense flagged every operating point of every steganographic technique that hides a non-trivial amount of data, with TPR@1%FPR ≥ 0.79 for all noise-based attacks.
167
+
In the VectorSmuggle empirical study, this single line of defense flagged every operating point of every distribution-shifting steganographic technique that hides a non-trivial amount of data — but it does not catch orthogonal rotation (which preserves every density feature the detector fits on) and is brittle against attackers who know the detector. Cryptographic pinning is the durable layer; statistical detection is defense-in-depth.
132
168
133
169
## Threat model
134
170
@@ -146,15 +182,32 @@ VectorPin does **not** defend against:
146
182
147
183
## Status
148
184
149
-
Alpha. Core protocol (`Pin`, `Signer`, `Verifier`) is stable and tested. Adapter coverage is partial. Hosted attestation service is not yet available.
185
+
Alpha (`v0.1`). Core protocol (`Pin`, `Signer`, `Verifier`) is stable and tested. Python and Rust ports are byte-for-byte compatible and locked together by shared test vectors in CI. Adapter coverage is partial. Hosted attestation service is not yet available.
186
+
187
+
The protocol version field (`v: 1`) lets future revisions break compatibility cleanly. We will not break existing pins without bumping the major version. See [`docs/spec.md`](docs/spec.md) for the wire-format specification.
188
+
189
+
## Citation
150
190
151
-
The protocol version field (`v: 1`) lets future revisions break compatibility cleanly. We will not break existing pins without bumping the major version.
191
+
If you reference VectorPin or the threat model it defends against, please cite the companion preprint:
192
+
193
+
> Wanger, J. (2026). *VectorSmuggle: Steganographic Exfiltration in Embedding Stores and a Cryptographic Provenance Defense*. Zenodo. <https://doi.org/10.5281/zenodo.20058256>
194
+
195
+
```bibtex
196
+
@misc{wanger2026vectorsmuggle,
197
+
title = {{VectorSmuggle}: Steganographic Exfiltration in Embedding Stores and a Cryptographic Provenance Defense},
-[Symbiont](https://github.com/thirdkey/symbiont) — policy-governed agent runtime; consumes VectorPin attestations to enforce "agents may only retrieve from verified vector stores."
157
-
-[SchemaPin](https://github.com/thirdkey/schemapin) — sister project doing the same kind of cryptographic provenance for tool schemas in MCP.
208
+
-[VectorSmuggle](https://github.com/jaschadub/VectorSmuggle) — companion threat-research project demonstrating the attacks VectorPin defends against. Empirical results in the linked Zenodo preprint.
209
+
-[Symbiont](https://github.com/ThirdKeyAI/Symbiont) — policy-governed agent runtime; consumes VectorPin attestations to enforce "agents may only retrieve from verified vector stores."
210
+
-[SchemaPin](https://github.com/ThirdKeyAI/SchemaPin) — sister project doing the same kind of cryptographic provenance for tool schemas in MCP.
158
211
-[sigstore](https://www.sigstore.dev/) — inspired our approach to OSS-friendly cryptographic provenance.
0 commit comments