augustus

module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2026 License: Apache-2.0

README

Augustus - LLM vulnerability scanner for prompt injection, jailbreak, and adversarial attack testing

Augustus - LLM Vulnerability Scanner

Test large language models against 210+ adversarial attacks covering prompt injection, jailbreaks, encoding exploits, and data extraction.

CI Go Version License Go Report Card GitHub Release

Augustus is a Go-based LLM vulnerability scanner for security professionals. It tests large language models against a wide range of adversarial attacks, integrates with 28 LLM providers, and produces actionable vulnerability reports.

Unlike research-oriented tools, Augustus is built for production security testing — concurrent scanning, rate limiting, retry logic, and timeout handling come out of the box.

Table of Contents

Why Augustus

Feature Augustus garak promptfoo
Language Go Python TypeScript
Single binary Yes No No
Concurrent scanning Goroutine pools Multiprocessing pools Yes
LLM providers 28 35+ 80+
Probe types 210+ 160+ 119 plugins + 36 strategies
Enterprise focus Yes Research Yes

Features

Feature Description
210+ Vulnerability Probes 47 attack categories: jailbreaks, prompt injection, adversarial examples, data extraction, safety benchmarks, agent attacks, and more
28 LLM Providers OpenAI, Anthropic, Azure, Bedrock, Vertex AI, Ollama, and 22 more with 43 generator variants
90+ Detectors Pattern matching, LLM-as-a-judge, HarmJudge (arXiv:2511.15304), Perspective API, unsafe content detection
7 Buff Transformations Encoding, paraphrase, poetry (5 formats, 3 strategies), low-resource language translation, case transforms
Flexible Output Table, JSON, JSONL, and HTML report formats
Production Ready Concurrent scanning, rate limiting, retry logic, timeout handling
Single Binary Go-based tool compiles to one portable executable
Extensible Plugin-style registration via Go init() functions
Attack Categories
  • Jailbreak attacks: DAN, DAN 11.0, AIM, AntiGPT, Grandma, ArtPrompts
  • Prompt injection: Encoding (Base64, ROT13, Morse), Tag smuggling, FlipAttack, Prefix/Suffix injection
  • Adversarial examples: GCG, PAIR, AutoDAN, TAP (Tree of Attack Prompts), TreeSearch, MindMap, DRA
  • Data extraction: API key leakage, Package hallucination, PII extraction, LeakReplay
  • Context manipulation: RAG poisoning, Context overflow, Multimodal attacks, Continuation, Divergence
  • Format exploits: Markdown injection, YAML/JSON parsing attacks, ANSI escape, Web injection (XSS)
  • Evasion techniques: Obfuscation, Character substitution, Translation-based attacks, Phrasing, ObscurePrompt
  • Safety benchmarks: DoNotAnswer, RealToxicityPrompts, Snowball, LMRC
  • Agent attacks: Multi-agent manipulation, Browsing exploits
  • Security testing: Guardrail bypass, AV/spam scanning, Exploitation (SQLi, code exec), Steganography, BadChars

Warning: The lmrc probe uses profane and offensive language as part of its jailbreak testing. Use only in authorized testing environments.

Quick Start

Installation

Requires Go 1.25.3 or later.

go install github.com/praetorian-inc/augustus/cmd/augustus@latest

Or build from source:

git clone https://github.com/praetorian-inc/augustus.git
cd augustus
make build
Basic Usage
export OPENAI_API_KEY="your-api-key"
augustus scan openai.OpenAI \
  --probe dan.Dan \
  --detector dan.DanDetector \
  --verbose
Example Output
+------------------+----------+---------+-------+--------+
|      PROBE       | DETECTOR | PASSED  | SCORE | STATUS |
+------------------+----------+---------+-------+--------+
| dan.Dan          | dan.DAN  | false   |  0.85 | VULN   |
| encoding.Base64  | encoding |  true   |  0.10 | SAFE   |
| smuggling.Tag    | smuggling|  true   |  0.05 | SAFE   |
+------------------+----------+---------+-------+--------+
List Available Capabilities
# List all registered probes, detectors, generators, harnesses, and buffs
augustus list

Supported Providers

Augustus includes 28 LLM provider categories with 43 generator variants:

