Red Team Scanning¶
Prisma AIRS CLI integrates with Palo Alto Prisma AIRS AI Red Team to run adversarial scans against configured targets. This provides a second layer of validation beyond the guardrail refinement loop's synthetic tests.
Overview¶
The airs redteam command group provides full access to Red Team operations:
- Scan -- launch static, dynamic, or custom prompt set scans
- Status -- monitor running scans
- Report -- view results with severity breakdowns and attack details
- List -- browse recent scans
- Targets -- full CRUD on red team targets (create, get, update, delete, probe, profile, validate-auth, metadata, templates)
- EULA -- check, view, and accept the Red Team end-user license agreement
- Instances -- create, read, update, and delete Red Team compute instances
- Devices -- create, update, and delete devices attached to instances
- Registry Credentials -- fetch container registry tokens for Red Team infrastructure
- Prompt Sets -- manage custom prompt sets (create, get, update, archive, upload CSV, download template)
- Prompts -- manage individual prompts within sets (add, list, get, update, delete)
- Properties -- manage custom attack property names and values
- Categories -- list available attack categories
- Abort -- stop a running scan
Scan Types¶
| Type | Description |
|---|---|
STATIC |
Runs AIRS-maintained adversarial attack patterns from the attack library |
DYNAMIC |
Goal-driven multi-turn attacks using an adversarial agent |
CUSTOM |
Runs your custom prompt sets (e.g., those generated by airs runtime topics generate --create-prompt-set) |
Sub-pages¶
- End-to-End Walkthrough -- tutorial: onboard a target, run a STATIC scan, pull the report, with every command + response
- Running Scans -- launch scans, monitor progress, view reports
- Managing Targets -- CRUD operations for red team targets, auth validation, metadata, templates
- EULA & Infrastructure -- EULA acceptance, instance management, devices, registry credentials
- Prompt Sets & Prompts -- manage custom prompt sets and individual prompts
Exact command syntax
Every red team command with options and example output lives in the CLI Reference.
Authentication¶
Red Team operations reuse the same OAuth2 credentials as topic management:
PANW_MGMT_CLIENT_IDPANW_MGMT_CLIENT_SECRETPANW_MGMT_TSG_ID
Optional overrides for dedicated red team endpoints:
PANW_RED_TEAM_DATA_ENDPOINTPANW_RED_TEAM_MGMT_ENDPOINTPANW_RED_TEAM_TOKEN_ENDPOINT
Library API¶
The SdkRedTeamService and SdkPromptSetService classes are exported for programmatic use:
import { SdkRedTeamService, SdkPromptSetService } from '@cdot65/prisma-airs-cli';
const redteam = new SdkRedTeamService({
clientId: process.env.PANW_MGMT_CLIENT_ID,
clientSecret: process.env.PANW_MGMT_CLIENT_SECRET,
tsgId: process.env.PANW_MGMT_TSG_ID,
});
// Target CRUD
const target = await redteam.createTarget({
name: 'My Target',
target_type: 'REST',
connection_params: { api_endpoint: 'https://api.example.com' },
}, { validate: true });
// Scans
const job = await redteam.createScan({
name: 'API Scan',
targetUuid: target.uuid,
jobType: 'STATIC',
});
const completed = await redteam.waitForCompletion(job.uuid, (progress) => {
console.log(`${progress.status}: ${progress.completed}/${progress.total}`);
});
const report = await redteam.getStaticReport(completed.uuid);
// Prompt set management
const promptSets = new SdkPromptSetService({
clientId: process.env.PANW_MGMT_CLIENT_ID,
clientSecret: process.env.PANW_MGMT_CLIENT_SECRET,
tsgId: process.env.PANW_MGMT_TSG_ID,
});
const ps = await promptSets.createPromptSet('My Set', 'Description');
await promptSets.addPrompt(ps.uuid, 'Test prompt', 'Should trigger');
await promptSets.uploadPromptsCsv(ps.uuid, new Blob(['prompt,goal\n"test","goal"']));