Vulnerability Oriented Red-teaming for AI Knowledge
Project description
Vorak: Vulnerability Oriented Red-teaming for AI Knowledge
Vorak is a Python framework for systematically evaluating the security posture and ethical alignment of Large Language Models (LLMs). It enables adversarial testing, automated red-teaming, and structured vulnerability assessments to help researchers, developers, and enterprises identify and mitigate risks in generative AI systems.
Table of Contents
- Features
- Installation
- Quick Start
- Configuration
- Usage
- Project Structure
- Contributing
- License
- Citation
Features
- LLM-Powered Evaluation – Leverages evaluator LLMs to classify, score, and explain model behavior.
- Multi-Provider Support – Compatible with Gemini, OpenRouter, Anthropic, OpenAI, and custom APIs.
- Adversarial Prompt Libraries – Run curated or custom adversarial test suites at scale.
- Batch & Automated Testing – Evaluate multiple models, prompts, or categories in a single run.
- Risk & Alignment Reporting – Export structured outputs as PDF, JSON, or CSV for audits and dashboards.
- Interactive Web UI – Streamlit-powered sandbox for interactive testing and visualization.
Installation
Install the latest release from PyPI:
pip install vorak
For development setup (cloning and local installation):
git clone https://github.com/ruchirk22/vorak.git
cd vorak
pip install -r requirements.txt
pip install -e .
Quick Start
For help regarding all commands:
vorak --help
vorak [COMMAND] --help #for specific command-related help
Run a single prompt evaluation:
vorak evaluate --model "openrouter/google/gemma-2-9b-it:free" --prompt-id "JBR_001"
Run a batch evaluation across categories:
vorak batch-evaluate --category "Jailbreaking_Role-Playing" \
--model "gemini-1.5-flash-latest" \
--output-json results.json
Configuration
Vorak uses environment variables for model provider authentication. Create a .env file in the project root:
GEMINI_API_KEY=your_gemini_api_key
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
Usage
Command-Line Interface
View available commands:
vorak --help
Web Interface
Launch the interactive Streamlit UI:
streamlit run vorak/web_interface/Home.py
Project Structure
vorak/ # Core framework
├── cli.py # CLI entrypoint
├── agents/ # Attack agents
├── core/ # Evaluators, connectors, analyzers
├── prompts/ # Prompt libraries
└── web_interface/ # Streamlit-based UI
.tests/ # Unit tests
.github/workflows/ # CI/CD configs
pyproject.toml # Build configuration
requirements.txt # Dependencies
CONTRIBUTING.md # Contribution guidelines
LICENSE # License
README.md # Documentation
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
Vorak is licensed under the Apache 2.0 License.
Citation
If you use Vorak in your research, security assessments, or publications, please cite:
@software{vorak,
author = {Ruchir Kulkarni},
title = {Vorak: Vulnerability Oriented Red-teaming for AI Knowledge},
year = {2025},
publisher = {PyPI},
url = {https://pypi.org/project/vorak/}
}
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 vorak-1.0.2.tar.gz.
File metadata
- Download URL: vorak-1.0.2.tar.gz
- Upload date:
- Size: 49.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fc6db9550b85d4f3fb184f05b34937c5f15b68d8b7d019378075a7ac019f0e5
|
|
| MD5 |
aa54f3a2e068bee6a9f1441b60010b49
|
|
| BLAKE2b-256 |
739327d5a885167ff7887c9530745ad579d3353e1bd66e223b945774e1b78855
|
File details
Details for the file vorak-1.0.2-py3-none-any.whl.
File metadata
- Download URL: vorak-1.0.2-py3-none-any.whl
- Upload date:
- Size: 51.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
494451287374fd36923a66c3cd114d667ae8a556f023bd7997d5defc1986ae85
|
|
| MD5 |
22f98d8ff436400095e5fa7df22660ec
|
|
| BLAKE2b-256 |
2bb8c6596c5bb4383543b6158ac2a2d1aee7881e202d852b40aa03641c2185ae
|