PR security review
Second-pass security review for every pull request, before a human opens the diff
Auth, secrets, injection, unsafe deserialization, dependency risk, and severity-graded findings — the second pass runs after the general code-review so every PR ships with the same coverage the security team would want. AI security code review, automated PR security review, and dependency vulnerability review — the same evidence, anchored to a path:line in the diff.
What we catch
Six surfaces, one run, every pull request
Each card maps to a coarse category the second pass emits — free-form sub-categories get surfaced inline so the team can filter findings without rewriting the contract.
Every review surfaces missing JWT verification, missing ownership checks on resource lookups, and the implicit-trust paths that let a request reach data it should not. Findings anchor to a concrete path:line in the diff so the security team reads the failing line, not a generic alert.
We grep every diff for credential-looking strings, then trace the call sites the credential feeds into. Patterns include the obvious (a literal api_key= in a config file) and the subtle (a base64 blob that decodes to a real key). Each finding carries the exact path:line so the rotation task has a starting point.
A second pass that specifically hunts user-controlled input reaching a sink — string concatenation into a SQL query, a shell command, a template renderer, or an LLM prompt. Severity reflects reach: a public-route injection lands critical; an admin-only template injection lands advisory.
Many code reviews skip the deserialize-the-bytes side of the data plane. VeriFlow surfaces the paths where untrusted bytes are decoded into live Python or live JS — the gadgets that turn a YAML payload into server-side code execution.
Every manifest change in the diff is checked against advisory databases the second pass keeps in mind. A dep added without a pin, a CVE landed mid-week, or a maintainer-handoff signal all reach the review — the same review the security team can audit.
Each finding is bucketed into one of two severities: critical (reachable, exploitable, on a public route) or advisory (codepath exists but is gated, or the surface is admin-only). When the upstream pass returns no findings, the top-level severity is none. When the pass is unable to run deterministically, the badge is unavailable — never a fabrication.
For evaluators
Security pass on every GitHub PR
Want the security-pass detail? See the GitHub integration page — every PR gets the second pass alongside the general review.
Security and secrets questions answered → /faq — Security section
From a real run
A real finding, from a real run
The latest published review carrying a security pass — the actual finding banner the LLM emitted, anchored to the path:line the agent surfaced.
A real finding, from a real run
Loading example finding…
Get on the early access list
Try the second-pass review on your own PRs
Two ways in. Drop your email and we’ll send the security-review rollout cadence. Or start free — run a review on a public repo and see the second pass in action.
Early access
Submissions land in the waitlist tagged source=‘security-page’.
Self-serve
Already running reviews? Open the public gallery for live evidence.
For the security team
Need encryption, isolation, and SOC 2 readiness?
The procurement story — TLS / HSTS / HMAC-verified webhooks, managed-disk encryption, per-repo scope, audit logging, and a candid SOC 2 Type II timeline — lives on /security/trust. Hand that page to your security team alongside this one.
Field notes → AI PR review for security: shift-left vulnerability detection on every pull request.