Explore RIFT.

22 pages
Laptop, test device and isolated network equipment on an assessment workbench.
Penetration testing

Find the weakness. Understand the consequence.

A penetration test examines a defined application, service or environment to identify weaknesses and understand their consequences. Its usefulness depends on the scope, the available context and the quality of the evidence. Plan the work around the decision it should support, then make the findings specific enough for the responsible team to act on.

LONG-FORM / 9 MIN READDEFINED SCOPE · USEFUL EVIDENCE
Keep the output useful

What the conversation should produce.

  • A signed scope statement listing in-scope assets, test accounts, environments, and constraints agreed by the asset owner.
  • A finding record for each verified observation that includes preconditions, reproduction steps, evidence, and a business-impact description.
  • A retest report that states pass, partial, or fail for each remediated finding and identifies any areas excluded from retesting.
BRIEFING / 01

Identify the application or infrastructure decision that testing supports

Identify the decision the assessment should inform. A release review may need evidence about selected critical workflows, while a planned migration may raise questions about changed boundaries and dependencies. An assessment can contribute to a procurement decision if the relevant access and scope are agreed, but it does not automatically provide a comparison across suppliers. Describe the uncertainty in plain language and identify who will use the result. That gives the engagement a purpose beyond producing a list of observations.

Consider a scenario where a product team must decide whether to expose a new API to external consumers. The decision hinges on whether authentication and authorization controls can be bypassed in realistic ways. The test should focus on those controls, not on peripheral services that are irrelevant to the release. A scope that mirrors the decision produces findings that map directly to the go or no-go criteria. A scope that ignores the decision produces a report that requires interpretation before anyone can act on it.

BRIEFING / 02

Define assets, test accounts, environments and constraints

Define assets precisely enough for the relevant owners to confirm what is included and excluded. Depending on the scope, the record may include applications, URLs, environments, interfaces, account boundaries or address ranges. Explain the business purpose and dependencies as well as the identifiers. Reconcile the list with the current environment so a stale inventory does not silently shape the assessment. Decide whether staging, production or a combination is appropriate by considering the question, configuration differences and operating constraints; no environment is automatically an adequate substitute for another.

Test accounts require separate consideration. Credentials should be provisioned specifically for the engagement, with documented permissions and limitations. Using live production accounts without explicit authorization introduces unnecessary risk and can contaminate audit logs. Constraints such as rate limits, maintenance windows, and data handling rules should be recorded before work begins. When constraints are unclear, the tester should pause and confirm rather than assume, because assumptions about what is permitted are the most common source of engagement friction.

BRIEFING / 03

Combine systematic coverage with contextual manual investigation

Use systematic coverage to reduce avoidable omissions while keeping the limits visible. Automated checks can help examine known patterns and repeat selected observations, but their results need validation and context. Manual investigation can explore workflows, role relationships and combinations that a chosen automated approach may not cover. The two methods are complementary rather than a guarantee of completeness. Record which areas were examined, the constraints encountered and what was left out so the reader understands the breadth and depth of the work.

The combination matters because each approach compensates for the other's blind spots. A scanner may flag a known vulnerability in a library, while a manual reviewer discovers that the application's authorization logic allows a user to access another user's records by manipulating an identifier. Both findings are valid, but they arise from different methods and carry different evidentiary weight. A well-structured engagement documents which findings originated from automated checks and which emerged from manual analysis, because that distinction affects how readers interpret the results.

BRIEFING / 04

Explain a verified finding through preconditions and business impact

A verified finding must state the preconditions that were required to observe the behavior. This includes the account type, the configuration state, the data present, and any steps the tester took to reach the vulnerable state. Without preconditions, a reader cannot judge whether the finding applies to their environment or whether it reflects an artifact of the test setup. Verification means repeating the observation under the same conditions and confirming that the behavior is reproducible, not that it was seen once during a single session.

Business impact should be described in terms that decision makers can evaluate, rather than in technical jargon alone. If a finding allows unauthorized access to customer records, the impact description should note what data is accessible, who could access it, and what actions become possible. This does not require claiming that the data was exfiltrated or that harm occurred. It requires stating what the vulnerability enables and what the organization would need to do to mitigate the exposure. The distinction between what was observed and what is hypothesized must remain clear throughout.

BRIEFING / 05

