A Security Finding Is Not a Security Decision

Security tools are good at noticing. A setting is off, a port is open, a storage resource is public, and a red label appears.
What they can’t tell you is whether it matters for this system, with this data. That part is still human work, and it decides whether you spend the week fixing something real or chasing noise.
So before acting on any finding, one should ask: what evidence do I need to make a decision I can defend?
What does a control assessment establish?
A “control” is a requirement, like “only authorized people can access this data.” Writing it in a policy is easy. Knowing it works is harder.
NIST SP 800–53A is NIST’s guide for assessing controls. It describes three ways to collect evidence:
Examine: look at configurations, policies, logs, diagrams.
Interview: ask the people who run the system how things really happen.
Test: make the system do something and observe.
Each has limits. A configuration export shows a setting is on. An interview helps establish how a process is understood and performed. A test gives evidence of behavior under the conditions tested. Combining them often gives stronger assurance than relying on one.
The frameworks you’ll hear alongside this do different jobs:
NIST SP 800–53: a catalogue of security and privacy controls.
NIST CSF 2.0: a way to organize cybersecurity outcomes (Govern, Identify, Protect, Detect, Respond, Recover). Not a checklist.
ISO/IEC 27001: requirements for an information security management system (ISMS), meaning security run as an ongoing process. Certification covers a defined scope and doesn’t mean “no risk.”
From evidence to an assessment conclusion
Evidence isn’t a conclusion yet. A control assessment should answer three questions:
Implementation: is the control in place as required?
Operation: does it work as intended under the conditions assessed?
Outcome: does the evidence support the security objective behind the control?
A good conclusion can be traced to four things: the requirement, the evidence collected, the scope of the assessment, and the limits of the methods used.
Where it gets hard: risk, controls and compliance
Scanner severity is a useful first signal. It comes from a rule that doesn’t know your context. A fuller risk judgment looks at:
Exposure: What can an unauthorized party actually access or do?
Asset and data: What system or information is affected?
Exploitability: How easily could the condition be abused?
Impact: What operational, financial, legal or trust consequences could follow?
Existing safeguards: Do other controls reduce likelihood or impact?
Time and scope: How long has it existed, and what else is affected
Uncertainty: What don’t I know, and how does that change the decision?
These inform a judgment. They don’t produce a universal score.
Three things people mix up:
Control effectiveness: is the control implemented and working as intended?
Risk: how likely and how damaging is the failure, given existing safeguards?
Compliance: does the evidence meet applicable requirements within a defined scope?
A publicly accessible storage resource is a good illustration. It may point to an access-control weakness. Its risk depends on what it holds, how it’s exposed and what else protects it. Whether it’s a compliance issue depends on the requirements and scope that apply. One misconfiguration doesn’t automatically equal a framework failure. And don’t open customer data to “prove” exposure. Use configuration, metadata and logs.
This is why mapping isn’t a verdict. Linking a finding to NIST AC-3 (Access Enforcement) or ISO 27001 A.5.15 (Access control) shows where the evidence belongs. Whether the control is satisfied depends on scope, the organization’s own requirements and the full evidence. For ISO, it also depends on the Statement of Applicability. For CSF 2.0, a mapping is a high-level alignment, not a pass or fail.
A real case: GitLab’s backup failure (2017)
On January 31, 2017, GitLab experienced a major database outage after an engineer accidentally deleted data from the primary database server while trying to fix a replication problem.
The team expected to recover the data from backups, but discovered that the backup process had been failing. It was using PostgreSQL 9.2 tools against a PostgreSQL 9.6 database, causing backup errors. Failure notification emails were also being rejected, so the team did not notice the problem in time. The available recovery options were limited, and the best usable copy was an older snapshot.
GitLab reported that restoring the database took around 18 hours and that some recent database changes could not be recovered.
What does this tell us about security assessments?
The incident highlights three important lessons:
A successful-looking process is not proof of recovery. Backup jobs need to be checked, and restores need to be tested.
Monitoring must be verified. Generating an alert is not enough if nobody receives it.
Recovery capability needs evidence. A controlled restore test can reveal problems before an actual outage occurs.

What defensible closure looks like
Changing a setting and ticking a ticket isn’t closure. Keep three outcomes separate:
Remediated: the cause is addressed, not just the visible symptom.
Verified: a retest shows the original condition no longer occurs within the tested scope. Independent retesting is good practice where feasible.
Risk accepted: an authorized person has formally accepted what remains. That isn’t a fix, and the record should say so.
Also confirm the original observation was validated, look into related exposure where needed, and keep the evidence and reasoning.
A reusable assessment record

Where to start: pick one control, decide what evidence would show it working, and write down how you reached your conclusion. Repeat across different controls and the frameworks start to feel practical.
Principle to keep
A security finding isn’t resolved because a scanner stops reporting it or a ticket gets closed. It’s resolved through a defensible decision: the condition was validated, its risk was assessed, the right action was taken, and the result was verified against a defined closure criterion.
NIST and ISO give structure to assessing and managing security, but applying them takes judgment. That judgment is only as good as the evidence collected, the limits acknowledged and the reasoning documented.
That’s what turns a technical observation into a decision another person can review, challenge and understand.
References and further reading
NIST SP 800–53A Rev. 5: Assessing Security and Privacy Controls
GitLab: Postmortem of database outage of January 31 (2017) (primary source for the incident details)
GitLab: GitLab.com Database Incident (2017) (GitLab’s earlier incident account, linked from the postmortem)



Comments