Mide cuánto veneno de memoria (OWASP ASI06) sirve tu RAG/GraphRAG. Libre, sin dependencias.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dendrita_poison_check-0.1.0.tar.gz.
File metadata
- Download URL: dendrita_poison_check-0.1.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d7e3a8906a0608981716f619a5c838ade9de9ea3156ce83c55b2315de7ffcfc
|
|
| MD5 |
c460bf3701aee7843ac075c3c338209f
|
|
| BLAKE2b-256 |
907a525c3fe7da9a21961415f66061c48a1c7d2b7c117b6ecefa3e49edff866f
|
File details
Details for the file dendrita_poison_check-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dendrita_poison_check-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e58a6e84e347a877c438b7febf40d64e7664f084fbeeffa6c285c018bdcd99bd
|
|
| MD5 |
577c86ab9a76e81ff3e78a749b1b72b5
|
|
| BLAKE2b-256 |
34bed0d2539cb47a5b8370aec7527542999ba60d995a07e5350e22af922957ba
|