Guide 028 worked guide

How to handle a critical scanner score with weak evidence

Handle a critical scanner score with weak evidence by defining the claim, obtaining decisive facts and separating precautionary action from confirmation.

Treat a “critical” alert with weak evidence as an urgent claim to verify, not a confirmed critical vulnerability. Preserve the alert and assessed revision, identify the exact harmful action it alleges, trace the relevant entry point and controls, and give a reviewer a short deadline. If the credible potential harm is large, consider a reversible containment measure while that investigation runs. Start a supported, low-risk correction in parallel when appropriate, while keeping the alert's confirmation status separate. Reject the claim only when counterevidence defeats it. If the decisive evidence is missing, say “inconclusive” and name the next check.

A numeric score describes a model of vulnerability characteristics, not the completeness of an alert's evidence. CVSS v4.0 separates base characteristics from changing threat and environmental factors. OWASP's Secure Code Review Cheat Sheet explicitly recommends using tool findings to guide deeper review and filtering false positives through human judgment. Neither source says a severe label is proof that the reported path works in your application.

Start by translating the label into a testable claim

The first decision is not “Do we believe the tool?” It is “What would have to be true for this alert to cause harm?” Require one sentence with an actor, action, target and missing control. For example: “An ordinary account user can invoke the user-deletion operation against another account because the request path lacks an account-level authorization check.” This can be checked. “Critical authorization bypass” cannot.

Save the tool name, rule version, scan time, repository, immutable revision, cited line and selected scope. If the alert cites an old branch or cannot show a relevant line, repair that link first. A line that exists is only the beginning: the route may never be called, the actor may be different, and an earlier or later check may defeat the path. Record what files and deployment material were actually reviewed, not merely discovered or indexed.

The immediate output is one corrected claim and the next artifact that can change it. Use the uncertainty record for a detailed evidence ledger. In the first hour, the security engineer's additional job is to stop an unsupported title spreading faster than the evidence.

Work an illustrative alert from intake to verdict

Invented example, not an observed customer flaw: Northstar Metrics receives a scanner alert marked “Critical: unauthenticated account deletion.” It points to removeAccount(accountId) in a handler at revision A1B2C3. The handler itself has no visible login or permission statement. Its call deletes an account record. The alert supplies no route mapping or middleware trace.

The title overstates the evidence twice: “unauthenticated” is unproven, and the operation's destructive effect does not tell us who can reach it. The analyst rewrites the candidate:

A caller may be able to delete an account through the account-removal handler if the deployed route permits them to invoke it and no upstream or downstream policy checks their authority for the selected account.

The analyst follows the handler's registration and finds an authorization middleware in the application router. It demands an administrator capability. But that alone is still incomplete: the team must confirm the router is the deployed entry point, the middleware is enforced for this exact method and path, and an “administrator” can only remove accounts they administer. The analyst also checks the delete service for an independent account ownership check. It is absent in this invented scenario.

The evidence now supports a narrower concern. An unauthenticated outsider appears blocked by the middleware, while an administrator in account A may still supply account B's ID if no account binding exists. The scanner's original actor was wrong; the risk may nevertheless be serious. The reviewer asks for the deployed route policy and checks the relevant account-bound authorization path. Suppose the deployed route confirms the middleware runs, while the service accepts the supplied account ID without a tenant ownership comparison. A separate data-store policy has not yet been examined. That policy is the decisive remaining check before reporting a cross-account administrator deletion finding. The service owner can still prepare an account-bound repair or precautionary route restriction while the check runs. It must not publish “unauthenticated deletion.”

Here is the decision note:

Item Northstar result
Original alert Critical unauthenticated deletion; handler line only
Supported actor Authenticated administrator of an account, subject to deployed route check
Supported harmful path Account ID reaches deletion service; same-account check not found in the traced path
Counterevidence Router middleware blocks unauthenticated callers on this route
Residual unknown Whether a separate data-store policy blocks cross-account deletion
Current disposition Investigate that final control; retain conditional high-impact concern
Approval condition Independent reviewer confirms the complete actor-to-effect path and applicable policy

Communicate the first hour and its three endings

All times and messages below are constructed. No account deletion or containment action was executed.

09:00, release-channel alert: “Critical: unauthenticated account deletion. Stop everything.” Preserve that message as the original allegation, but do not repeat it as the current conclusion.

09:10, corrected security update: “The inspected router requires an account administrator, so the unauthenticated claim is unsupported. We are checking whether that administrator can delete a different account. The remaining decisive artifact is the effective data-store policy for the deletion operation. Platform owns it by 10:00; no production deletion was attempted.”