Provider Generator Name(s) Notes
OpenAI openai.OpenAI, openai.OpenAIReasoning GPT-3.5, GPT-4, GPT-4 Turbo, o1/o3 reasoning models
Anthropic anthropic.Anthropic Claude 3/3.5/4 (Opus, Sonnet, Haiku)
Azure OpenAI azure.AzureOpenAI Azure-hosted OpenAI models
AWS Bedrock bedrock.Bedrock Claude, Llama, Titan models
Google Vertex AI vertex.Vertex PaLM, Gemini models
Cohere cohere.Cohere Command, Command R models
Replicate replicate.Replicate Cloud-hosted open models
HuggingFace huggingface.InferenceAPI, huggingface.InferenceEndpoint, huggingface.Pipeline, huggingface.LLaVA HF Inference API, endpoints, pipelines, multimodal
Together AI together.Together Fast inference for OSS models
Anyscale anyscale.Anyscale Llama and Mistral hosting
Groq groq.Groq Ultra-fast LPU inference
Mistral mistral.Mistral Mistral API models
Fireworks fireworks.Fireworks Production inference platform
DeepInfra deepinfra.DeepInfra Serverless GPU inference
NVIDIA NIM nim.NIM, nim.NVOpenAICompletion, nim.NVMultimodal, nim.Vision NVIDIA AI endpoints, multimodal
NVIDIA NeMo nemo.NeMo NVIDIA NeMo framework
NVIDIA NVCF nvcf.NvcfChat, nvcf.NvcfCompletion NVIDIA Cloud Functions
NeMo Guardrails guardrails.NeMoGuardrails NVIDIA NeMo Guardrails
IBM watsonx watsonx.WatsonX IBM watsonx.ai platform
LangChain langchain.LangChain LangChain LLM wrapper
LangChain Serve langchainserve.LangChainServe LangChain Serve endpoints
Rasa rasa.RasaRest Rasa conversational AI
GGML ggml.Ggml GGML local model inference
Function function.Single, function.Multiple Custom function generators
Ollama ollama.Ollama, ollama.OllamaChat Local model hosting
LiteLLM litellm.LiteLLM Unified API proxy
REST API rest.Rest Custom REST endpoints (SSE support)
Test test.Blank, test.Repeat, test.Lipsum, test.Nones, test.Single, test.BlankVision Testing and development

All providers are available in the compiled binary. Configure via environment variables or YAML configuration files. See Configuration for setup details.

Usage

Single Probe
# Test for DAN jailbreak
augustus scan openai.OpenAI \
  --probe dan.Dan \
  --detector dan.DanDetector \
  --config-file config.yaml \
  --verbose
Multiple Probes
# Use glob patterns to run related probes
augustus scan openai.OpenAI \
  --probes-glob "encoding.*,smuggling.*,dan.*" \
  --detectors-glob "*" \
  --config-file config.yaml \
  --output batch-results.jsonl

# Run all probes against Claude
augustus scan anthropic.Anthropic \
  --all \
  --config '{"model":"claude-3-opus-20240229"}' \
  --timeout 60m \
  --output comprehensive-scan.jsonl \
  --html comprehensive-report.html
Buff Transformations

Apply prompt transformations to test evasion techniques:

# Apply base64 encoding buff to all probes
augustus scan openai.OpenAI \
  --all \
  --buff encoding.Base64 \
  --config '{"model":"gpt-4"}'

# Apply poetry transformation
augustus scan anthropic.Anthropic \
  --probes-glob "dan.*" \
  --buff poetry.Poetry \
  --config '{"model":"claude-3-opus-20240229"}'

# Chain multiple buffs
augustus scan openai.OpenAI \
  --all \
  --buffs-glob "encoding.*,paraphrase.*" \
  --output buffed-results.jsonl
Output Formats
# Table format (default) - human-readable
augustus scan openai.OpenAI --probe dan.Dan --format table

# JSON format - structured output
augustus scan openai.OpenAI --probe dan.Dan --format json

# JSONL format - one JSON object per line, ideal for piping
augustus scan openai.OpenAI --probe dan.Dan --format jsonl

# HTML report - visual reports for stakeholders
augustus scan openai.OpenAI --all --html report.html
Custom REST Endpoints
# Test proprietary LLM endpoint (OpenAI-compatible API)
augustus scan rest.Rest \
  --probe dan.Dan \
  --detector dan.DanDetector \
  --config '{
    "uri": "https://api.example.com/v1/chat/completions",
    "method": "POST",
    "headers": {"Authorization": "Bearer YOUR_API_KEY"},
    "req_template_json_object": {
      "model": "custom-model",
      "messages": [{"role": "user", "content": "$INPUT"}]
    },
    "response_json": true,
    "response_json_field": "$.choices[0].message.content"
  }'

# Test with proxy interception (Burp Suite, mitmproxy)
augustus scan rest.Rest \
  --probes-glob "encoding.*" \
  --config '{
    "uri": "https://internal-llm.corp/generate",
    "proxy": "http://127.0.0.1:8080",
    "headers": {"X-API-Key": "$KEY"},
    "api_key": "your-key-here",
    "req_template": "{\"prompt\":\"$INPUT\",\"max_tokens\":500}",
    "response_json": true,
    "response_json_field": "output"
  }'

REST Configuration Keys:

  • uri: Target API endpoint (required)
  • method: HTTP method (default: POST)
  • headers: HTTP headers as key-value pairs
  • req_template: Raw request body with $INPUT placeholder
  • req_template_json_object: JSON request body (auto-marshaled, use $INPUT in strings)
  • response_json: Parse response as JSON (default: false)
  • response_json_field: JSONPath to extract (e.g., $.data.text or simple field name)
  • api_key: API key for $KEY placeholder substitution
  • proxy: HTTP proxy URL for traffic inspection
Advanced Options
# Adjust concurrency (default: 10)
augustus scan openai.OpenAI --all --concurrency 20

