Red Team testing for functional correctness of RAG systems under attack conditions.
Project description
VexRAG
A toolkit for assessing the functional correctness of retrieval-augmented generation (RAG) systems under attack conditions.
Sample RAG stacks for getting started: RAG examples.
Quickstart
1) Install
pip install vexrag
For vector DB-specific extras:
pip install "vexrag[qdrant]"
pip install "vexrag[chroma]"
pip install "vexrag[faiss]"
2) Verify installation
vx --help
3) Run a scan from config
vx run --config path/to/scan.yml
Use sample configs from RAG examples/ as a starting point.
Publish to PyPI
Prerequisites
- PyPI account and a project token
- Clean git working tree
- Version bump in
pyproject.toml([project].version)
Build and validate
python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
Upload
TestPyPI (recommended first):
python -m twine upload --repository testpypi dist/*
Production PyPI:
python -m twine upload dist/*
Set token via env var:
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="pypi-***"
Project roadmap
Canonical checklist: notes/TODO.md.
Done
- Small RAG (in-memory)
- PoisonedRAG target scan pipeline with core target, scan, and evaluation contracts
- PoisonedRAG CLI scan flow wired from YAML config with multi-context poisoning runs
- Core package facade exports clarified for shared APIs
- StackOverflow XML/TSV to Qdrant ingestion scripts for large dataset indexing
- PoisonedRAG generation improvements: poisoning styles, corpusN payloads, and query-prefixed adversarial outputs
- Automatic attack case generation and consolidated example scan configs
- HijackRAG attack support with CLI
generate-cases - vLLM target/provider support for scan execution
- Core modularization for config/retrieval/runtime
In Progress
- PoisonedRAG hardening: broaden scenario coverage, stabilize metrics, and add end-to-end validation runs
- Medium RAG examples stabilization across vector DB backends and multi-attack eval flow
Next
- Finalize full end-to-end runnable demo for the huge StackOverflow + Qdrant pipeline
- Promote selected
wipmilestones to stable feature/documented workflow status
Ideas / Backlog
- Red-team testing methods for API-interacting RAG services (local RAG targets)
- Red-team testing methods for the VexRAG CLI (local RAG targets)
Project details
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 vexrag-0.1.0.tar.gz.
File metadata
- Download URL: vexrag-0.1.0.tar.gz
- Upload date:
- Size: 130.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e829b5ff6d5f01f861873bc233b92c22758b97bac8cafdd7c960d30ff9dfa43
|
|
| MD5 |
82d5a4ac67e8fa357240eb78b7dad5f7
|
|
| BLAKE2b-256 |
632e5b91115bc9c0be84aadd334d4b2b552dc421b14488b84f837b65e2af9559
|
File details
Details for the file vexrag-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vexrag-0.1.0-py3-none-any.whl
- Upload date:
- Size: 148.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85694ffbd3c825ddd4888be73730c9abb0788b594e1c704173be7f134b7db121
|
|
| MD5 |
e0ecdb3350b935fa30fa7df8dfa4fd68
|
|
| BLAKE2b-256 |
6d540c837610aea2b1e517b0fd5a3519dbfcbbbbca9e3415b073b0d563bda327
|