09:20, operational decision: the service owner temporarily disables self-service deletion for the exact affected route. Legitimate deletion requests wait; the owner checks alternate entry coverage and records restoration conditions. This is a reversible precaution, not a vulnerability verdict or a claim that all deletion paths are fixed.

At 10:00, publish one of these evidence-dependent outcomes:

Supplied evidence Completed update and disposition
Mandatory store condition binds deletion to the trusted caller account and covers this operation. “Reject the cross-account deletion claim for the assessed route/build. The store condition defeats it. Restore the route after the operational owner checks the normal configuration; retain the evidence and reopen trigger.”
Store accepts a global account ID and no other applicable boundary exists in the full chain. “The administrator-to-foreign-account deletion path is supported. Independent reviewer checks the packet for approval; retain the temporary restriction. The corrected title is cross-account administrator deletion, not unauthenticated deletion.”
Policy record unavailable or mismatched to the deployed artifact. “Applicability remains unresolved. Continue the restriction under the owner's renewed decision until the next evidence checkpoint; platform escalates the missing record. No confirmed vulnerability or rejection is recorded.”

The same deadline can therefore end in rejection, supported escalation or continued investigation. It cannot legitimately force every alert into one of the first two. A serious narrower claim must survive correction of an exaggerated original title; an alarming score must not survive as a substitute for missing evidence.

Correct the message wherever the original claim spread

The first alert may already be in a release channel, an executive note and a developer ticket. Updating only the technical record leaves people acting on different versions of the allegation. Use the same stable finding ID and a short correction that identifies the changed fact: the route requires an administrator; cross-account authority remains under review. Preserve the original message as history without repeating its title as the current conclusion.

The corrected update should distinguish three statements. The operation is destructive. The anonymous actor is not supported by the reviewed middleware. The account boundary is still unresolved. Those statements justify serious attention without claiming an unauthenticated production incident. If the datastore later defeats the cross-account path, publish that scoped rejection with the specific control and affected build.

A communication ledger can stay small:

Recipient What they need now What to avoid
Release owner Whether the affected operation is restricted and what restoration requires Treating the severity badge as a release decision by itself.
Service developer Exact account-bound behavior to inspect or repair An unsupported anonymous-attacker title.
Leadership Potential consequence, evidence gap, operational effect and next checkpoint Claims of observed deletion or affected customer counts without evidence.

Set a stopping rule for the initial review

An urgent review needs a bounded question, otherwise the alarming score can absorb the whole team indefinitely. Here the first review ends when the actor, account selector, effective datastore decision and deployed binding are established, or when the owner identifies which unavailable artifact prevents that conclusion. It does not require proving every account operation safe.

If the final control cannot be retrieved at the checkpoint, state the remaining uncertainty and the chosen operational action. A straightforward account-bound repair may still be justified. Its review should establish the new property directly, without requiring the team to manufacture a definitive historical verdict first. Preserve the limits of the original alert in the closure record.

After the immediate issue is handled, inspect why the scanner title was broader than its evidence. The tool may have lacked a middleware model, or a human summary may have changed “no local check” into “unauthenticated.” Those causes require different corrections. Improve the model or reporting step only after identifying it; a blanket decision that critical alerts are unreliable would discard useful future signals.

The first hour succeeds when the team has a precise current claim, an owner for the decisive evidence and a proportionate action. It fails when the old dramatic title remains the only shared artifact, even if several people are investigating diligently.

Escalate responsibly during verification

When the possible effect is severe, tell the incident or service owner what is known in plain language: “A scanner found a deletion operation without a local account check. We have evidence of an upstream admin gate but have not confirmed a tenant-bound check. We are reviewing the deployed route and data policy by 15:00.” That message enables a decision without misreporting a breach or proven exploit.

Potential temporary actions include pausing the route, limiting its audience or adding extra review to the operation. Each needs an authorized owner, an expected impact and a rollback path. A temporary block may reduce exposure while the team works, but it does not establish that the source defect is fixed. Avoid testing a destructive operation against production just to settle an alert; use approved review or a controlled test environment with agreed safeguards.

For the eventual developer ticket, follow OWASP's reporting guidance: give enough context to understand the issue, scope, evidence and remediation. Include the corrected title, affected revision, path, prerequisites, effective controls, missing control and a specific verification condition. Keep the discarded scanner title in the audit trail so the change in judgment is clear.

Next action: Choose one high-score alert whose only evidence is a highlighted line. Write the actor-action-target claim and list the one control that could defeat it. If priority turns on an unresolved route, use the internet exposure decision guide. When the verdict is supported, capture its work decision in the one-page priority record.