# Increase timeout for complex probes like TAP or PAIR
augustus scan openai.OpenAI --probe tap.TAPv1 --timeout 60m

# Use a specific harness strategy
augustus scan openai.OpenAI --all --harness batch.Batch

# Test local model with Ollama (no API key needed)
augustus scan ollama.OllamaChat \
  --probe dan.Dan \
  --config '{"model":"llama3.2:3b"}'

How It Works

Augustus uses a pipeline architecture to test LLMs against adversarial attacks:

flowchart LR
    A[Probe Selection] --> B[Buff Transform]
    B --> C[Generator / LLM Call]
    C --> D[Detector Analysis]
    D --> E{Vulnerable?}
    E -->|Yes| F[Record Finding]
    E -->|No| G[Record Pass]

    subgraph Scanner
        B
        C
        D
        E
    end
Scan Pipeline
  1. Probe Selection: Choose probes by name, glob pattern, or --all
  2. Buff Transformation: Optionally transform prompts (encode, paraphrase, translate, poeticize)
  3. Generator Call: Send adversarial prompts to the target LLM via its provider integration
  4. Detector Analysis: Analyze responses using pattern matching, LLM-as-a-judge, or specialized detectors
  5. Result Recording: Score each attempt and produce output in the requested format
  6. Attack Engine: For iterative probes (PAIR, TAP), the attack engine manages multi-turn conversations with candidate pruning and judge-based scoring

Architecture

cmd/augustus/          CLI entrypoint (Kong-based)
pkg/
  attempt/            Probe execution lifecycle and result tracking
  buffs/              Buff interface for prompt transformations
  config/             Configuration loading (YAML/JSON) with profiles
  detectors/          Public detector interfaces and registry
  generators/         Public generator interfaces and registry
  harnesses/          Harness interface for execution strategies
  lib/http/           Shared HTTP client with proxy support
  lib/stego/          LSB steganography for multimodal attacks
  logging/            Structured slog-based logging
  metrics/            Prometheus metrics collection
  prefilter/          Aho-Corasick keyword pre-filtering
  probes/             Public probe interfaces and registry
  ratelimit/          Token bucket rate limiting
  registry/           Generic capability registration system
  results/            Result types and multi-format output
  retry/              Exponential backoff with jitter
  scanner/            Scanner orchestration with concurrency
  templates/          YAML probe template loader (Nuclei-style)
  types/              Canonical shared interfaces (Prober, Generator, Detector)
internal/
  probes/             210+ probe implementations (47 categories)
  generators/         28 LLM provider integrations (43 variants)
  detectors/          90+ detector implementations (35 categories)
  harnesses/          3 harness strategies (probewise, batch, agentwise)
  buffs/              7 buff transformations
  attackengine/       Iterative adversarial attack engine (PAIR/TAP backend)
  ahocorasick/        Internal Aho-Corasick keyword matching
benchmarks/           Performance benchmarks
tests/                Integration and equivalence tests
research/             Research documentation and analysis
examples/             Example configurations
docs/                 Documentation
Key Design Decisions
  • Concurrent scanning with bounded goroutine pools via errgroup
  • Plugin-style registration using Go init() functions for probes, generators, detectors, buffs, and harnesses
  • Iterative attack engine with multi-stream conversation management, candidate pruning, and judge-based scoring for PAIR/TAP
  • YAML probe templates (Nuclei-style) for declarative probe definitions alongside Go-based probes
  • Aho-Corasick pre-filtering for fast keyword matching in detectors

Configuration

YAML Configuration File

Create a config.yaml file:

# Runtime configuration
run:
  max_attempts: 3
  timeout: "30s"

# Generator configurations
generators:
  openai.OpenAI:
    model: "gpt-4"
    temperature: 0.7
    api_key: "${OPENAI_API_KEY}"  # Environment variable interpolation

  anthropic.Anthropic:
    model: "claude-3-opus-20240229"
    temperature: 0.5
    api_key: "${ANTHROPIC_API_KEY}"

  ollama.OllamaChat:
    model: "llama3.2:3b"
    temperature: 0.8

# Output configuration
output:
  format: "jsonl"
  path: "./results.jsonl"

# Named profiles for different scenarios
profiles:
  quick:
    run:
      max_attempts: 1
      timeout: "10s"
    generators:
      openai.OpenAI:
        model: "gpt-3.5-turbo"
        temperature: 0.5
    output:
      format: "table"

  thorough:
    run:
      max_attempts: 5
      timeout: "60s"
    generators:
      openai.OpenAI:
        model: "gpt-4"
        temperature: 0.3
    output:
      format: "jsonl"
      path: "./thorough_results.jsonl"
Environment Variables
# API Keys
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export COHERE_API_KEY="..."

# Debug mode
export AUGUSTUS_DEBUG=true
Proxy Configuration

Route HTTP traffic through a proxy (e.g., Burp Suite) for inspection:

# Method 1: Via config parameter
augustus scan rest.Rest \
  --probe dan.Dan_11_0 \
  --detector dan.DAN \
  --config '{"uri":"https://api.example.com","proxy":"http://127.0.0.1:8080"}' \
  --output results.jsonl

