← All finding types

high_cyclomatic_complexity

High Cyclomatic Complexity — 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

Extract complex branches into named helper functions medium effort

// Before: one function with 15 if/else branches
function process(input) {
  if (typeA) { ... }
  else if (typeB) { ... }
  // ... 13 more branches
}

// After: strategy pattern or lookup table
const handlers = {
  typeA: handleTypeA,
  typeB: handleTypeB,
};
function process(input) {
  return handlers[input.type]?.(input) ?? handleDefault(input);
}

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.