Distinguish technical severity, exposure and remediation priority

Technical severity, practical exposure and remediation priority are related but distinct. A severity assessment describes characteristics of a finding using an agreed method. Exposure concerns the conditions under which the affected behaviour can be reached, including access requirements and relevant boundaries. Organisational priority also depends on the affected workflow, data, existing controls, dependencies and the consequences of making a change. Record those considerations rather than treating a single label as an automatic instruction about what every organisation should fix first.

Consider two illustrative findings affecting different workflows. One requires a particular privileged role in a restricted environment; another affects a broadly used external interface. Those descriptions alone are not enough to rank them. Ask what consequence was demonstrated, which preconditions actually hold, who or what can reach the behaviour and whether other controls change the practical path. The owner can then make a documented decision. Avoid assuming that any finding is minor merely because it requires authentication, or urgent merely because an interface is public.

BRIEFING / 06

Use retesting to verify the stated fix without implying universal security

A retest examines whether the stated improvement addresses the finding under agreed conditions. Confirm the changed environment and reproduce the relevant observation where that is appropriate and authorised. The system owner normally implements the change through their own process; the assessment verifies the agreed outcome rather than silently taking over deployment. Record a partial result or an inability to test as such. The retest scope should explain which related behaviour was included and which wider regression or security questions remain outside it.

Retesting also clarifies what it does not prove. A passed retest confirms that the stated vulnerability is no longer present in the tested configuration. It does not confirm that other vulnerabilities do not exist, that the remediation does not weaken other controls, or that the system is secure against unanticipated attack strategies. Communicating this limitation explicitly protects both the tester and the client from overconfidence. The engagement record should note which areas were retested and which were excluded, so that future work can target the untested gaps.

Illustrative scenario / Not a client case study

A release decision for a new payment workflow

A fintech startup plans to launch a peer-to-peer payment feature that routes transfers through a new microservice. The engineering team has implemented token-based authentication and role checks, but the product owner wants assurance before the public release. The engagement is scoped to the payment microservice, its authentication gateway, and the database it writes to. Test accounts are provisioned with varying permission levels, and the staging environment mirrors production configuration. The scenario is illustrative and describes an illustrative situation.

  1. Decide whether the scope should include the authentication gateway or only the payment service, because findings in the gateway affect the entire platform while findings in the service affect only one workflow.
  2. Decide whether to test with production-like data volumes in staging, because performance-related failures can mask or reveal security-relevant behavior that small datasets do not exercise.
  3. Decide whether the release gate requires all findings above a certain severity to be remediated, or whether exceptions are permissible with documented risk acceptance and compensating controls.

This scenario establishes that scoping decisions shape which questions the test can answer, and that release criteria must be defined before testing begins. It does not establish that the described system is secure, that the decisions listed are universally correct, or that the scenario reflects any real organization's process.

Decisions that make a penetration test useful

QuestionWhat to establishUseful output
Which systems are in scope?Owner confirmation of assets, environments, and exclusionsSigned scope statement listing hostnames, accounts, and constraints
Does the finding apply to our environment?Documented preconditions and verification stepsFinding record with reproduction instructions and evidence
Which findings should we fix first?Severity, exposure, and remediation priority assessed separatelyTriage matrix linking each finding to a priority tier
Did the fix work?Retest under original preconditions with documented resultRetest report stating pass, partial, or fail with details

Scroll the table horizontally on smaller screens.

Useful questions.

Can a penetration test prove our system is secure?

No. A penetration test provides evidence about the agreed scope and conditions during the assessment. It cannot establish the absence of every weakness. The final record should distinguish verified findings, limitations and untested areas. A later retest can examine specific improvements, but neither an assessment with few findings nor a successful retest is a general certificate that the system is secure.

Should we test production or staging?

Choose the environment according to the question and operating constraints. A representative staging environment can make some investigation easier, but differences from production must be documented. Production work may be relevant to selected questions and requires explicitly agreed controls. Confirm configuration, data and dependency differences before assuming results transfer unchanged between environments.

Further reading: NIST SP 800-115: testing and assessment guidance. This independent resource provides background; no affiliation, certification or endorsement is implied.

The next useful question

What do you need
the evidence to tell you?

Start with the decision, the environment and the constraints. Create a scope brief you can download, review with your team and refine before any engagement is considered.

Build your scope brief ↗