Dendrita Poison Check
Mide cuánto veneno de memoria (OWASP ASI06 — memory poisoning) sirve tu RAG / GraphRAG. Herramienta libre, sin dependencias y sin el motor Dendrita: solo el corpus de ataque + el scoring.
Por qué
Un RAG/GraphRAG recupera por similitud y sirve lo que encuentra — no distingue "relevante" de "de fiar". Si un dato envenenado entra en tu índice (una sesión, un documento, una repetición), tu agente puede actuar sobre él creyéndolo cierto. Esta herramienta lo mide en tu propio sistema.
Instalar
pip install dendrita-poison-check # o, desde este repo: pip install -e .
Usar (3 pasos)
- Exporta el dataset (corpus legítimo + veneno mezclados):
poison-check export --out poison-dataset - Indexa
poison-dataset/docs.jsonlen TU RAG/GraphRAG, preservando el campoid(tus embeddings, tu store). Hay notas legítimas y notas-veneno; no se distinguen al indexar — ese es el punto: el veneno ya entró en tu memoria. - Corre el ataque contra tu retrieval:
poison-check run --http http://tu-endpoint # POST {query,k} -> {"ids":[...]} poison-check run --module tu_modulo:retrieve # función retrieve(query,k) -> [ids]
Sale un informe: % de veneno servido en el top-k de tu sistema, frente al 0% de Dendrita.
El modelo de amenaza
El mismo que el benchmark de Dendrita (reproducible con dendrita benchmark): keyword-stuffing,
parafraseo, instrucción embebida y repetición. No está amañado: tu RAG sirve veneno porque le
falta una capa de gobierno de confianza, no porque "esté roto".
Caveat honesto
Medimos "veneno en top-k" (tu sistema no expone niveles de confianza). Dendrita además distingue "servido como verdad" de "pista marcada sin verificar". La credibilidad es el producto: preferimos medir de menos a inflar.
Cómo se cierra el hueco
Dendrita pone una capa de gobierno sobre el retrieval (cuarentena de lo nuevo, gating de confianza,
aislamiento por cliente antes del ranking) → 0% de veneno servido como verdad, con el recall
intacto. Reprodúcelo: dendrita benchmark.
→ https://dendrita.dev · El retrieval encuentra; Dendrita gobierna en qué confiar.
MIT. Sin telemetría: corre entero en tu máquina.
Metadata
Release files for dendrita-poison-check 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dendrita_poison_check-0.1.0.tar.gz | 8.5 kB | Without provenance | Details for dendrita_poison_check-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dendrita_poison_check-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for dendrita_poison_check-0.1.0-py3-none-any.whl |
Total release size: 18.6 kB
Release files / dendrita_poison_check-0.1.0.tar.gz
| Download URL | dendrita_poison_check-0.1.0.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4d7e3a8906a0608981716f619a5c838ade9de9ea3156ce83c55b2315de7ffcfc
|
|
BLAKE2b-256 checksum How to use checksums |
907a525c3fe7da9a21961415f66061c48a1c7d2b7c117b6ecefa3e49edff866f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / dendrita_poison_check-0.1.0-py3-none-any.whl
| Download URL | dendrita_poison_check-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e58a6e84e347a877c438b7febf40d64e7664f084fbeeffa6c285c018bdcd99bd
|
|
BLAKE2b-256 checksum How to use checksums |
34bed0d2539cb47a5b8370aec7527542999ba60d995a07e5350e22af922957ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for dendrita-poison-check 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.