Phase 08.02 · The Core of the Report

Writing a Finding

The findings are the part of the report the engineers turn to first and the part that proves you understood what you broke. A good finding is not a paragraph of prose — it is a small, repeatable structure with a fixed set of slots, each answering a question the reader is about to ask. Learn the structure once and every finding you ever write gets faster, clearer, and harder to argue with.

00

What a finding is

The technical observations — the findings — are the substance of the report. A finding documents a specific weakness that let you penetrate further into the environment, and it provides the detail the client needs to understand, reproduce, and fix it. The vast majority of findings trace back to one of three root causes: authentication (weak, default, or missing credentials), configuration (something set up insecurely), or patching (out-of-date or unsupported software). Keeping those three families in mind helps you both classify a finding and, later, recommend the right fix for it.

A finding is not a diary entry and it is not a vibe. It is a structured artifact. The discipline of the next section — always filling the same slots, in the same order — is what makes a report consistent across dozens of issues and credible to a reader who was not there when you found them.

Lesson
08.02
Phase
Reporting
Reads with
CVSS
01

The anatomy of a finding

Every credible finding carries the same set of fields. Each one exists to answer a specific question, and leaving one out leaves the reader guessing:

FieldThe question it answersGet it right
TitleWhat is wrong, in one line?A single descriptive sentence. The title alone should explain the problem — "Default administrator credentials on the build server", not "Authentication issue".
SeverityHow bad is it?A rating from one consistent metric (CVSS), used the same way across the whole report and explained to the client.
ObservationWhat did you actually see?A detailed, factual account of what you found and did — no speculation dressed up as fact.
ImpactWhy should the business care?The potential consequence to the organization — data exposed, accounts compromised, footholds gained — in business terms.
EvidenceHow do you know?A screenshot, command output, or code listing that proves you used the issue to compromise the target. Proof, not assertion.
Affected assetsWhere does it apply?The IP address(es) or hostname(s) involved. A single finding can affect one host — or hundreds.
RecommendationWhat should they do?Actionable steps to resolve it, expressed as a security outcome. (Covered in depth in 08.04.)

The title deserves a moment of its own. A vague title forces every reader to dig into the body just to learn what the finding is about; a precise one lets an executive scan the findings list and grasp the engagement at a glance. If you can read your titles top to bottom and understand the shape of what went wrong, you have written them well.

02

A worked example

Abstract structure clicks when you see it filled in. Here is a complete finding from a sample engagement against the practice client Valley Veterinary Ventures, written the way it would appear in a real deliverable:

FieldContent
TitleDefault administrator credentials on the Jenkins build server
SeverityHigh — CVSS 8.8
Affected asset10.10.10.20 (jenkins.internal)
ObservationA Jenkins automation server was found running with the factory default administrator credentials unchanged. Authenticating with the default account granted full administrative control of the build pipeline.
ImpactAn attacker with any access to the internal network can take full control of the build server, including stored credentials and secrets. Those credentials may be reused for corporate logins, turning one weak default into a path deeper into the environment.
EvidenceAuthenticated session screenshot, captured 14:22 (Figure 4). Note: any captured password is obfuscated in the report.
RecommendationRemove the default account, enforce strong unique credentials for all administrative access, and require multi-factor authentication — ideally by integrating the application with the organization's single sign-on.
Stop at proof, not plunder. The evidence you need is a screenshot showing you logged in as admin — that proves the finding. You do not go rummaging for the private data behind it unless the scope explicitly asks you to. Demonstrating the risk is the job; exploiting it for its own sake is not.
03

What is not a finding

One of the most common mistakes is padding a report with things that are not findings. "You are not using up-to-date SSL ciphers." "Host XYZ is running telnet, which isn't encrypted." On their own, these are best-practice deficiencies — the kind of thing you would report if you were hired to run an audit or a vulnerability assessment, but not, by themselves, penetration-test findings.

The distinction is demonstrated risk. A pentest is an attack simulation; a finding shows that a weakness led somewhere — that you used it to gain access, escalate, or move. "Telnet is running" is an observation. "Telnet was running, I captured plaintext credentials on it, and used them to log into the domain controller" is a finding. If you cannot connect a weakness to an outcome you actually achieved or could clearly achieve, it belongs in a hardening recommendation or an appendix, not in the findings.

04

The findings you write again and again

Spend enough time testing and you will meet the same handful of issues across client after client. Because they recur, you build reusable templates for them — but always review and customize each one for the specific environment. The usual suspects:

05

Anti-patterns: how findings go wrong

Reviewers who read a lot of reports see the same failures repeatedly. Learn them so your own findings never become the example:

You can practice composing a finding — and watch a quality checker flag several of these mistakes in real time — in this phase's hands-on Report Builder.

06

Notes and evidence discipline

Every field in a finding is downstream of one thing: the notes and screenshots you captured during the test. This is not a detail to leave to memory. Engagement access is frequently time-boxed — you may have only a couple of hours against a host, and once that window closes you cannot go back to rescan or grab the screenshot you forgot. A finding is only ever as strong as the evidence you captured in the moment.

So build a workflow and use it relentlessly: a reliable note-taking tool and a fast screenshot habit, capturing as you go. Be quick but detailed — record the command, the host, the timestamp, and the result for anything that might become a finding. The tester who writes great reports is usually just the tester who took great notes.

AI can draft, but it cannot witness. An AI can take your raw notes and template a clean finding in seconds — a genuine time-saver. But it will confidently invent a CVE, inflate an impact rating, or describe evidence you never captured. Verify every field against what you actually observed, and never paste real client evidence into a public AI tool.

Next: the same engagement, written two ways — the executive summary for the boardroom and the technical detail for the engineers.