← All finding types

tainted_flow

CWE-20

Tainted Flow — a PullGuard finding type. Findings of this type appear in the PR comment, Step Summary, SARIF (GitHub Security tab / IDE viewers), and the HTML report, each with severity, location, and the remediation guidance below.

How to fix

Validate or encode the input for your custom sink medium effort

// Untrusted input reaches a custom sink defined in .driftrc.yml.
// Apply the control appropriate to what the sink DOES:
//   - SQL query      -> parameterized query / prepared statement
//   - HTML/template  -> context-aware output encoding (escape)
//   - shell/exec     -> allowlist + argument arrays, never string concat
//   - filesystem/URL -> canonicalize + allowlist the target
// Or add the sanitizer to taint.sanitizers so PullGuard clears the flow.

Triage

Suppress a confirmed non-issue with a committed .pullguardignore entry (pullguard ignore locally, or comment /pullguard ignore <fingerprint> <reason> on the PR — the fingerprint is printed in the PR comment’s Triage section). Entries support expiresAt for time-boxed snoozes.

Security findings at major or critical severity — and any critical finding — always surface: .pullguardignore cannot hide them. The reviewed paths that keep them visible are acknowledged (reviewed, stays in reports) and, for a confirmed false positive, a reasoned false_positive entry — visible and audited, excluded only from the merge block.