Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

PyRIT Scanner

PyRIT (Python Risk Identification Tool for generative AI) is an open-source framework that helps security professionals proactively identify risks in generative AI systems. The scanner is the primary way to run security assessments — it executes Scenarios against a target AI system and reports results.

How It Works

A PyRIT scan has three key ingredients:

  1. A Scenario — defines what to test (e.g., content harms, jailbreaks, encoding probes). Scenarios bundle attack strategies, datasets, and scoring into a reusable package.

  2. A Target — the AI system you’re testing (e.g., an OpenAI endpoint, an Azure OpenAI deployment, a custom HTTP endpoint).

  3. Configuration — connects the scanner to your target and registers the components it needs (targets, scorers, datasets). See Configuration.

Running Scans

PyRIT provides two command-line interfaces:

ToolBest ForDocumentation
pyrit_scanAutomated, single-command execution. CI/CD pipelines, batch processing, reproducible runs.pyrit_scan
pyrit_shellInteractive exploration. Rapid iteration, comparing results across runs, debugging scenarios.pyrit_shell

Quick Example

# Run the Foundry RedTeamAgent scenario against your configured target
pyrit_scan foundry.red_team_agent --target openai_chat --initializers target load_default_datasets --strategies base64

Built-in Scenarios

PyRIT ships with scenarios organized into three families:

FamilyScenariosDocumentation
AIRTContentHarms, Psychosocial, Cyber, Jailbreak, Leakage, ScamAIRT Scenarios
FoundryRedTeamAgentFoundry Scenarios
GarakEncodingGarak Scenarios

Each scenario page shows how to run it with minimal configuration.

For Developers

If you want to build custom scenarios or understand the programming model behind scenarios, see the Scenarios Programming Guide. For details on attack strategies, dataset configuration, and advanced programmatic usage, see Scenario Parameters.