Skip to content
IonWarpTry for free
AI code review for GitHub teams

Add Security Review
to your pull requests.

Finds auth gaps, injection and exposed secrets in changed code.

IonWarpbotexample review
IonWarp Review — PR #87
3 issues| 2 P0 1 P1
#SevIssueFile
1Request ID lets a member read another workspaceapi/projects/[id].ts
2Provider secret included in the public client bundleapp/config.ts
3Unsigned webhook can enqueue account actionsapi/webhooks.ts
api/projects/[id].ts
42434445
−+++
const project = await projects.get(params.id);const project = await projects.getForMember({  projectId: params.id, userId: session.user.id,});
A signed-in user can cross the workspace boundary · Security Review

The endpoint authenticates the caller but never binds the requested project to their membership. Changing the URL ID returns another workspace’s private project. Resolve membership before returning it.

Suggested fixAI fix prompt

IonWarp caught 9 issues Qodo, Greptile, CodeRabbit or Cursor Bugbot missed

Real IonWarp comments on open-source pull requests, graded against the benchmark's answer key.

Missed byQodo 3Greptile 5CodeRabbit 3Cursor Bugbot 6

3 of 9 · See the benchmark

app/models/blocked_email.rbdiscourse-graphite #3
IonWarp caught it Greptile missed it
IonWarpbotcommented on line 12

P1Blocked-email list is matched case-sensitively — trivially bypassed at signup · Security Review

When an admin blocks an email, a blocked spammer re-registers with different letter case ('BAD@spamclub.com') and the account is created: should_block? does a case-sensitive where(email:) and the signup path never downcases the submitted email, so the new control fails its one job.

CriticalKnown issue in the Security Review benchmark · caught by GLM 5.3 FlashSee the graded case

GLM 5.3 Flash is its best model on this benchmark; Security Review runs DeepSeek V4.1 Flash unless you pick another.

Security Review on the benchmark

IonWarp's models and the review apps, graded on the same open-source pull requests.

Blue: DeepSeek V4.1 Flash, the model IonWarp runs for Security Review. Yellow: GLM 5.3 Flash, the model a failed review retries on. Sorted by Reviewer Score (F1 counts 3×, time and cost 1× each). Review times come from runs on Sep 8–25, 2026 (models) and Jan 23–Apr 7, 2026 (apps). Click a column heading to sort.
PRs
IonWarp Security · GLM 5.3 Flash
IonWarp Security · DeepSeek V4.1 Flash
Qodo v2
IonWarp Security · Muse Spark 1.3
Greptile v4.1
IonWarp Security · Grok 4.6
IonWarp Security · Gemini 3.8 Flash
CodeRabbit
Cursor Bugbot
IonWarp Security · DeepSeek V4 Pro
IonWarp Security · GPT 5.6 Luna Pro

On this benchmark GLM 5.3 Flash scored higher than DeepSeek V4.1 Flash (66.7% F1 against 62.5%). Why IonWarp runs DeepSeek V4.1 Flash: in a trial of our specialist reviewers on production pull requests on 23 September 2026 it filed about as many findings per review as GLM 5.3 Flash at high effort (0.93 against 1.02) for a third of the cost ($0.039 against $0.125), and 3 of its 64 findings were refuted. The benchmark ran GLM 5.3 Flash at low effort.

Pricing

Simple pricing for your whole team.

One workspace price with seats included. Credits pool across your team. Unlimited repos on every plan.

Security Review is on every plan, including free Starter.

Starter

$0 /mo

Try AI PR review.

  • 2 reviewers
    • Code Review
    • Security Review
  • 3 seats included
  • 15,000 credits to start, then 5,000/mo
  • Unlimited repos
Get Started

Max

$149 /mo

Scale AI PR review.

  • +9 reviewers
    • UX Review
    • API Performance
    • Analytics Review
    • SEO Review
    • Changelog
    • CI/CD Performance
    • Plan Review
    • Repeat-Failure Learnings
    • SOC 2 Review
  • 10 seats included
  • +75,000 credits/mo
  • +$29/mo per added seat
  • Unlimited repos
  • Priority support
Choose Max
Enterprise

Custom reviewers + credits · GitHub Enterprise · SSO/SAML + audit logs · Custom security review + SLA

Contact us
About Security Review