Skip to main content

How It Works

ZeroPath PR scanning analyzes the code changes in your pull requests and merge requests, catching security issues before they’re merged. Scans run automatically when a PR is opened or updated, and results appear directly in your VCS.

Diff-Focused Analysis

Only changed files and surrounding context are analyzed — fast and targeted.

Differential Comparison

Scans both target and PR branches, surfacing only new findings in the PR.

Parallel Security Tools

SAST, SCA, Secrets, and IaC run simultaneously on changed code.

AI Validation

Every finding is validated in the context of the diff to minimize false positives.

Supported Platforms

PlatformTriggerCheck StatusInline Comments
GitHub (Cloud & Enterprise Server)GitHub App webhookGitHub Check RunsYes
GitLab (Cloud & Self-hosted)Merge Request webhookCommit Statuses / PipelineYes
Bitbucket (Cloud & Data Center)Pull Request webhookBuild StatusesYes
All three platforms support the full PR scanning feature set: automatic triggering, status reporting, and inline code review comments.

What Gets Analyzed

PR scanning is strictly diff-focused. It does not re-scan your entire codebase on every PR.
1

Fetch the Diff

Retrieves the unified diff from your VCS API (falls back to git diff if needed).
2

Identify Changed Files

Maps every changed hunk to its file and line numbers.
3

Run Security Tools in Parallel

On changed files only:
  • SAST — static analysis on both target and PR branches, surfacing only new findings
  • SCA — dependency analysis when manifests/lockfiles changed (AI pre-screen skips if not relevant)
  • Secrets — scans the diff for hardcoded credentials
  • IaC — checks changed infrastructure files
4

Filter to Changed Regions

Only findings that overlap with changed lines are reported. New files are included entirely; deleted files are excluded.
5

Validate & Report

AI validation removes false positives. Results are posted to your VCS as check statuses and inline comments.

Check Status & Feedback

Results are reported through multiple channels:
A pass/fail check status is posted on your PR. This integrates with branch protection rules so you can require ZeroPath checks to pass before merging.
StatusMeaning
SuccessNo security-relevant issues found (or only below threshold)
FailureConfirmed vulnerabilities found above configured threshold
NeutralScan timed out (does not block merges by default)
SkippedInfrastructure error (deliberately not a failure to avoid blocking merges)

Configuration

All PR scanning settings follow an Organization → Tag → Repository inheritance cascade. Repository-level overrides take precedence.
SettingDefaultWhat It Controls
PR scanning enabledOffMaster on/off switch for PR scanning on a repository
Inline review commentsOnPost inline comments on affected diff lines
PR summary commentOnPost a summary comment listing all findings
Check status postingOnPost pass/fail check status to VCS
Result inclusion threshold0Minimum score for a finding to appear in PR feedback
Check failure threshold75Priority score at which the check is marked as failing
Scan timeout10 minMaximum time before the scan is marked as timed out
Auto-patching on PR scansOnGenerate fix suggestions for findings in the PR
Scan draft MRsOffWhether to scan GitLab draft merge requests
Scan bot PRsOffWhether to scan PRs opened by automation/bots
Tool togglesAll onEnable/disable SAST, SCA, Secrets, and IaC individually for PR scans

How PR Scanning Differs From Full Scans

AspectPR ScanFull Scan
ScopeChanged files only (diff-focused)Entire repository
TriggerAutomatic on PR open/updateManual, scheduled, or on push
SpeedFast (minutes)Thorough (longer)
DifferentialYes — subtracts existing target-branch findingsNo
ResultsVCS check + inline comments + dashboardDashboard only
SCA gateAI decides if dependency files changedAlways runs
Timeout10 minutes (configurable)Longer timeouts

Adoption Guide

1

Enable PR Scanning

Toggle it on in your repository’s scanner settings.
2

Install the VCS Integration

Ensure your GitHub App, GitLab installation, or Bitbucket integration is connected.
3

Open a PR

ZeroPath will automatically scan it and post results.
4

Configure Branch Protection

Add the ZeroPath check as a required status check in your VCS branch protection rules.
5

Tune Thresholds

Adjust the check failure threshold and result inclusion threshold to match your team’s tolerance.
6

Review Inline Comments

Address findings directly in your code review workflow.