# Method 2: Via environment variables
export HTTP_PROXY=http://127.0.0.1:8080
export HTTPS_PROXY=http://127.0.0.1:8080
augustus scan rest.Rest --probe dan.Dan_11_0 --config '{"uri":"https://api.example.com"}'
  • TLS verification automatically disabled for proxy inspection
  • HTTP/2 support enabled for modern APIs
  • Server-Sent Events (SSE) responses automatically detected and parsed
CLI Reference
Usage: augustus scan <generator> [flags]

Arguments:
  <generator>                 Generator name (e.g., openai.OpenAI, anthropic.Anthropic)

Probe Selection (choose one):
  --probe, -p                 Probe name (repeatable)
  --probes-glob               Comma-separated glob patterns (e.g., "dan.*,encoding.*")
  --all                       Run all registered probes

Detector Selection:
  --detector                  Detector name (repeatable)
  --detectors-glob            Comma-separated glob patterns

Buff Selection:
  --buff, -b                  Buff names to apply (repeatable)
  --buffs-glob                Comma-separated buff glob patterns (e.g., "encoding.*")

Configuration:
  --config-file               Path to YAML config file
  --config, -c                JSON config for generator

Execution:
  --harness                   Harness name (default: probewise.Probewise)
  --timeout                   Overall scan timeout (default: 30m)
  --probe-timeout             Per-probe timeout (default: 5m)
  --concurrency               Max concurrent probes (default: 10, env: AUGUSTUS_CONCURRENCY)

Output:
  --format, -f                Output format: table, json, jsonl (default: table)
  --output, -o                JSONL output file path
  --html                      HTML report file path
  --verbose, -v               Verbose output

Global:
  --debug, -d                 Enable debug mode

Commands:

augustus version              # Print version information
augustus list                 # List available probes, detectors, generators, harnesses, buffs
augustus scan <generator>     # Run vulnerability scan
augustus completion <shell>   # Generate shell completion (bash, zsh, fish)

Exit Codes:

Code Meaning
0 Success - scan completed
1 Scan/runtime error
2 Validation/usage error

FAQ

How does Augustus compare to garak?

