Skip to main content

redteam targets

redteam targets list

List configured red team targets

airs redteam targets list [options]

Options

FlagRequiredDefaultDescription
--output <format>NoprettyOutput format: pretty, table, csv, json, yaml

Examples

List all targets

airs redteam targets list
Targets:

89e2374c-7bac-4c5c-a291-9392ae919e14
litellm.cdot.io - no guardrails - REST APIv2 active type: APPLICATION
f2953fa2-943c-47aa-814d-0f421f6e071b
AWS Bedrock - Claude 4.6 active type: MODEL
b9e2861d-73ac-48b5-a56f-f43039cfc4a1
postman inactive type: AGENT

redteam targets get

Get target details

airs redteam targets get [options] <uuid>

Arguments

  • uuid (required) —

Options

FlagRequiredDefaultDescription
--output <format>NoprettyOutput format: pretty, json, yaml

Examples

Show full target detail (nested connection_params expand inline as indented JSON)

airs redteam targets get 00000000-0000-0000-0000-000000000001
Prisma AIRS — AI Red Team
Adversarial scan operations


Target Detail:

UUID: 00000000-0000-0000-0000-000000000001
Name: example-target
Status: active
Type: APPLICATION

Connection:
api_endpoint: https://api.example.com/v1/chat/completions
request_headers: {
"Content-Type": "application/json",
"apikey": "<api-key>"
}
request_json: {
"model": "<model-id>",
"messages": [
{
"role": "user",
"content": "{INPUT}"
}
]
}
response_json: {
"choices": [
{
"message": {
"content": ""
}
}
]
}
response_key: content
target_connection_config: null
curl: curl \
"https://api.example.com/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "apikey: <api-key>" \
--data '{"model":"<model-id>","messages":[{"role":"user","content":"{INPUT}"}]}'
multi_turn_config: null

Background:
industry: Generic
use_case: Chatbot
competitors: Microsoft Bot Framework,Rasa,Dialogflow,Wit.ai,IBM Watson Assistant

Metadata:
multi_turn: false
rate_limit: 50
rate_limit_enabled: true
rate_limit_error_code: 429
content_filter_enabled: true
content_filter_error_code: 403
probe_message: I like turtles
request_timeout: 110

Emit full target as JSON for piping to jq

airs redteam targets get 00000000-0000-0000-0000-000000000001 --output json
{
"uuid": "00000000-0000-0000-0000-000000000001",
"name": "example-target",
"status": "ACTIVE",
"targetType": "APPLICATION",
"active": true,
"connectionParams": {
"api_endpoint": "https://api.example.com/v1/chat/completions",
"request_headers": {
"Content-Type": "application/json",
"apikey": "<api-key>"
},
"request_json": {
"model": "<model-id>",
"messages": [
{ "role": "user", "content": "{INPUT}" }
]
},
"response_json": {
"choices": [
{ "message": { "content": "" } }
]
},
"response_key": "content"
}
}

redteam targets create

Create a new red team target

airs redteam targets create [options]

Options

FlagRequiredDefaultDescription
--config <path>YesJSON file with target configuration
--validateNoValidate target connection before saving

Examples

Create a REST application target from a config file (httpbin.org echo for docs capture)

airs redteam targets create --config target-create.json
Prisma AIRS — AI Red Team
Adversarial scan operations

Target created: 00000000-0000-0000-0000-000000000001

redteam targets update

Update a red team target

airs redteam targets update [options] <uuid>

Arguments

  • uuid (required) —

Options

FlagRequiredDefaultDescription
--config <path>YesJSON file with target updates
--validateNoValidate target connection before saving

Examples

Update an existing target (raise rate limit, tweak description)

airs redteam targets update 00000000-0000-0000-0000-000000000001 --config target-update.json
Prisma AIRS — AI Red Team
Adversarial scan operations

Target updated: 00000000-0000-0000-0000-000000000001

redteam targets delete

Delete a red team target

airs redteam targets delete [options] <uuid>

Arguments

  • uuid (required) —

Examples

Delete a target by UUID (SDK now returns a clean confirmation on the empty-body 204)

airs redteam targets delete 00000000-0000-0000-0000-000000000001
Prisma AIRS — AI Red Team
Adversarial scan operations

Target 00000000-0000-0000-0000-000000000001 deleted.
Goal: Functional test

redteam targets probe

Test target connection without saving

airs redteam targets probe [options]

Options

