101101s.ai AI Security Tool Selection
Document 4 of 4 · Proof of concept

Adversarial testing POC: test plan and success criteria

  • Duration: week 0 prep + 5 weeks
  • Candidates: 3 commercial finalists; control group: promptfoo + PyRIT (open source)
  • Scoring: blind, against a sealed ground-truth register and our own oracles
  • Success criteria cover detection, agentic depth, evaluation quality, CI/CD fit, safety and cost
As of October 2, 2026Prepared for enterprise security architecture & procurement

01Objectives & scope

  1. Measure each candidate's detection efficacy (recall and precision) against a blind ground-truth set in reference targets T0–T5
  2. Verify agentic depth: whether findings are backed by observed tool calls and side effects, not only transcripts
  3. Verify SSDLC fit: CI gate, regression baselining, and evidence for NIST AI RMF MEASURE 2.7 and the OWASP mappings
  4. Quantify effort and cost per application against an open-source control group
  5. Produce a selection decision and an evidence pack for architecture review and procurement
In scopeOut of scope
3 commercial finalists (from doc 3) + the OSS control group (promptfoo + PyRIT, run by our red team)Production systems or real customer data
Reference targets T0–T5 in an isolated POC environmentRuntime guardrail purchase decision (measured here only as UC-4 input)
Use cases UC-1 to UC-5; UC-9 and UC-10 as optional stretchTraining-time attacks on base models

02Test environment

  • Reference targets T0–T5, modeled on our application portfolio
  • Ground truth is determined by our own oracles
IDTarget typePurpose
T1Multi-tenant RAG chat app (web UI + REST API, OAuth2 user login)UC-1; OWASP LLM Top 10 coverage
T2Tool-using agent with business tools, long-term memory and a sandboxed code tool, traced with OTel GenAI spansUC-2; OWASP ASI Top 10 coverage
T3Small MCP server estate consumed by T2, with a versioned server update during the POCUC-5; OWASP MCP Top 10 coverage
T4CI pipeline that builds T1/T2 and runs each tool's suite as a gate; versions v1 → v2 → v3UC-3; regression
T0Clean control: T1/T2 with every ground-truth item remediatedFalse-positive / precision measurement
T5Guarded variant: T1/T2 behind our incumbent runtime guardrailUC-4: guardrail efficacy

Instrumentation

  • Deterministic oracles: canary values, an out-of-band callback receiver, and side-effect sinks (mail, ledger, query log). Ground truth is scored on observed outcomes, not on any tool's own verdict.
  • Independent tracing: every LLM and tool call is exported to our trace store. Trace data decides disagreements between a vendor and our labelers.
  • Pinned versions: target builds, model versions and temperatures are frozen per round and recorded with each run.

03Ground truth

  • 22 known issues (19 + 3 holdout), each mapped to an OWASP LLM / ASI / MCP ID
  • Used to compute recall and precision independent of each tool's own counts
CategoryItemsSeverity mixFramework anchors
LLM application risks (T1)62 Critical · 2 High · 2 MediumLLM01, 02, 05, 07, 08, 09
Agentic risks (T2)94 Critical · 4 High · 1 MediumASI01, 02, 03, 05, 06, 08, 09
MCP risks (T3)41 Critical · 3 HighMCP03, 04, 05, 07
Holdout (introduced in T4 v3 only)3MixedNew attack surface, prompt-change regression, multimodal
Total227 Critical · 9 High · 3 Medium (+3 holdout)

Register handling

  • The red team lead defines each item and its oracle in a separate register
  • The register is hashed at the end of week 0 and opened only for scoring in week 3
  • The register is not distributed with this plan
  • Recall is reported per OWASP framework category

04Rules of engagement

  • Vendor briefing: app descriptions, user roles, test accounts, API specs (same as an internal red team briefing). Vendors do not receive the ground-truth register.
  • Vendors may tune their configuration but may not modify targets. All target changes are made by our platform engineer and logged.
  • Every tool runs inside the isolated POC network with an egress allowlist, canary-only credentials, per-target rate limits, model spend caps and a documented kill switch.
  • Findings are scored only from each tool's own exports.
  • Vendor-assist time is capped and logged; anything beyond the cap counts against effort.

05Test cases

  • TC IDs map to the requirement IDs in doc 2
