Skip to main content

Red Team testing for functional correctness of RAG systems under attack conditions.

Project description

VexRAG

Project: in development

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 wip milestones 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

vexrag-0.1.0.tar.gz (130.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vexrag-0.1.0-py3-none-any.whl (148.8 kB view details)

Uploaded Python 3

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

Hashes for vexrag-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6e829b5ff6d5f01f861873bc233b92c22758b97bac8cafdd7c960d30ff9dfa43
MD5 82d5a4ac67e8fa357240eb78b7dad5f7
BLAKE2b-256 632e5b91115bc9c0be84aadd334d4b2b552dc421b14488b84f837b65e2af9559

See more details on using hashes here.

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

Hashes for vexrag-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85694ffbd3c825ddd4888be73730c9abb0788b594e1c704173be7f134b7db121
MD5 e0ecdb3350b935fa30fa7df8dfa4fd68
BLAKE2b-256 6d540c837610aea2b1e517b0fd5a3519dbfcbbbbca9e3415b073b0d563bda327

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page