nest is maintained by hoff research. author: brenner cruvinel.
only the latest minor on main is supported.
| version | status |
|---|---|
| 0.2.x | supported |
| 0.1.x | not supported, please upgrade |
do not open a public github issue for security vulnerabilities.
use one of:
- private vulnerability report: https://github.com/hoffresearch/nest/security/advisories/new
- email: brenner@hoffresearch.com
we aim to acknowledge within 72 hours and to publish a fix or mitigation within 14 days for confirmed reports. coordinated disclosure preferred; we credit reporters who request it.
things we treat as security bugs:
- malformed
.nestfiles that trigger UB / OOB / panic in the rust runtime - a citation collision (two distinct chunks producing the same
chunk_id) - a
content_hashcollision under the v1 hash domain separation - a path that bypasses
model_hashvalidation innest search-textwithout the user passing--skip-model-hash-check - secrets or credentials accidentally committed to the repository
things we do not treat as security bugs:
- low recall on a particular corpus
- HNSW recall under user expectation (configuration tuning, see
--ef) - BM25 tokenizer degrading on CJK / thai / lao (documented limitation, see
AGENTS.mdknown gaps) - compressed vs raw size differences
- vulnerabilities in upstream sentence-transformers / huggingface stack; report those upstream first
- weaknesses in the embedding model itself (false positives, biased recall)
- configuration choices made by the operator (e.g. building a corpus with the placeholder
model_hashand using--skip-model-hash-check)
- the
.nestfile_hashandcontent_hash(nest stats <file>prints both) - the runtime
simd_backendand platform (nest stats) - the exact CLI or python invocation
- a minimal reproducer if possible (a synthetic
.nestis fine, seecrates/nest-format/tests/fixtures/) - whether you have a proposed mitigation
- the runtime never opens a network socket. queries are answered from
mmap. model_hashis a granular fingerprint over the local model snapshot (config + tokenizer + weights + pooling + dim + normalize). a mismatch fails with a typed error, never silently.unsafeis concentrated in the SIMD dispatcher (crates/nest-runtime/src/simd/) and the mmap reader (crates/nest-runtime/src/mmap_file.rs). everyunsafeblock carries a// SAFETY:comment documenting the invariant.- binary releases of
nest-cliare not yet signed. signed tags are on the v0.3 backlog.