FlagRequiredDefaultDescription
--config <path>YesJSON file with connection params

Examples

Probe a target config without persisting (returns a draft Target object with profiling prompts inlined)

airs redteam targets probe --config target-create.json
Prisma AIRS — AI Red Team
Adversarial scan operations

Probe result:
{
"uuid": "00000000-0000-0000-0000-000000000007",
"tsg_id": "<tenant-id>",
"name": "example-target",
"status": "DRAFT",
"active": false,
"validated": false,
"target_type": "APPLICATION",
"connection_type": "CUSTOM",
"api_endpoint_type": "PUBLIC",
"response_mode": "REST",
"target_metadata": {
"rate_limit": 50,
"rate_limit_enabled": true,
"rate_limit_error_code": 429,
"probe_message": "Hello, are you there?",
"request_timeout": 60
}
}

redteam targets profile

View target profile

airs redteam targets profile [options] <uuid>

Arguments

  • uuid (required) —

Examples

Show AI-generated target profile (truncated — full output is ~230 lines of nested JSON)

airs redteam targets profile 00000000-0000-0000-0000-000000000001
Prisma AIRS — AI Red Team
Adversarial scan operations

Target Profile:
{
"target_id": "00000000-0000-0000-0000-000000000001",
"target_version": 1778577706636129,
"status": "ACTIVE",
"profiling_status": "COMPLETED",
"target_background": {
"industry": "Generic",
"use_case": "Chatbot",
"competitors": ["Rasa", "Dialogflow", "Wit.ai", "..."]
},
"additional_context": {
"base_model": "transformer",
"core_architecture": "LLM with tool calling",
"system_prompt": null,
"languages_supported": ["English", "Spanish", "..."],
"banned_keywords": ["..."],
"tools_accessible": ["web_search", "code_execution", "..."]
},
"ai_generated_fields": ["competitors", "base_model", "core_architecture", "..."],
"other_details": {
"items": {
"code_execution": { "has_code_execution": true, "languages": ["Python"] },
"internet_access": { "has_internet_access": true },
"system_purpose": { "primary_purpose": "...", "use_cases": ["..."] },
"user_audience": { "audience_type": "mixed", "features": ["..."] },
"tool_properties": { "discoveries": ["..."] },
"architecture": "...",
"available_tools": "...",
"...": "..."
}
}
}

redteam targets update-profile

Update target profile

airs redteam targets update-profile [options] <uuid>

Arguments

  • uuid (required) —

Options

FlagRequiredDefaultDescription
--config <path>YesJSON file with profile updates

Examples

Patch a target's background/additional_context (use_case + core_architecture). Other fields preserved.

airs redteam targets update-profile 00000000-0000-0000-0000-000000000001 --config target-profile.json
Prisma AIRS — AI Red Team
Adversarial scan operations

Profile updated:
{
"uuid": "00000000-0000-0000-0000-000000000001",
"tsg_id": "<tenant-id>",
"name": "example-target",
"status": "VALIDATED",
"target_background": {
"industry": "Technology",
"use_case": "Echo test endpoint for docs capture",
"competitors": ["Anthropic", "Google", "Cohere"]
},
"additional_context": {
"base_model": "Others",
"core_architecture": "Test echo via httpbin",
"languages_supported": ["English"],
"banned_keywords": [],
"tools_accessible": []
}
}

redteam targets validate-auth

Validate target auth credentials

airs redteam targets validate-auth [options]

Options

FlagRequiredDefaultDescription
--auth-type <type>YesAuth type: HEADERS, BASIC_AUTH, OAUTH2
--config <path>YesJSON file with auth_config
--target-id <uuid>NoExisting target UUID

Examples

Validate an auth header against a target's endpoint (server proxies the call and returns yes/no)

airs redteam targets validate-auth 00000000-0000-0000-0000-000000000001 --config target-auth.json
Prisma AIRS — AI Red Team
Adversarial scan operations


Auth Validation:

Validated: yes

redteam targets metadata

Get target field metadata

airs redteam targets metadata [options]

Examples

Get scan-target field metadata (base models, breadth/depth ranges, NAT IPs, agent attack goal limit)

airs redteam targets metadata
Prisma AIRS — AI Red Team
Adversarial scan operations

{
"scan_target": {
"base_models": [
"GPT3.5 turbo",
"GPT 4",
"Mistral 7b",
"Mistral 13b",
"Mixtral",
"Claude 2.1",
"Claude 3 sonnet",
"Claude 3 Opus",
"Claude 3 Haiku",
"Gemini",
"Llama",
"Llama 2",
"Llama 3",
"Phi",
"Falcon",
"Bloom",
"PaLM",
"Others"
],
"breadth": { "min": 6, "max": 12, "default": 6 },
"depth": { "min": 3, "max": 16, "default": 10 },
"attack_tokens": {
"values": [128, 256, 512, 1024, 2048, 4096],
"default": 2048
},
"context_size": { "min": 1, "max": 16, "default": 10 }
},
"nat_ips": [
"203.0.113.10",
"203.0.113.11",
"203.0.113.12"
],
"agent_attack_goal_limit": 10
}

redteam targets init

Scaffold a target config JSON from a provider template

airs redteam targets init [options] <provider>

Arguments

  • provider (required) —

Options

FlagRequiredDefaultDescription
--output-file <file>NoOutput file path

Examples

Scaffold a target config JSON from a provider template (write to default filename)

airs redteam targets init OPENAI
Prisma AIRS — AI Red Team
Adversarial scan operations


Target config scaffolded:

File: /path/to/cwd/openai-target.json
Provider: OPENAI

Next steps: Edit the file to fill in name and credentials, then run:
airs redteam targets create --config openai-target.json --validate

Scaffold to a custom path

airs redteam targets init BEDROCK --output-file configs/bedrock.json

redteam targets templates

Get provider-specific target templates

airs redteam targets templates [options]

Examples

List provider-specific target templates (truncated — full output covers OPENAI, HUGGING_FACE, DATABRICKS, BEDROCK, REST, STREAMING, WEBSOCKET, MS_COPILOT_STUDIO)

airs redteam targets templates
Prisma AIRS — AI Red Team
Adversarial scan operations


Target Templates:

OPENAI
{
"id": "OPENAI",
"name": "OpenAI",
"is_custom": false,
"url": "https://api.openai.com/v1/responses",
"request_json": {
"model": "gpt-4.1-mini",
"input": [
{
"role": "user",
"content": [
{ "type": "input_text", "text": "{INPUT}" }
]
}
],
"stream": false,
"temperature": 0.7
},
"response_json": {
"id": "resp_xxxxx",
"object": "response",
"model": "gpt-4.1-mini",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{ "type": "output_text", "text": "{RESPONSE}" }
]
}
]
}
}

HUGGING_FACE
{ ... }

DATABRICKS
{ ... }

BEDROCK
{ ... }

REST
{ ... }

STREAMING
{ ... }

WEBSOCKET
{ ... }

MS_COPILOT_STUDIO
{ ... }

redteam targets backup

Backup red team targets to local JSON/YAML files

airs redteam targets backup [options]

Options

FlagRequiredDefaultDescription
--output-dir <path>NoOutput directory
--output <format>NojsonOutput format: json or yaml
--name <targetName>NoBackup a single target by name

Examples

Back up a single target by name to a local directory

airs redteam targets backup --output-dir ./backups --name "example-target"
Prisma AIRS — Backup & Restore


Backed up 1 target(s) to ./backups:

✓ example-target → example-target.json

Back up all targets in YAML format

airs redteam targets backup --output-dir ./backups --output yaml

redteam targets restore

Restore red team targets from local JSON/YAML backup files

airs redteam targets restore [options]

Options

FlagRequiredDefaultDescription
--input-dir <path>NoDirectory containing backup files
--file <path>NoSingle backup file to restore
--overwriteNoUpdate existing targets with same name (default: skip)
--validateNoValidate target connection before saving

Examples

Restore from a directory of backup files (skips targets that already exist by name)

airs redteam targets restore --input-dir ./backups
Prisma AIRS — Backup & Restore


Restore results:

○ example-target — skipped

Total: 1 skipped

Restore a single file and overwrite an existing target

airs redteam targets restore --file ./backups/example-target.json --overwrite

redteam targets error-logs

List target-profile error logs — errors captured while a target was exercised during scans (timeouts, auth failures, malformed responses).

airs redteam targets error-logs <targetId> [options]

Options

FlagRequiredDefaultDescription
--limit <n>NoMax results
--offset <n>NoStarting offset
--search <text>NoFilter by search text
--output <format>NoprettyOutput format: pretty, table, csv, json, yaml

Examples

airs redteam targets error-logs 550e8400-e29b-41d4-a716-446655440000
airs redteam targets error-logs <targetId> --output json