Skip to content

RINP // CYBERSECURITY SERVICES

Resource Center
Evidence Package Example

What does an evidence packageconcretely look like?

The executive summary, verified technical findings, safe PoC records and remediation priorities of an offensive security engagement must all rest on the same risk picture. Across three anonymized examples, we show how this report structure reads for management and technical teams.

// ANONYMIZED EVIDENCE PACKAGE01

The anatomy of the evidence report: an anonymized example across 3 services

Open each card and you see the context of the relevant service's evidence report, its production discipline, and how a finding, an attack path or an abuse example reads. No customer identity appears. The structural backbone is preserved.

The example below is an anatomical skeleton. Every field that could imply an identity is marked [REDACTED].

This page is not a case narrative. It shows the reader, in advance, the structure of the evidence report we deliver at the end of an Application Security Penetration Test. The customer name, sector narrowing, numeric fingerprint and technology stack have been removed. The structural backbone and the decision impact are preserved.

Redaction discipline

Anonymized does not mean fabricated. The problem structure and evidence logic in this example rest on a real Red in Pulse working pattern. The customer identity and any fields that could imply an identity have been removed through structural abstraction and qualitative transformation. The example has been put through an industry practitioner's guess test.

Context block

Sector category

A high-volume digital product team · a multi-tenant SaaS pattern

Business-scale character

A high-volume end-user base, a continuous release tempo, a multi-role user model

Decision pressure

Single-point depth before a new tenancy-model release + a customer security-review reference

Problem structure

The customer was releasing a new sharing layer (a shared-workspace model in which more than one tenant can grant controlled access). As the release window approached, three questions were not bound to evidence: is the tenant boundary preserved in the new layer, are the old authority checks called on the new endpoints, is the read/write boundary applied consistently in the business logic? The annual automated scan did not answer these questions.

Executive-summary sample

EXECUTIVE SUMMARY - [CLIENT: REDACTED]

The offensive-view validation performed before the new sharing-layer release found, on the critical flow, two cross-tenant authority leakages, one business-logic break and one function-level control gap; reproducible evidence exists for each finding. Management bound the release decision to the evidence ground: two critical findings were closed with a fix-first backlog before release, the third was planned for the next sprint. Revalidation is complete; closure is visible. Controlled-execution discipline was preserved throughout written authorization and approval gates.

Finding examples

Finding 01 - cross-tenant authority leakage
Severity

Critical · CVSS [REDACTED] / 10 · EPSS [REDACTED] · business impact: tenant-boundary breach

Location

Share-layer endpoint - the resource-id parameter is processed without an ownership check.

Evidence

Request/response trace + a safe PoC + reproduced across three separate sessions (all identifiers [REDACTED]).

Impact

A Tenant-X user gains read access to Tenant Y’s critical record set; a business-logic break.

Remediation

Object-level authorization at the resource level; pushing the share-layer control down into the data layer.

Priority

Fix-first backlog #1 - close before release; revalidation mandatory.

Finding 02 - a function-level control gap
Severity

High · CVSS [REDACTED] / 10 · EPSS [REDACTED] · business impact: a privilege-escalation path

Location

The old tenant-control function is not called on the new share-layer endpoints.

Evidence

Reproduced on two separate endpoints; the request trace is in the report; no production data was used.

Impact

A low-privilege role gains access to parts of an admin action in the new layer.

Remediation

Centralized enforcement of the authorization middleware on the new endpoints; re-running the test after release.

Priority

Fix-first backlog #2 - close before release; revalidation planned.

Evidence chain - PoC steps (redacted)

The three steps below show the reproduction logic of Finding 01. All endpoint paths, user identities, tenant identifiers, session tokens and sample values are [REDACTED]; the evidence structure is preserved, its content masked.

  1. A request to the share-layer endpoint with a Tenant-X session: GET [REDACTED_PATH]/[REDACTED_RESOURCE_ID] (Authorization: Bearer [REDACTED]).

  2. The resource-id parameter was changed to Tenant Y’s record set: GET [REDACTED_PATH]/[REDACTED_TENANT_Y_RESOURCE_ID].

  3. Response 200 OK; Tenant Y’s critical record set returned; the ownership check was bypassed. Reproduction confirmed across three separate sessions.

All identifiers [REDACTED]; the sample was produced in a controlled test environment; no real customer data was included in the report.

