Skip to main content

Test any LLM against the Bordair multimodal prompt injection dataset (503K+ labeled samples)

Project description

Bordair CLI

Test any LLM against the Bordair multimodal prompt injection dataset - 503,358 labeled samples from 40+ academic papers, CVE reports, and competition datasets.

Install

One-liner (installer auto-detects Python or Node):

curl -sSL https://bordair.io/install.sh | bash

Or directly:

# Python
pip install bordair

# Node (feature-equivalent)
npm install -g bordair

Quickstart

# Check dataset stats
bordair stats

# Run 100 text-only attacks against GPT-4o-mini
bordair eval \
  --url https://api.openai.com/v1/chat/completions \
  --key $OPENAI_API_KEY \
  --model gpt-4o-mini \
  --limit 100 \
  --parallel 10

# Test a local Ollama instance
bordair eval \
  --url http://localhost:11434/v1/chat/completions \
  --key ollama \
  --model llama3.1 \
  --modality text \
  --category direct_override \
  --limit 50

# Test Anthropic's native API
bordair eval \
  --url https://api.anthropic.com/v1/messages \
  --key $ANTHROPIC_API_KEY \
  --model claude-sonnet-4-5 \
  --provider anthropic \
  --limit 100

# Include benign samples to measure false-positive rate
bordair eval \
  --url https://api.openai.com/v1/chat/completions \
  --key $OPENAI_API_KEY \
  --model gpt-4o-mini \
  --include-benign \
  --limit 100 \
  --output results.json

# Compare two runs
bordair compare results_before.json results_after.json

Options

--url              API endpoint URL (OpenAI-compatible by default)
--key              API key (or set BORDAIR_API_KEY)
--model            Model name (gpt-4o-mini, claude-sonnet-4-5, llama3.1, etc.)
--provider         openai | anthropic (default: openai)
--modality         text, text+image, text+document, text+audio, triple, etc.
--category         Filter to specific attack category (see `bordair list categories`)
--version          Filter to v1, v2, v3, v4, or v5
--limit            Max payloads to test (default: 100)
--parallel         Concurrent requests (default: 10)
--timeout          Request timeout in seconds (default: 60)
--max-tokens       Max response tokens (default: 512)
--system-prompt    Optional system prompt (tests application-layer injection)
--include-benign   Run benign samples to measure false-positive rate
--output           Write full results JSON to this path

What it does

  1. Downloads the dataset from HuggingFace on first run (~50MB, cached at ~/.cache/bordair/)
  2. Sends the selected attack payloads to your target LLM endpoint with the specified parallelism
  3. Judges each response using category-specific heuristics (compliance prefix, system prompt leak, exfiltration URL echo, tool call patterns, etc.)
  4. Reports Attack Success Rate (ASR) by category
  5. Optionally measures false-positive rate on benign samples

Supported providers

Any OpenAI-compatible API works out of the box:

  • OpenAI (https://api.openai.com/v1/chat/completions)
  • Anthropic via OpenAI-compatible shim, or use --provider anthropic for native API
  • Azure OpenAI
  • Groq (https://api.groq.com/openai/v1/chat/completions)
  • Together AI
  • Fireworks
  • Ollama (http://localhost:11434/v1/chat/completions)
  • LM Studio (http://localhost:1234/v1/chat/completions)
  • vLLM
  • Any other OpenAI-compatible endpoint

Categories

55+ attack categories across 5 versions. See full list:

bordair list categories

Highlights:

  • v1: direct override, exfiltration, DAN jailbreak, authority impersonation, encoding obfuscation
  • v2: GCG adversarial suffixes, AutoDAN, Crescendo multi-turn, PAIR, TAP, Skeleton Key
  • v3: indirect injection, tool call injection, homoglyph/unicode, code-switch, ASCII art
  • v4: computer use injection, memory poisoning, MCP tool injection, reasoning token injection, BEAST suffixes
  • v5: reasoning DoS, video generation jailbreak, VLA robotic, LoRA supply chain, audio-native LLM, serialization boundary RCE (CVE-2025-68664)

Dataset

License

MIT

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

bordair-0.1.1.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

bordair-0.1.1-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file bordair-0.1.1.tar.gz.

File metadata

  • Download URL: bordair-0.1.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for bordair-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ad195feadf5adde3a8fc72fa74f10e6ad43110cbef9dafccf6540f89a5fe1cd5
MD5 915b9a1cae1ed900b1e6290abe30c9b3
BLAKE2b-256 4fd6bde11c603d607e44bad4138b85fb4599d016b0b151f59f1c4b79e00275dc

See more details on using hashes here.

File details

Details for the file bordair-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: bordair-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for bordair-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b8f9804ec810b83a4fb0644a8bf9d942c5982bb63f596c9440b85e27dea6bf8c
MD5 43d6bf06c7241759690ca85819f57805
BLAKE2b-256 d17b056462bf6d1f5ee3484517f070cf9e991dc3484867078771c76e288c5a27

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