IDTestRequirementPass condition
Onboarding & integration (week 1)
TC-01Onboard T1 API with OAuth2 + refresh and two user rolesTGT-01, 02Connected without app code changes; vendor-assist hours logged
TC-02Multi-turn session state and reset between attacksTGT-03No cross-attack state bleed in 20 sampled runs
TC-03Onboard T1 web UI via browser drivingTGT-04Runs end-to-end through the UI, including streaming
TC-04Onboard T2 with tool-call visibilityTGT-05, AGT-01Tool calls and arguments visible for 100% of agent turns
TC-27Throttling and token budget per targetTGT-09Configured caps never exceeded; spend within ±25% of vendor estimate
TC-29SSO, RBAC, audit log, data residencySEC-01, 02Two teams isolated by RBAC; audit log complete; data stays in region
TC-30Containment of the tester's attacker agentSEC-04Zero connections to non-allowlisted destinations (firewall logs)
Detection efficacy (week 2)
TC-05Baseline single-turn sweep, including our custom content policyATK-01, 09Findings against T1 policy items
TC-06Adaptive multi-turn campaignsATK-02Multi-turn-only ground-truth items detected
TC-07Context-aware objective generation from the target profileATK-03≥ 50% of generated objectives judged business-specific by reviewers
TC-08Indirect-channel campaigns: retrieved contentATK-04, TGT-07Retrieval-channel ground-truth items detected
TC-09Indirect-channel campaigns: tool outputs and work itemsATK-04, TGT-07Tool-channel ground-truth items detected
TC-10Data-exfiltration objectivesATK-05Exfiltration items confirmed by our out-of-band oracle
TC-11Tool-call assertionsAGT-01, 05Findings cite the specific tool call and arguments
TC-12Side-effect detectionAGT-02Agentic items confirmed by our sinks, not only by the tool's judge
TC-13Per-user authorization boundaries (OBO)AGT-03Authorization items attributed to the correct root cause
TC-15Cross-session memory risksAGT-04Memory item detected
TC-16Direct testing of MCP serversTGT-06MCP server items detected
TC-17Agent behavior with untrusted MCP tools, including a server version changeTGT-06Version change flagged before or at first use
TC-20Multi-agent scenario (stretch)AGT-06Demonstrated or roadmapped with date
TC-21Multimodal input (stretch)TGT-08Holdout multimodal item detected
Evaluation quality (week 3)
TC-14Repeatability: 3 identical runs; replay of findings; pass@k reportingATK-07, EVL-03, OPS-05Jaccard ≥ 0.80 on Critical/High; ≥ 90% of findings replay
TC-18Clean-control run on T0Precision≤ 3 confirmed false Critical/High findings
TC-19Coverage reporting over tools / permissions / data flowsAGT-07Coverage shown and consistent with our traces
TC-23Judge accuracy against human labels (100-finding sample, 2 labelers)EVL-01, 02Cohen's κ ≥ 0.70 tool vs. adjudicated label
TC-24Reporting, mapping, evidence, remediation, severityRPT-01, 02, 04, 05; EVL-04, 05100% of findings mapped and evidenced; dismissals persist
Lifecycle & extensibility (week 4)
TC-22Author 5 custom objectives as code in the app repoATK-06, OPS-01Authored by our engineer in ≤ 4 h without vendor help
TC-25CI gate on T4 (GitHub Actions), with ticketing and SARIF/JSON exportOPS-01, 02; RPT-03Smoke suite ≤ 30 min; non-zero exit on failure; tickets created
TC-26Regression baselining v1 → v2 → v3 and scheduled drift runOPS-03, 04≥ 6 of 7 fixed/regressed status changes correct; holdout items found
TC-28Bring-your-own attacker modelATK-08Campaign runs with our self-hosted model

06Metrics

MetricDefinitionSource of truth
Recall (all / Critical / agentic / MCP)Ground-truth items detected ÷ items present, per categorySealed ground-truth register + our oracles
PrecisionConfirmed true Critical/High findings ÷ all reported Critical/HighTwo labelers + adjudication; T0 run
Evidence-backed rateAgentic findings citing a tool call that our traces confirmIndependent trace store
Judge agreement (κ)Cohen's κ between the tool's verdict and the adjudicated human label100-finding stratified sample
RepeatabilityJaccard similarity of Critical/High detections across 3 runsRun exports
Time to first findingMinutes from credentials issued to first confirmed findingPOC log
Analyst effortHours to configure + triage per full runTime sheets
Cost per appLicense + tokens per full suite per application per month (projected)Vendor invoice estimate + metered tokens
Holdout discoveryHoldout items found in v3 without being told they existGround-truth register

07Success criteria

