Testing - coverage

Prompt Injection Testing Coverage Matrix

Which test objectives the reviewed PI-TST cases represent today, which supporting controls, Labs and knowledge pages back them, what evidence a coverage claim needs, and where the real gaps are.

30 coverage items21 reviewed cases

Covered is not secure

  • Covered means the current library contains a reviewed case for the stated objective. It says nothing about whether any system is secure.
  • A local system only earns a pass after its own authorized execution and evidence.
  • One representative case does not prove coverage of all variants of a channel or control.
  • Partially covered and Gap are roadmap signals for this library, not vulnerability findings.
  • There are no percentages or scores here on purpose.

Status model

Covered
At least one reviewed PI-TST case directly exercises the stated boundary or control objective with an explicit oracle and evidence path.
Partially covered
An existing case exercises part of the stated boundary, but an important channel, sub-boundary, lifecycle state or oracle remains outside that case.
Gap
No current PI-TST case directly exercises the stated objective.
Context only
Supporting Learn, Attack, Defense or Lab content exists, but there is no practitioner test case for the objective and none is prioritized yet.

Coverage matrix

30 of 30 coverage items shown

Entry and context

Indirect web content

Covered
Required evidence / oracle
Ingestion provenance of a fictional web fixture, context log, control decision and record-store state for the action layer.
Coverage note
Representative web-channel case. The case itself states that email, documents and search need their own runs.
Suggested action
No new case needed

Indirect email content

Covered
Required evidence / oracle
Context record of exact messages and attachments with sender and thread provenance, gateway decision bound to principal, mailbox, message, action and recipient, and sandbox transport and mailbox audit; allowed label as positive control.
Coverage note
PI-TST-014 adds sender, thread, attachment and mailbox-action evidence that the web case never sees. A structured benign forward exercises the gateway when no proposal occurs.
Suggested action
No new case needed

Indirect document and PDF content

Covered
Required evidence / oracle
Document hash and version, parser and OCR versions, segment-level layer provenance compared with the human-visible rendering, model-visible context and the record-store action decision; correctly extracted visible field as positive control.
Coverage note
PI-TST-015 treats an extraction discrepancy as a pipeline finding, not automatically as security impact. No malformed files or parser exploitation.
Suggested action
No new case needed

Retrieval relevance vs trust

Covered
Required evidence / oracle
Retrieval logs with scores, partitions and document IDs, answer integrity against a trusted policy page, and the protected action control.
Coverage note
Reports permission filter, provenance display, answer integrity and action control as separate results.
Suggested action
No new case needed

Retrieval permission and security trimming

Partially covered
Required evidence / oracle
Permission filter results per retrieved document for the querying principal.
Coverage note
PI-TST-003 records the permission filter result, but its objective is relevance vs trust. Cross-principal access variants are not systematically exercised.
Attack / Learn
Suggested action
Revisit later

Knowledge-base and corpus integrity

Covered
Required evidence / oracle
Write-path audit with actor identity, authoritative corpus version, ingestion and index records with hash, and retrieval logs with document version; authorized curator propagation and denied unauthorized write as paired positive controls.
Coverage note
PI-TST-017 counts a stored unauthorized write as a failure even if it is never retrieved, and never infers corpus state from model answers.
Attack / Learn
Suggested action
No new case needed

Persistent memory and stored context provenance

Covered
Required evidence / oracle
Proposed write with key, namespace and operation, write decision bound to principal and scope, store audit with version, later-session read record and context provenance label; authorized write and denied out-of-scope write as paired controls.
Coverage note
PI-TST-018 isolates memory from multimodal input. If the later session never reads the item, provenance retention is recorded as "Control not exercised"; model claims about remembering are never store evidence.
Suggested action
No new case needed

Multimodal input provenance

Covered
Required evidence / oracle
Asset hash and media type, OCR or transcription version, segment-level source attribution, context record with provenance label and the action decision; correctly extracted visible field as positive control.
Coverage note
PI-TST-019 is single-session only. Correct extraction is not instruction authority, and a recognition error is not automatically security impact.
Labs
-
Suggested action
No new case needed

Agents and actions

MCP metadata and discovery boundary

Covered
Required evidence / oracle
Host representation of tool definitions, selection and proposal records, and the host's runtime authorization decision.
Coverage note
Discovery, selection, influence, proposal, authorization and invocation are recorded separately.
Labs
-
Suggested action
No new case needed

MCP catalogue change and metadata lifecycle

Covered
Required evidence / oracle
Catalogue snapshots A and B, change provenance and the model-visible metadata after the change.
Coverage note
Covered for a single A to B change in one host; server identity and supply-chain integrity stay out of scope.
Labs
-
Suggested action
No new case needed

MCP post-call tool output

Covered
Required evidence / oracle
Server fixture and catalogue version used, invocation and result correlation, host context record with untrusted label, and follow-up decision bound to principal, resource, action and parameters; attributed lookup and allowed follow-up as positive controls.
Coverage note
PI-TST-020 covers the path after invocation that PI-TST-007 excludes. A valid tool result or known server identity is not permission for a follow-up.
Suggested action
No new case needed

Other model-visible MCP surfaces (resources, prompts)

Context only
PI-TST case(s)
None
Required evidence / oracle
Not yet defined; would depend on how a host presents resources and prompts to the model.
Coverage note
The MCP article notes that servers expose tools, resources and prompts. The library tests tool metadata only; no further protocol claims are made here.
Labs
-
Suggested action
Revisit later

Multi-hop delegation

Covered
Required evidence / oracle
Original principal and request ID, delegation records per hop with scope and correlation ID, final decision against original principal and current scope, and store state; in-scope chained action and denied out-of-scope variant as controls, plus a broken-lineage variant.
Coverage note
PI-TST-021 extends the single handoff of PI-TST-008 to three hops. Missing lineage must not yield a confident allow or fall back to executor identity. Shared-state propagation stays out of scope.
Labs
-
Suggested action
No new case needed

Controls and data flow

Just-in-time and time-bound elevated privilege

Context only
PI-TST case(s)
None
Required evidence / oracle
Would need elevation grant and expiry records from the identity system.
Coverage note
The Least Privilege defense article covers just-in-time and time-bound elevation; no test case exercises grant expiry.
Attack / Learn
-
Suggested action
Revisit later

Human approval exact-action binding

Covered
Required evidence / oracle
Exact approval display, approval record bound to action and parameters, and authorization after approval.
Coverage note
Approval is not authorization; both are recorded.
Attack / Learn
-
Suggested action
No new case needed

Operations and assurance

Priority gaps

No prioritized candidate gaps remain in the current matrix. Test cases PI-TST-014 to PI-TST-021 cover these gaps. The partial, context-only and revisit rows stay visible on purpose: they are honest signals about scope, not automatic requirements for new cases.

Do not create a new case

These objectives are already represented by a reviewed case. A further case would add pages, not a new oracle.

Revisit later

Partial or context-only rows that are real but not distinct enough yet to justify a new case. They stay at their current status until a case provides the evidence.