Decision impact - fix-first backlog summary

The findings are not a single table; they moved into the technical team’s work tracking with a defined owner, a priority tag and a validation logic. A risk view for management and a Jira-transferable field discipline for the product team were delivered together.

  • Finding 01 (Critical): close before release · owner: product team · revalidation: mandatory.
  • Finding 02 (High): close before release · owner: platform team · revalidation: mandatory.
  • Additional findings moved to the next sprint; the closure order and revalidation note were recorded in the executive summary.

Closure note / revalidation

When the fixes were complete, revalidation was performed for each critical finding; the response behavior and the ownership check were retested. The closure note was added to the executive summary; the release decision was carried by evidence. During the customer security-review process, the technical summary and scope statement were shared in a portable form.

The “REDACTED” marker indicates fields from which the customer identity, product name, technology stack, numeric fingerprint and session identifiers have been removed; the structural backbone is preserved everywhere.

The example below is an anatomical skeleton. Every field that could imply an identity is marked [REDACTED].

This page is not an attack narrative. It shows the reader, in advance, the structure of the attack-path package, the detection-gap matrix and the fix-verify work-list we deliver at the end of a Modular Red Team Simulation. The customer name, sector narrowing, numeric fingerprint and technology stack have been removed. The structural backbone and the decision impact are preserved.

Redaction discipline

Anonymized does not mean fabricated. The scenario assumption, attack-path pattern and detection-gap logic in this example rest on a real Red in Pulse working pattern. The customer identity and any fields that could imply an identity have been removed through structural abstraction and qualitative transformation. The example has been put through an industry practitioner's guess test.

Context block

Sector category

An organization running operational critical infrastructure · a hybrid IT/OT pattern

Business-scale character

Critical-scale operations, a privileged-identity-dense environment, a multi-segment network topology

Decision pressure

Control-effectiveness validation after a new segmentation and privileged-access investment

Scenario assumption

The engagement was run under the RT-3 Assume-Breach Simulation frame. The starting assumption: access has been obtained with a low-privilege session on an end-user workstation; the attacker is inside. The question asked: is there an attack path to the critical target (the operational management interface), and does the segmentation and privileged-access control see the attack or miss it? RoE frame: no destructive action, no real data exfiltration, controlled execution; stop criteria in writing; SOC and IR contacts on the emergency line.

Executive-summary sample

EXECUTIVE SUMMARY - [CLIENT: REDACTED]

In the assume-breach scenario the attacker, starting from a low-privilege end-user session, reached the privileged-access boundary of the operational management interface in five steps; the arrival at the critical target was stopped within the controlled-execution frame. The detection-gap matrix revealed that the telemetry sources did not see the attack at three steps, partly saw it at two steps and caught it with a correct alarm at one step. Management saw, with evidence, that the segmentation and privileged-access investment produced a control break-point at two layers and left a gap at one. The fix-verify work-list, seven items, was handed to the SOC and platform teams; an RT-5 scenario repeat was planned three months later.

Attack-path timeline

The steps below show the attack path from the starting foothold to the critical target, together with the MITRE ATT&CK mapping. All target identities, IPs, session tokens, machine names and sample values are [REDACTED]; the attack structure is preserved, its content masked.

  1. Step 1 - Starting foothold

    A workstation session with the [REDACTED_USER] account (T1078 Valid Accounts); starting privilege: standard user. Detection: the SOC saw the user session as routine.

  2. Step 2 - Local discovery and credential harvesting

    Local discovery on the workstation (T1083) and cached-credential extraction (T1003.001 sub-technique). EDR raised an alarm, but the reporting process missed the escalation.

  3. Step 3 - Lateral movement

    Lateral movement with the harvested credential to the [REDACTED_INTERNAL_HOST] server (T1021); on the crossing from the workstation segment to the management segment, the segmentation control did not apply the expected filter.

  4. Step 4 - Privilege escalation

    Privilege escalation in the management segment via a misconfigured service account (T1078.002 + T1068); the privileged-access protection layer did not block this path.

  5. Step 5 - Reaching the critical target

    With the escalated privilege, the access boundary of the operational management interface was reached (near TA0040 Impact); it was stopped without taking action within the controlled-execution frame; the SOC raised an alarm and the correct escalation was made.