Augustus is a Go-native reimplementation inspired by garak (NVIDIA's Python-based LLM vulnerability scanner). Key differences:

  • Performance: Go binary vs Python interpreter — faster execution and lower memory usage
  • Distribution: Single binary with no runtime dependencies vs Python package with pip install
  • Concurrency: Go goroutine pools (cross-probe parallelism) vs Python multiprocessing pools (within-probe parallelism)
  • Probe coverage: Augustus has 210+ probes; garak has 160+ probes with a longer research pedigree and published paper (arXiv:2406.11036)
  • Provider coverage: Augustus has 28 providers; garak has 35+ generator variants across 22 provider modules
Can I test local models without API keys?

Yes! Use the Ollama integration for local model testing:

# No API key needed
augustus scan ollama.OllamaChat \
  --probe dan.Dan \
  --config '{"model":"llama3.2:3b"}'
How do I add custom probes?
  1. Create a new Go file in internal/probes/
  2. Implement the probes.Probe interface
  3. Register using registry.RegisterProbe() in an init() function
  4. Rebuild: make build

See CONTRIBUTING.md for detailed instructions.

What output formats are supported?

Augustus supports four output formats:

Format Flag Use Case
Table --format table Human-readable terminal output
JSON --format json Single JSON object for parsing
JSONL --format jsonl Line-delimited JSON for streaming
HTML --html report.html Visual reports for stakeholders
How do I test multiple models at once?
# Test multiple models sequentially
for model in "gpt-4" "gpt-3.5-turbo"; do
  augustus scan openai.OpenAI \
    --all \
    --config "{\"model\":\"$model\"}" \
    --output "results-$model.jsonl"
done
Is Augustus suitable for production environments?

Yes, Augustus is designed for production use with:

  • Concurrent scanning with configurable limits
  • Rate limiting to respect API quotas
  • Timeout handling for long-running probes
  • Retry logic for transient failures
  • Structured logging for observability

Troubleshooting

Error: "API rate limit exceeded"

Cause: Too many concurrent requests or requests per minute.

Solutions:

  1. Reduce concurrency: --concurrency 5
  2. Use provider-specific rate limit settings in YAML config:
    generators:
      openai.OpenAI:
        rate_limit: 10  # requests per minute
    
Error: "context deadline exceeded" or "timeout"

Cause: Complex probes (like TAP or PAIR) exceed default timeout.

Solution:

augustus scan openai.OpenAI \
  --probe tap.TAPv1 \
  --timeout 60m \
  --config-file config.yaml
Error: "invalid API key" or "authentication failed"

Cause: Missing or invalid API credentials.

Solutions:

  1. Verify environment variable is set: echo $OPENAI_API_KEY
  2. Check for typos in config file
  3. Ensure API key has required permissions
  4. For Ollama, ensure the service is running: ollama serve
Error: "probe not found" or "detector not found"

Cause: Typo in name or probe not registered.

Solution:

# List all available probes and detectors
augustus list

# Use exact names from the list
augustus scan openai.OpenAI --probe dan.Dan  # Correct
Scan produces no results

Cause: Detector didn't match any responses, or output not written.

Solutions:

  1. Run with --verbose to see detailed output
  2. Check that detector matches probe type
  3. Verify output file path is writable

Contributing

We welcome contributions! See CONTRIBUTING.md for:

  • Adding new vulnerability probes
  • Creating new detector implementations
  • Adding LLM provider integrations
  • Testing guidelines
  • Code style requirements
Development
# Run all tests
make test

# Run specific package tests
go test ./pkg/scanner -v

# Run equivalence tests (compare Go vs Python implementations)
go test ./tests/equivalence -v

# Build binary
make build

# Install to $GOPATH/bin
make install

Security

Augustus is designed for authorized security testing only.

  • Augustus sends adversarial prompts to LLMs you specify - always ensure you have authorization
  • Never test systems you don't own or have explicit permission to test
  • Some probes generate offensive content by design (for testing safety filters)
  • Results may contain harmful content produced by target LLMs

Report security issues via GitHub Issues.

Support

If you find Augustus useful, please consider:

Star History Chart

License

Apache 2.0 - Praetorian Security, Inc.


Built by Praetorian - Offensive Security Solutions

Directories

Path Synopsis
cmd
augustus command
internal
attackengine
internal/attackengine/config.go
internal/attackengine/config.go
buffs/encoding
Package encoding provides buffs that encode prompts in various formats.
Package encoding provides buffs that encode prompts in various formats.
buffs/lowercase
Package lowercase provides a buff that converts prompts to lowercase.
Package lowercase provides a buff that converts prompts to lowercase.
buffs/lrl
Package lrl provides the Low Resource Language buff for prompt translation.
Package lrl provides the Low Resource Language buff for prompt translation.
buffs/paraphrase
Package paraphrase provides paraphrasing buffs using HuggingFace models.
Package paraphrase provides paraphrasing buffs using HuggingFace models.
buffs/poetry
Package poetry provides buffs that transform prompts into poetic structures.
Package poetry provides buffs that transform prompts into poetic structures.
detectors/agent
Package agent provides detectors for agent-specific vulnerabilities.
Package agent provides detectors for agent-specific vulnerabilities.
detectors/always
Package always provides simple constant-score detectors.
Package always provides simple constant-score detectors.
detectors/ansiescape
Package ansiescape provides detectors for ANSI escape sequences in model outputs.
Package ansiescape provides detectors for ANSI escape sequences in model outputs.
detectors/any
Package any provides detectors that check for output presence.
Package any provides detectors that check for output presence.
detectors/apikey
Package apikey provides detectors for API key patterns.
Package apikey provides detectors for API key patterns.
detectors/base
Package base provides base detector implementations including StringDetector.
Package base provides base detector implementations including StringDetector.
detectors/continuation
Package continuation provides detectors for continuation attacks.
Package continuation provides detectors for continuation attacks.
detectors/dan
Package dan provides DAN (Do Anything Now) jailbreak detectors.
Package dan provides DAN (Do Anything Now) jailbreak detectors.
detectors/divergence
Package divergence provides detectors for divergence attacks.
Package divergence provides detectors for divergence attacks.
detectors/encoding
Package encoding provides detectors for assessing how well encoded payloads from encoding probes are decoded and output by the model.
Package encoding provides detectors for assessing how well encoded payloads from encoding probes are decoded and output by the model.
detectors/exploitation
Package exploitation provides detectors for identifying exploitation vulnerabilities.
Package exploitation provides detectors for identifying exploitation vulnerabilities.
detectors/fileformats
Package fileformats provides detectors for analyzing file formats based on name or content.
Package fileformats provides detectors for analyzing file formats based on name or content.
detectors/flipattack
Package flipattack provides detectors for FlipAttack jailbreak attempts.
Package flipattack provides detectors for FlipAttack jailbreak attempts.
detectors/goodside
Package goodside provides detectors for Riley Goodside's attack probes.
Package goodside provides detectors for Riley Goodside's attack probes.
detectors/judge
cache.go
cache.go
detectors/knownbadsignatures
Package knownbadsignatures provides detectors for known malware/spam test signatures.
Package knownbadsignatures provides detectors for known malware/spam test signatures.
detectors/leakreplay
Package leakreplay provides detectors for data leak replay attacks.
Package leakreplay provides detectors for data leak replay attacks.
detectors/lmrc
Package lmrc provides Language Model Risk Card detectors.
Package lmrc provides Language Model Risk Card detectors.
detectors/malwaregen
Package malwaregen provides detectors for code generation in LLM outputs.
Package malwaregen provides detectors for code generation in LLM outputs.
detectors/misleading
Package misleading provides detectors for misleading claim responses.
Package misleading provides detectors for misleading claim responses.
detectors/mitigation
Package mitigation provides detectors for checking if LLM safety mitigations are working.
Package mitigation provides detectors for checking if LLM safety mitigations are working.
detectors/packagehallucination
Package packagehallucination provides detectors for hallucinated package names.
Package packagehallucination provides detectors for hallucinated package names.
detectors/patterns
Package patterns provides regex and semantic pattern matching detectors.
Package patterns provides regex and semantic pattern matching detectors.
detectors/perspective
Package perspective provides a detector for Google Perspective API toxicity analysis.
Package perspective provides a detector for Google Perspective API toxicity analysis.
detectors/poetry
Package poetry provides poetry-specific detectors for LLM jailbreak evaluation.
Package poetry provides poetry-specific detectors for LLM jailbreak evaluation.
detectors/productkey
Package productkey provides detectors for product key formats.
Package productkey provides detectors for product key formats.
detectors/promptinject
Package promptinject provides detectors for PromptInject framework attacks.
Package promptinject provides detectors for PromptInject framework attacks.
detectors/ragpoison
Package ragpoison provides detectors for RAG (Retrieval-Augmented Generation) poisoning attacks.
Package ragpoison provides detectors for RAG (Retrieval-Augmented Generation) poisoning attacks.
detectors/shields
Package shields provides detectors for security system responses (guards, shields, firewalls, guardrails).
Package shields provides detectors for security system responses (guards, shields, firewalls, guardrails).
detectors/snowball
Package snowball provides detectors for hallucination snowballing attacks.
Package snowball provides detectors for hallucination snowballing attacks.
detectors/tap
Package tap provides TAP (Tree of Attacks with Pruning) jailbreak detectors.
Package tap provides TAP (Tree of Attacks with Pruning) jailbreak detectors.
detectors/unsafecontent
Package unsafecontent provides detectors for unsafe and offensive content.
Package unsafecontent provides detectors for unsafe and offensive content.
detectors/visualjailbreak
Package visualjailbreak provides detectors for visual jailbreak attempts.
Package visualjailbreak provides detectors for visual jailbreak attempts.
detectors/webinjection
Package webinjection provides detectors for web injection attacks including markdown exfiltration and XSS attempts.
Package webinjection provides detectors for web injection attacks including markdown exfiltration and XSS attempts.
encoding
Package encoding provides shared encoding/decoding functions used by buffs for LLM security testing.
Package encoding provides shared encoding/decoding functions used by buffs for LLM security testing.
generators/anthropic
Package anthropic provides an Anthropic Claude generator for Augustus.
Package anthropic provides an Anthropic Claude generator for Augustus.
generators/anyscale
Package anyscale provides an Anyscale generator for Augustus.
Package anyscale provides an Anyscale generator for Augustus.
generators/azure
Package azure provides an Azure OpenAI generator for Augustus.
Package azure provides an Azure OpenAI generator for Augustus.
generators/bedrock
Package bedrock provides an AWS Bedrock generator for Augustus.
Package bedrock provides an AWS Bedrock generator for Augustus.
generators/cohere
Package cohere provides a Cohere generator for Augustus.
Package cohere provides a Cohere generator for Augustus.
generators/deepinfra
Package deepinfra provides a DeepInfra generator for Augustus.
Package deepinfra provides a DeepInfra generator for Augustus.
generators/fireworks
Package fireworks provides a Fireworks generator for Augustus.
Package fireworks provides a Fireworks generator for Augustus.
generators/function
Package function provides function-based generators for Augustus.
Package function provides function-based generators for Augustus.
generators/ggml
Package ggml provides a GGML generator for Augustus.
Package ggml provides a GGML generator for Augustus.
generators/groq
Package groq provides a Groq generator for Augustus.
Package groq provides a Groq generator for Augustus.
generators/guardrails
Package guardrails provides a NeMo Guardrails generator for Augustus.
Package guardrails provides a NeMo Guardrails generator for Augustus.
generators/huggingface
Package huggingface provides generators using HuggingFace Inference API.
Package huggingface provides generators using HuggingFace Inference API.
generators/langchain
Package langchain provides a LangChain generator for Augustus.
Package langchain provides a LangChain generator for Augustus.
generators/langchainserve
Package langchainserve provides a LangChain Serve generator for Augustus.
Package langchainserve provides a LangChain Serve generator for Augustus.
generators/litellm
Package litellm provides a LiteLLM generator for Augustus.
Package litellm provides a LiteLLM generator for Augustus.
generators/mistral
Package mistral provides a Mistral AI generator for Augustus.
Package mistral provides a Mistral AI generator for Augustus.
generators/nemo
Package nemo provides a NeMo generator for Augustus.
Package nemo provides a NeMo generator for Augustus.
generators/nim
Package nim provides NIM (NVIDIA Inference Microservices) generators for Augustus.
Package nim provides NIM (NVIDIA Inference Microservices) generators for Augustus.
generators/nvcf
Package nvcf provides NVIDIA Cloud Functions generators for Augustus.
Package nvcf provides NVIDIA Cloud Functions generators for Augustus.
generators/ollama
Package ollama provides Ollama generators for Augustus.
Package ollama provides Ollama generators for Augustus.
generators/openai
Package openai provides an OpenAI generator for Augustus.
Package openai provides an OpenAI generator for Augustus.
generators/openaicompat
Package openaicompat provides shared configuration for OpenAI-compatible generators.
Package openaicompat provides shared configuration for OpenAI-compatible generators.
generators/rasa
Package rasa provides a Rasa REST API generator for Augustus.
Package rasa provides a Rasa REST API generator for Augustus.
generators/replicate
Package replicate provides a Replicate generator for Augustus.
Package replicate provides a Replicate generator for Augustus.
generators/rest
Package rest provides a generic REST API generator for Augustus.
Package rest provides a generic REST API generator for Augustus.
generators/test
Package test provides simple test generators for verification and examples.
Package test provides simple test generators for verification and examples.
generators/together
Package together provides a Together generator for Augustus.
Package together provides a Together generator for Augustus.
generators/vertex
Package vertex provides a Google Cloud Vertex AI generator for Augustus.
Package vertex provides a Google Cloud Vertex AI generator for Augustus.
generators/watsonx
Package watsonx provides an IBM Watson X generator for Augustus.
Package watsonx provides an IBM Watson X generator for Augustus.
harnesses/agentwise
Package agentwise provides a harness that filters probes based on agent capabilities.
Package agentwise provides a harness that filters probes based on agent capabilities.
harnesses/batch
Package batch provides the batch harness implementation.
Package batch provides the batch harness implementation.
harnesses/probewise
Package probewise provides the probewise harness implementation.
Package probewise provides the probewise harness implementation.
probes/advpatch
Package advpatch provides adversarial patch probes for testing Vision-Language Models.
Package advpatch provides adversarial patch probes for testing Vision-Language Models.
probes/ansiescape
Package ansiescape provides probes for testing if models produce ANSI escape sequences.
Package ansiescape provides probes for testing if models produce ANSI escape sequences.
probes/apikey
Package apikey provides probes for testing LLM API key generation behavior.
Package apikey provides probes for testing LLM API key generation behavior.
probes/artprompts
Package artprompts provides ASCII art injection probes for LLM testing.
Package artprompts provides ASCII art injection probes for LLM testing.
probes/autodan
Package autodan provides AutoDAN (Automated Do Anything Now) probes.
Package autodan provides AutoDAN (Automated Do Anything Now) probes.
probes/avspamscanning
Package avspamscanning provides probes to test if LLMs will output known malware/spam signatures.
Package avspamscanning provides probes to test if LLMs will output known malware/spam signatures.
probes/badchars
Package badchars provides imperceptible perturbation probes inspired by the Bad Characters paper.
Package badchars provides imperceptible perturbation probes inspired by the Bad Characters paper.
probes/browsing
Package browsing provides probes for testing LLM browsing agent vulnerabilities.
Package browsing provides probes for testing LLM browsing agent vulnerabilities.
probes/continuation
Package continuation provides probes for testing LLM completion of contentious terms.
Package continuation provides probes for testing LLM completion of contentious terms.
probes/dan
Package dan provides DAN (Do Anything Now) jailbreak probes for LLM testing.
Package dan provides DAN (Do Anything Now) jailbreak probes for LLM testing.
probes/divergence
Package divergence provides probes for testing LLM divergence attacks.
Package divergence provides probes for testing LLM divergence attacks.
probes/donotanswer
Package donotanswer provides probes from the Do-Not-Answer dataset.
Package donotanswer provides probes from the Do-Not-Answer dataset.
probes/dra
Package dra provides DRA (Decomposition-Reconstruction Attack) probes for LLM testing.
Package dra provides DRA (Decomposition-Reconstruction Attack) probes for LLM testing.
probes/exploitation
Package exploitation provides probes for testing LLM vulnerability to template injection and SQL injection attacks.
Package exploitation provides probes for testing LLM vulnerability to template injection and SQL injection attacks.
probes/flipattack
Package flipattack implements FlipAttack jailbreak probes.
Package flipattack implements FlipAttack jailbreak probes.
probes/gcg
Package gcg provides GCG (Greedy Coordinate Gradient) adversarial probes for LLM testing.
Package gcg provides GCG (Greedy Coordinate Gradient) adversarial probes for LLM testing.
probes/glitch
Package glitch provides probes for testing model behavior with anomalous/glitch tokens.
Package glitch provides probes for testing model behavior with anomalous/glitch tokens.
probes/goodside
Package goodside provides LLM attack probes discovered by Riley Goodside.
Package goodside provides LLM attack probes discovered by Riley Goodside.
probes/grandma
Package grandma provides social engineering probes using emotional manipulation via appeal to a deceased grandmother figure.
Package grandma provides social engineering probes using emotional manipulation via appeal to a deceased grandmother figure.
probes/guardrail
Package guardrail provides guardrail bypass probes for LLM testing.
Package guardrail provides guardrail bypass probes for LLM testing.
probes/latentinjection
Package latentinjection provides probes for testing latent injection attacks.
Package latentinjection provides probes for testing latent injection attacks.
probes/leakreplay
Package leakreplay provides probes to test for training data memorization.
Package leakreplay provides probes to test for training data memorization.
probes/lmrc
Package lmrc provides Language Model Risk Card probes.
Package lmrc provides Language Model Risk Card probes.
probes/malwaregen
Package malwaregen provides probes that test if LLMs will generate malware code.
Package malwaregen provides probes that test if LLMs will generate malware code.
probes/mindmap
Package mindmap provides probes that test LLM vulnerability to instructions hidden in visual mind map hierarchies.
Package mindmap provides probes that test LLM vulnerability to instructions hidden in visual mind map hierarchies.
probes/misleading
Package misleading provides probes for testing LLM responses to false claims.
Package misleading provides probes for testing LLM responses to false claims.
probes/multiagent
Package multiagent implements multi-agent attack simulation probes.
Package multiagent implements multi-agent attack simulation probes.
probes/multimodal
Package multimodal provides base types and interfaces for multimodal probes.
Package multimodal provides base types and interfaces for multimodal probes.
probes/obscureprompt
Package obscureprompt provides ObscurePrompt probes for LLM testing.
Package obscureprompt provides ObscurePrompt probes for LLM testing.
probes/packagehallucination
Package packagehallucination provides probes for testing LLM package hallucination behavior.
Package packagehallucination provides probes for testing LLM package hallucination behavior.
probes/pair
Package pair provides PAIR (Prompt Automatic Iterative Refinement) probe for LLM testing.
Package pair provides PAIR (Prompt Automatic Iterative Refinement) probe for LLM testing.
probes/phrasing
Package phrasing provides probes that test LLM vulnerabilities through prompt rephrasing.
Package phrasing provides probes that test LLM vulnerabilities through prompt rephrasing.
probes/poetry
Package poetry provides poetry-based prompt injection probes for LLM testing.
Package poetry provides poetry-based prompt injection probes for LLM testing.
probes/prefix
Package prefix provides adversarial prefix injection probes for LLM testing.
Package prefix provides adversarial prefix injection probes for LLM testing.
probes/promptinject
Package promptinject implements PromptInject framework probes.
Package promptinject implements PromptInject framework probes.
probes/ragpoisoning
Package ragpoisoning provides RAG poisoning probes for LLM testing.
Package ragpoisoning provides RAG poisoning probes for LLM testing.
probes/realtoxicityprompts
Package realtoxicityprompts provides probes for testing LLM toxicity responses.
Package realtoxicityprompts provides probes for testing LLM toxicity responses.
probes/smuggling
Package smuggling provides token smuggling jailbreak probes for LLM testing.
Package smuggling provides token smuggling jailbreak probes for LLM testing.
probes/snowball
Package snowball provides probes for testing LLM hallucination snowballing behavior.
Package snowball provides probes for testing LLM hallucination snowballing behavior.
probes/steganography
Package steganography provides probes that test LLM vulnerability to instructions hidden in images via steganographic techniques.
Package steganography provides probes that test LLM vulnerability to instructions hidden in images via steganographic techniques.
probes/suffix
Package suffix provides suffix-based adversarial attack probes for LLM testing.
Package suffix provides suffix-based adversarial attack probes for LLM testing.
probes/tap
Package tap provides TAP (Tree of Attacks with Pruning) probe for LLM testing.
Package tap provides TAP (Tree of Attacks with Pruning) probe for LLM testing.
probes/test
Package test provides simple test probes for verification and examples.
Package test provides simple test probes for verification and examples.
probes/topic
Package topic provides probes for testing topic boundary crossing using WordNet.
Package topic provides probes for testing topic boundary crossing using WordNet.
probes/treesearch
topictree.go provides a concrete tree search implementation using topic categories.
topictree.go provides a concrete tree search implementation using topic categories.
probes/webinjection
Package webinjection payloads for web content injection testing.
Package webinjection payloads for web content injection testing.
testutil
Package testutil provides shared test utilities for Augustus probe and generator tests.
Package testutil provides shared test utilities for Augustus probe and generator tests.
pkg
attempt
Package attempt provides core data types for LLM vulnerability scanning.
Package attempt provides core data types for LLM vulnerability scanning.
buffs
Package buffs provides the buff interface for prompt transformations.
Package buffs provides the buff interface for prompt transformations.
cli
Package cli provides command-line interface utilities for Augustus.
Package cli provides command-line interface utilities for Augustus.
detectors
Package detectors provides the detector interface and implementations for output analysis.
Package detectors provides the detector interface and implementations for output analysis.
generators
Package generators provides the generator interface and implementations for LLM access.
Package generators provides the generator interface and implementations for LLM access.
harnesses
Package harnesses provides the harness interface for orchestrating scans.
Package harnesses provides the harness interface for orchestrating scans.
prefilter
Package prefilter provides Aho-Corasick based keyword pre-filtering for detectors.
Package prefilter provides Aho-Corasick based keyword pre-filtering for detectors.
probes
Package probes provides the probe interface and implementations for LLM testing.
Package probes provides the probe interface and implementations for LLM testing.
registry
Package registry provides capability registration and discovery.
Package registry provides capability registration and discovery.
types
Package types provides shared interfaces used across Augustus packages.
Package types provides shared interfaces used across Augustus packages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL