Penetration Testing · 9 min read

After a penetration test: turn findings into verified fixes.

Turn a penetration test report into action: prioritize attack paths, assign clear fixes, validate changes, and use retest evidence to show what is resolved.

THE BRIEF

What you’ll take away

  • Prioritize by reachable business impact, the attack path, and current threat information.
  • Give each finding an accountable owner, an observable acceptance condition, and evidence of the change.
  • Keep implementation progress separate from retest results so unverified fixes stay visible.
Explore the guide
In this guide

Make the report the start of a working plan

The penetration test report has arrived. Engineering sees a backlog, leadership sees severity labels, and a customer may be waiting for evidence. The immediate task is to connect those perspectives. Decide which exposures need action first, who can make the changes, and what will demonstrate that each correction worked. NIST SP 800-115 treats analysis, mitigation, implementation, and verification as essential work after testing. [1] A report becomes valuable when its findings lead to decisions and observable improvements.

Use a walkthrough with the tester and system owners to resolve uncertainty before tickets spread across teams. Distinguish what was demonstrated from what was inferred, identify the affected versions and environments, and record assumptions about the tester’s starting access. Preserve stable finding identifiers across the report and work tracker. Route urgent exposure through your established response process as soon as it is known; a final report meeting should not become a reason to wait.

Throughout this guide, consider a fictional professional services company with a customer portal. Its test finds that a signed-in user can access another customer’s export. A diagnostic file within that export exposes a reusable service credential. That credential permits access to a wider cloud document store. These are three findings with different owners, but together they explain a business outcome: one ordinary account could reach information belonging to other customers.

Translate technical severity into business priority

A severity score is useful context, but it does not make the scheduling decision. FIRST explains that a CVSS Base score measures vulnerability severity and should not be used alone to assess risk; its Threat and Environmental metrics add context. [2] Preserve the report’s scoring method and rationale. Then document your organization’s priority using the affected business service, data sensitivity, exposure, attacker prerequisites, existing controls, and consequences of exploitation.

For findings tied to a published software vulnerability, check whether the affected product and version match and whether CISA lists it in the Known Exploited Vulnerabilities catalog. [3] Treat exploitation information as an input to the decision. Absence from the catalog does not demonstrate safety, and a custom authorization flaw may have no published identifier at all. The portal’s demonstrated cross-customer access still needs attention on its own evidence.

In the fictional company, the business owner can explain which documents are involved and which customer commitments depend on the portal. Engineering can explain whether the vulnerable route is reachable and how widely it is used. Security can connect those facts to the demonstrated path. Record the resulting order and target dates with a reason, including dependencies or restrictions. This makes an exception visible and reviewable instead of quietly moving a serious finding to the next sprint.

01 / SET THE RIGHT PRIORITY

Severity starts the conversation. Context sets the response.

Combine the technical finding with the environment it actually affects.

Severity

Technical impact and the conditions needed to exploit it.

Real exposure

Who can reach the weakness, through which access path?

Business consequence

What could happen to customer data or operations?

Existing safeguards

Which controls reduce the risk, and what proves they work?

OWNED PRIORITY DECISIONOwner · next action · target date · rationale

Record the decision and revisit it when exposure or evidence changes.

FICTIONAL COMPARISONDifferent context, different next step
A / CUSTOMER DATA AT RISKCross-customer access defect

An internet-facing portal API lets one tenant read another tenant’s account exports.

NEXT STEP

Prioritize containment and a server-side authorization fix.

B / CONTROLS NEED CONFIRMATIONIsolated service, patch applied

Admin access is restricted and a patch is installed; closure still needs evidence.

NEXT STEP

Confirm the isolation and retest the affected service.

Illustrative examples, not customer findings. Validate safeguards before relying on them. Priority and target dates depend on actual exposure, business impact, obligations, and remediation capacity.

Break the attack path and address its causes

Read the attack narrative alongside the individual findings. The most useful early action may interrupt several steps at once. In the portal example, revoking the exposed credential and replacing it through a controlled process can remove that credential’s access to storage. Restricting the affected export route can reduce the entry point while engineers repair authorization. Neither action by itself resolves every finding. Keep the original weaknesses and their remaining exposure visible until each has been addressed. Closing a finding does not establish whether it was previously exploited; involve your incident-response lead if evidence suggests misuse.

Build a small dependency map: the weakness, the access it grants, the next system reached, and the control that can stop that transition. Ask whether alternate paths still exist. If a new credential receives the same excessive permissions, the original secret is gone but the design problem remains. If only the browser button disappears, the API may still permit the request. Those distinctions help avoid closing several tickets on the strength of one narrow change.

Look for the process that allowed the weakness to recur. NIST recommends root-cause analysis covering technical issues and organizational practices. [1] For this company, useful follow-up questions include who approves service-account permissions and how diagnostic bundles are checked before publication. Choose a specific preventive change, assign it separately, and verify it. A long-term improvement should not delay urgent containment, and urgent containment should not erase the longer-term task.

Review Authentication, Authorization & Permission DesignExplore Cloud Hardening & Control Implementation

Give the implementer a complete handoff

A ticket titled “fix broken access control” leaves too much interpretation to the person doing the work. OWASP’s reporting guidance calls for findings that an engineer can understand, reproduce, and resolve, supported by references and appropriately protected evidence. [4] Carry that information into the work item without copying sensitive material into broadly visible tools. Link the ticket to the controlled report and preserve enough context for an engineer who missed the walkthrough.

Name one accountable owner for the finding even when several teams contribute. In the portal example, the application owner coordinates the authorization correction, while identity and platform owners handle the credential and storage permissions. Use linked tasks for their changes and list the dependency explicitly. Give the coordinator authority to resolve blockers or a clear escalation path. A shared team mailbox is useful for communication, but someone must still own the decision that work is ready to verify.

Write the acceptance condition before implementation starts. For the portal, it could state that a user assigned only to customer A cannot obtain customer B’s export through any identified delivery route, while authorized exports still work. Include representative roles, the relevant environment, and the expected evidence. This turns a general recommendation into a checkable outcome while leaving engineers room to choose the right implementation.

  • Finding identifier, affected resources, and protected reproduction evidence.
  • Accountable owner, contributing teams, dependencies, and target date.
  • Proposed correction, change record, and observable acceptance conditions.
  • Validation evidence, retest status, and any remaining restriction or risk.
02 / MAKE THE HANDOFF ACTIONABLE

One finding. A complete path to an accepted fix.

Fictional finding AUTH-01: a cross-customer authorization defect in a portal’s account export API.

  1. EvidenceMake the failure reproducible

    With approved test accounts, Tenant A could read Tenant B’s account export. Attach sanitized request and response evidence, the affected endpoint, and test conditions.

  2. Accountable ownerName the role that can deliver the fix

    The API engineering lead owns the application change. The security lead coordinates verification; the business owner approves the priority and target date.

  3. Change planDefine the control and the rollback

    Enforce tenant ownership on the server for every object request. Review related endpoints in scope, deploy through change control, and prepare a rollback if permitted access breaks.

  4. Acceptance checkProve both denial and legitimate access

    Tenant A cannot retrieve Tenant B’s account export; Tenant B retains permitted access. Repeat the agreed checks on related endpoints and retain the results.

Keep one shared record. Link the finding, owner, approved change, and retest evidence so the handoff can be reviewed.

Fictional example using authorized test accounts. Adapt the change and acceptance checks to the application’s authorization model and the agreed engagement scope.

Use temporary controls with an explicit end condition

Some corrections require a release, a vendor change, or a maintenance window. A temporary control can reduce exposure while that work proceeds, but it needs its own owner and validation. Possible measures include disabling an affected feature, narrowing an identity’s permissions, or limiting a service to an approved access path. Choose the measure from the actual finding. A generic monitoring alert does not establish that unauthorized access is prevented.

In the fictional portal, the company might suspend the vulnerable export capability and provide an approved manual process for legitimate requests. Record which routes were disabled and check that another export endpoint does not bypass the restriction. Explain the operational cost to the business owner, including added work for support staff. If the workaround is too difficult to follow, people may create another route around it; involve the people who will operate it.

Set an expiry or review date, the durable fix being pursued, and the conditions for removing the restriction. At that checkpoint, require a decision to replace, extend, or end the temporary measure. Preserve evidence of what it blocks and what it leaves exposed. If the organization accepts remaining risk, identify the decision-maker and the review trigger. Risk acceptance is a documented business decision; it does not turn an unresolved technical weakness into a verified fix.

Validate the change before calling it ready

A merged code change and a deployed correction are different milestones. Confirm which release, configuration, or policy actually reached each affected environment. NIST recommends testing proposed modifications in a representative environment before production deployment and then verifying their implementation. [1] Follow your change process, including operational checks and a recovery plan appropriate to the system. Record material differences between the test environment and production so they do not disappear in the status update.

Check both denied and permitted behavior. The portal must reject another customer’s export while allowing the legitimate customer to retrieve the right file. Include relevant roles and delivery paths, rather than testing only the exact screen where the issue appeared. OWASP recommends validating permissions on every request and creating unit and integration tests for authorization logic. [5] Add regression coverage for the failed boundary so a later release is less likely to recreate it.

For the credential finding, collect evidence that the old credential no longer works, the replacement has only the necessary access, and the diagnostic-file process no longer exposes it. Keep the values themselves out of ordinary tickets. If the change is rolled back, reassess the finding and any temporary restriction rather than leaving its status unchanged. The record should describe the running system, not the best state reached during development.

Explore Web Application Penetration TestingExplore API Penetration Testing

Retest the finding and record the result honestly

A retest answers a defined question about the corrected finding. Give the tester the original identifiers, change summary, deployed version, affected environments, and working test accounts. Agree which original paths and related variations will be examined, the safe evidence to collect, and any remaining exclusions. When the design changes substantially, explain that before testing so the old reproduction steps are not mistaken for complete coverage of the new implementation.

The tester should connect the observed result to the original weakness and the agreed acceptance conditions. OWASP recommends that retest reporting link previous findings to their updated status. [4] An unavailable endpoint or expired account may prevent reproduction without demonstrating a correction. Record the reason for that limitation. Where only part of the affected estate was checked, state which instances were verified and which still need attention.

Use clear outcome labels like the ones below, with evidence and dates. Keep a separate implementation status when engineering reports completion before testing can occur. A focused retest is not a new assessment of every feature, and a closed finding does not establish that the whole application is secure. If the retest reveals another weakness, track it explicitly rather than hiding it inside the narrative of the original item.

Suggested retest states for a remediation tracker
StateWhat the record should mean
Verified fixedThe agreed checks support closure for the named scope, version, and date; evidence is attached.
PartialSome affected paths or instances are corrected, but a stated portion of the weakness remains.
OpenTesting confirms the weakness remains, or no correction has been implemented.
Not retestedNo completed retest supports a conclusion; record the access issue, scheduling gap, or other limitation.
03 / CLOSE WITH EVIDENCE

A deployed change is ready for verification.

A retest produces a scoped conclusion, with unresolved work kept visible.

  1. Implement the change

    Record the build, environment, and controls changed.

  2. Run an authorized retest

    Confirm permission, scope, test conditions, and timing.

RECORD THE ACTUAL STATUS
Verified fixed

The agreed checks passed for the tested finding and conditions.

Partially fixed

Some checks passed; a remaining exposure still needs an owner.

Still open

The weakness remains reproducible under the agreed test conditions.

Not retested

No retest conclusion yet. Record the blocker and next action.

Partially fixed or still open?

Return to the owner, revise the change, and schedule another authorized retest.

RETAIN WITH THE RESULT

Test date · environment / build · agreed scope · supporting evidence

A finding retest supports a conclusion about the checks performed at that time. It does not establish that the entire system is secure or replace broader testing after material changes.

Show leadership what changed and what still needs a decision

A leadership update should explain the business exposure reduced, the remaining exposure, and the decisions required. For the portal, say whether cross-customer exports are blocked, whether the exposed credential was revoked, and whether storage access was narrowed and verified. State any operating restriction still in place. A percentage of closed tickets can hide an unresolved path to sensitive information, especially when easy findings outnumber difficult ones.

Use a dated summary with links to the supporting records: original finding, accountable owner, implemented change, retest outcome, and next decision. Separate verified results from reported implementation and accepted risk. Call out blocked work and expiring temporary measures. Ask leadership for a concrete action, such as approving a maintenance window or resolving ownership across teams, rather than presenting an overdue list without the reason it is overdue.

For customers or other external reviewers, prepare an appropriately scoped summary that identifies what was tested, when, and what the retest established. Keep detailed attack evidence and sensitive architecture restricted to the appropriate recipients. Describe limitations accurately and avoid implying a certification or a guarantee. The useful assurance is traceable evidence about the agreed work, with enough context for the reader to understand its boundaries.

Explore vCISO & Fractional Security Leadership

Carry the lessons into the next release

When the immediate findings are addressed, review what made remediation difficult. Was ownership unclear? Did a shared identity make permission changes risky? Did the same missing authorization check appear in several features? Select a small set of preventive improvements and give them owners. In the fictional company, a reusable authorization test and a review of diagnostic-file contents may be more valuable than repeating the same ticket cleanup after every assessment.

Source Point Security connects manual penetration testing with practical remediation guidance and retest evidence. The same principal scopes, performs, and reports the engagement. When a finding points to a broader permissions or cloud-design issue, architecture work can help define the changes; when priorities span teams, security leadership can coordinate the decisions. Start with the report, the changes already made, and the outcome you need to verify. Those inputs help shape the next step around the exposure that remains.

Explore Penetration TestingRead our guide to penetration test scope and cost

See what useful reporting looks like. Our illustrative sample pentest report shows scope, evidence, risk, remediation, and verification using a fictional environment.

YOUR NEXT STEP

Turn your findings into a plan you can verify.

Tell us which systems were tested, what has changed, and where remediation is blocked. We’ll help define the right testing, architecture, or advisory scope.

Discuss remediation and retesting

References & further reading

  1. NIST SP 800-115: Technical Guide to Information Security Testing and Assessment
  2. FIRST: Common Vulnerability Scoring System v4.0 User Guide
  3. CISA: Known Exploited Vulnerabilities Catalog, official data mirror
  4. OWASP Web Security Testing Guide v4.2: Reporting
  5. OWASP Cheat Sheet Series: Authorization

Share this guide on LinkedIn