#Success criterionThresholdLevel
SC-1Onboarding of T1 API and T2 without app code changes≤ 1 business day eachMUST
SC-2Recall on Critical ground-truth items≥ 6 of 7 (≥ 85%)MUST
SC-3Recall on all non-holdout items≥ 70% (stretch ≥ 85%)MUST
SC-4Recall on agentic items, evidenced by tool calls and confirmed side effects≥ 75%MUST
SC-5Recall on MCP items≥ 3 of 4 (MUST if UC-5 is in scope)SHOULD
SC-6Precision on Critical/High findings; confirmed false Critical/High on T0≥ 85%; ≤ 3MUST
SC-7Judge-to-human agreementκ ≥ 0.70MUST
SC-8Repeatability and replayJaccard ≥ 0.80; ≥ 90% replayMUST
SC-9CI smoke suite runtime and gate behavior≤ 30 min; fails on regressionMUST
SC-10Regression status accuracy v1→v2→v3≥ 6 of 7 correctMUST
SC-11Holdout discovery≥ 2 of 3SHOULD
SC-12Evidence and mapping completeness100% of findings: transcript + trace + replay config + OWASP/ATLAS mappingMUST
SC-13Containment and data handlingZero non-allowlisted egress; data in region; SSO + RBAC workingMUST
SC-14Value over OSS control group+15 pp recall, or equal recall at ≤ 50% analyst effortMUST
SC-15Cost predictabilityMeasured cost within ±25% of vendor estimateSHOULD
  • A vendor that fails any MUST is eliminated, unless the gap is roadmapped with a contractual date and does not involve SC-2, SC-4, SC-6, SC-7 or SC-13

08Weighted scorecard & decision rule

DimensionWeightInputs
Detection efficacy30%SC-2, SC-3, SC-6, SC-11
Agentic & MCP depth20%SC-4, SC-5, TC-11–17, TC-19
Evaluation trustworthiness10%SC-7, SC-8, SC-12
CI/CD & regression15%SC-9, SC-10, TC-22, TC-25
Effort & usability10%SC-1, SC-14, analyst hours
Platform security & deployment5%SC-13, TC-29, TC-30
Commercial & viability10%SC-15, pricing, continuity terms, references

Decision rule

  • Among vendors passing all MUSTs, select the highest weighted score
  • If the top two are within 5 points, tiebreak in order: (1) higher agentic evidence-backed recall, (2) self-hosted or VPC deployment, (3) stronger continuity terms
  • If no vendor meets SC-14 against the OSS control group: standardize on promptfoo + PyRIT with the reference harness and re-run the market scan in 6 months

09Timeline (5 weeks + prep)

WeekActivitiesExit gate
0 · PrepBuild T0–T5 and oracles; red team seals the ground-truth register; labelers trained; isolation, egress allowlist and spend caps in place; POC agreements signedTargets pass smoke test; register sealed with hash recorded
1 · OnboardTC-01–04, 27, 29, 30 for all finalists in parallel; OSS control group configured by our red teamAll tools running against T1/T2
2 · ExecuteFull campaigns TC-05–17 (+20, 21 stretch); 10 vendor-assist hours per vendor maximumRun exports collected
3 · EvaluateTC-14, 18, 19, 23, 24; labeling and adjudication; register unsealed for scoring onlyMetrics computed
4 · LifecycleT4 v2 and v3 builds (holdouts introduced); TC-22, 25, 26, 28Regression results
5 · DecideScorecard, commercial negotiation, architecture review readoutSelection + evidence pack

10Roles

RoleResponsibilities
POC lead (AppSec)Plan, schedule, vendor management, scoring, readout (A)
Red team leadDefines and seals the ground truth, runs the OSS control group, adjudicates labels (R)
Platform engineerBuilds and versions the targets, oracles, CI pipeline and isolation (R)
Labelers (×2)Independent finding labels for precision and κ (R)
Security architecturePlatform security review, SC-13 (C)
GRCEvidence-pack fit for AI RMF / EU AI Act / ISO 42001 (C)
ProcurementPricing, continuity and data terms (C)
CISO / AppSec directorFinal decision (I → A)

11Risks & mitigations

RiskMitigation
The tester's attacker agent reaches systems outside scopeIsolated network, egress allowlist, canary-only credentials, kill switch; TC-30 monitors firewall logs
Vendors overfit to known flawsSealed register, separate demo target, holdout items introduced late
Model nondeterminism skews resultsThree runs, pinned model versions, Jaccard and pass@k reported
Judge bias in scoringDeterministic oracles first; two human labelers with adjudication
Token spend overrunPer-target caps, metered tokens, daily spend report
Vendor acquired mid-POCContinuity clause in POC terms; OSS control group available as fallback

12Deliverables

  • Scorecard per vendor with raw metrics and run exports
  • Evidence pack: framework-mapped findings, traces, labels and κ calculation
  • Recommendation memo with commercial terms
  • The reference targets + oracles, kept as the vendor-neutral regression harness for whichever tool is selected