All identifiers [REDACTED]; the scenario was run in a controlled test window, under written authorization and stop criteria; no real customer data was included in the report.

Detection gap matrix

The matrix below summarizes, for each attack step, in which telemetry source it was seen, missed or partly seen. The goal is to produce a measurable gap list for the SOC and Blue Team; not a blaming frame but control-effectiveness visibility.

  • Step 1 - Starting session: SOC full visibility; the routine session was accepted (expected).
  • Step 2 - Credential harvesting: EDR raised an alarm; the reporting process missed the escalation (gap #1 - process).
  • Step 3 - Lateral movement: network telemetry partly saw it; the segmentation rule produced a gap (gap #2 - control).
  • Step 4 - Privilege escalation: identity telemetry saw the anomaly; the alarm priority was low (gap #3 - classification).
  • Step 5 - Critical-target access: the SIEM correlation rule raised the correct alarm; correct escalation and a stop were performed (control effective).

Chain-breaking control recommendations

  • Gap #1 - Reporting-process escalation rule: a high-priority classification and an automatic IR assignment for the EDR credential-alarm type.
  • Gap #2 - Segmentation rule: an allow-list protocol filter on the crossing from the workstation segment to the management segment; an identity-based access boundary.
  • Gap #3 - Privilege-escalation telemetry classification: the service-account usage anomaly should be re-mapped as a high-priority alarm type.

Fix-verify work-list

The findings are not a single table; they moved to the technical team with a defined owner, a priority tag and a validation logic. A risk view for management, a work-list for the SOC and platform teams, and a validation plan for the RT-5 scenario repeat were delivered together.

  • Gap #1 (Critical): IR process rule · owner: SOC leadership · validation: RT-5 scenario repeat.
  • Gap #2 (Critical): segmentation rule · owner: network team · validation: controlled re-run.
  • Gap #3 (High): identity-telemetry classification · owner: identity team · validation: a BAS scenario.
  • Four additional improvement items were taken into the next sprint plan; the closure order was recorded in the executive summary.

Closure note / RT-5 follow-up

When the fixes were complete, three months later the same attack path was re-run step by step with an RT-5 structured validation sprint; the detection-gap matrix was re-measured. Of the three gaps, control was effective at two, one was partly closed and moved to the next sprint. Management saw that the segmentation investment produced evidence-validated control effectiveness; the RT-5 rhythm became a sustainable validation backbone.

The “REDACTED” marker indicates fields from which the customer identity, product name, technology stack, numeric fingerprint, network identifiers and session details have been removed; the structural backbone is preserved everywhere.

The example below is an anatomical skeleton. Every field that could imply an identity is marked [REDACTED].

This page is not a prompt-injection demo. It shows the reader, in advance, the structure of the evidence report we deliver at the end of a Generative AI Red Team, covering the prompt, tool, RAG, MCP, data and action chain. The customer name, agent product name, numeric fingerprint, model provider and technology stack have been removed. The structure of the runtime chain and the decision impact are preserved.

Redaction discipline

Anonymized does not mean fabricated. The agent-workflow definition, abuse-path pattern and chain-breaking logic in this example rest on a real Red in Pulse working pattern. The customer identity and any fields that could imply an identity have been removed through structural abstraction and qualitative transformation. The example has been put through an industry practitioner's guess test.

Context block

Sector category

An organization applying agentic GenAI in customer service · a multi-channel help-desk pattern

Workflow character

High-volume agentic support, knowledge-base access via RAG, CRM and billing-system authority over MCP

Decision pressure

Runtime-chain validation before go-live after write-authorized tools were added

Agent-workflow definition

The tested workflow: an agent receiving a customer-support request retrieves relevant documents from the knowledge base (RAG) and, when needed, can update the customer record via MCP tools connected to the CRM and billing systems. The agent served three roles: anonymous visitor, registered customer and customer agent. Write-authorized tools were active only in the customer-agent role. The question: can the role boundary be crossed with an indirect prompt injection, can another customer’s record be reached through the agent’s authority?

Executive-summary sample

EXECUTIVE SUMMARY - [CLIENT: REDACTED]

In the runtime-chain test, an indirect prompt-injection payload planted in the RAG knowledge base gained read access, in five steps, from the registered-customer role to another customer’s record; the write action was stopped within the controlled-execution frame. The chain-break-point analysis showed control gaps at three architectural layers: no RAG source-trust classification, the system prompt does not carry the role context stably across the request flow, and there is no additional authority gate (approval model) at the MCP tool call. Management did not delay the go-live decision; hardening was applied in sequence, and chain closure was made visible with a focused retest. No production data was included in the report; all testing was done with masked records.

Abuse-path steps

The steps below show the chain from an indirect prompt injection planted in the RAG knowledge base to the authority leakage, together with the OWASP LLM Top 10:2025 and MITRE ATLAS mapping. All prompt content, source identifiers, agent/session IDs and sample values are [REDACTED]; the chain structure is preserved, its content masked.

  1. Step 1 - RAG source planting

    A hidden instruction was planted in a record that looks like a helpful document added to the knowledge base (LLM01 Prompt Injection, indirect - ATLAS AML.T0051.001). The RAG retrieval layer did not classify source trust.

  2. Step 2 - Registered-customer request

    A [REDACTED_QUERY] request was sent in the registered-customer role; while fetching relevant documents from RAG, the agent also pulled the poisoned record.

  3. Step 3 - System-prompt override

    The hidden instruction overrode the role boundary in the system prompt within the request flow (the LLM02 Sensitive Information Disclosure threat materialised). The agent proceeded without re-evaluating the role context.

  4. Step 4 - MCP tool call

    The agent called the [REDACTED_TOOL_NAME] tool on the CRM MCP server with another customer’s record ID; there was no additional authority gate (approval model).

  5. Step 5 - Data leakage

    Record data was leaked into the response flow; a masked test record was used within the controlled-execution frame. The write-action attempt was blocked by a stop criterion.

All identifiers [REDACTED]; the engagement was run under written RoE, production approval, stop criteria and masked-test-data discipline; no real customer data was included in the report.

Chain map - prompt → tool → data → authority

The map below summarizes the behavior observed at each node of the chain. Which layer applied a security control, which let it through - the structural view sets the hardening order.

  • Prompt layer: the system prompt carries the role context in the first request; re-evaluation in the next turn is missing (chain break-point #1).
  • RAG layer: document retrieval works; source-trust classification is absent (chain break-point #2).
  • Tool layer (MCP): the tool-call permission matrix is defined at role level; an identity-boundary check on the call parameter is missing (chain break-point #3).
  • Data / authority layer: the back-end API applies the record-ownership check at the call-parameter level, not at the agent-identity level (gap #4 - defense-in-depth missing).

Chain-breaking control recommendations

  • Break #1 - System-prompt re-evaluation: the role context and action boundary should be re-injected stably at the start of every turn.
  • Break #2 - RAG source trust: a trust label for knowledge-base records; at low trust, instruction-looking content should be filtered out.
  • Break #3 - Approval model at the MCP tool call: an additional authority gate (user approval or a policy rule) for write-authorized tools.
  • Gap #4 - Back-end defense-in-depth: the record-ownership check should also be applied at the agent-identity level; the call parameter cannot be the only defense layer.

Fix-verify work-list

The findings are not a single table; they moved to the technical team with a defined owner, a priority tag and a validation logic. A risk view for management, a work-list for the product team, and a validation plan for the focused retest were delivered together.

  • Break #1 (Critical): prompt management · owner: AI platform team · validation: focused retest.
  • Break #2 (High): RAG trust label · owner: knowledge-base team · validation: focused retest.
  • Break #3 (Critical): MCP approval model · owner: agent-workflow owner · validation: end-to-end retest.
  • Gap #4 (High): back-end ownership check · owner: API team · validation: unit test + retest.

Closure note / focused retest

When the fixes were complete, hardening was applied in sequence; the focused retest re-ran the same chain. Control was effective at all three break-points; the back-end ownership check was completed in the next sprint and closure was made visible with an end-to-end retest. Management carried the go-live with evidence; in the agent workflow the interpretation “RAG source trust = implicit assumption” was permanently changed.

The “REDACTED” marker indicates fields from which the customer identity, agent/product name, model provider, MCP server name, RAG source identifier, session token and sample prompt content have been removed; the structural backbone is preserved everywhere.

// EVIDENCE PACKAGE

Let's talk through how your own evidence report will look.

Share your decision priority and target surface, and in a discovery call let's clarify together which verified finding will be produced for you.