Explainer
PR security review and SAST are different questions
What a SAST pass and a diff-level access reading each do in a pipeline, where each fits, and why one answer cannot substitute for the other.
Tristan Roth,
Two review jobs run on changed code, and they get confused for each other constantly. This page separates them without disparaging either: SAST products do the scanning job they state, and a diff-level access reading does a different job. Both belong in a pipeline that ships fast.
The two questions
A SAST pass asks whether the code matches a known vulnerability pattern or dataflow hazard: the flaw classes its rules and engines are built around. A diff-level access reading asks whether this change widens who has access to what: the gate that disappeared, the tenant binding that moved, the reference the caller now names. The questions are orthogonal in practice, because clean-as-pattern code can still rewrite an access rule.
Where each fits in the pipeline
SAST passes run where you build, on every change, against their rule set. Aevral's PR security review, live on install, runs on the pull-request events that produce new code: opened, reopened, and synchronize. Each new head gets a fresh review, and the same head is never reviewed twice on the billing ledger.
The output shape is deliberately small: an advisory Check on the head commit plus inline comments pinned to the added lines, at most five findings per review, never blocking a merge. It is a signal that respects the review budget, not a gate that respects nothing else.
What a good diff finding looks like
Grounded on added lines, because the author's diff is what they are answerable for. Carrying evidence, because a finding without the file and lines is a rumor. Naming the access rule in question, because the fix is to restore the rule, not to appease a pattern. Those three properties are what make a PR review, live on install finding actionable in the two minutes an author will give it.
Keep both
Nothing here says a team should run one instead of the other. The compare pages carry the full boundary per tool with worked examples, and the works-alongside pages carry the at-a-glance version. The honest stack runs both and spends the saved attention on the findings that need a human.
Sources
Read next
Security review priced per pull request, explained; Why review bots get ignored; The PR security review product; Compare hub; Works alongside hub.
More guides
- What a whole-repo authorization scan reads
- Handing a security finding to your coding agent
- The Aevral launch-updates list, explained
- Reviewing a pull request for access control
- Working a scan report of access-control leads
- How IDOR happens in multi-tenant code
- Where access control hides in business logic
- Reviewing a pull request that wires in an LLM
- Security review priced per pull request, explained
- Reviewing pull requests for IDOR with a GitHub app
- Spotting a missing tenant check in a pull request
- Next.js and Supabase: the authorization check before launch
- Security review for pull requests written by Claude Code
- Vibe coding security: who reads the diff
- Why review bots get ignored, and what a grounded review does instead
- Security review for pull requests written by Cursor
- Security review for pull requests written by Codex