Guide · November 2026

    AI code security review: how it works and where it stops

    AI code security review uses AI agents to read code the way a security reviewer does. It follows untrusted input from where it enters to where it is used, checks who is allowed to do what, and judges whether a change can be exploited. It sits between rule-based scanners (SAST) and general AI code review bots, and it is most useful as a check on every pull request, before the merge.

    This guide covers how the approach works, how it compares with the tools most teams already run, what a public benchmark says about it, and where it still needs a person. Cecuro makes Ozone, an AI code security product, so the Ozone section only repeats what we publish and measure elsewhere.

    What AI code security review is

    A security review asks one question of every change: can someone abuse this? Answering it takes context the diff alone does not hold. A new endpoint is only dangerous if a user can control the data it trusts, and a missing check only matters if nothing upstream enforces it.

    AI security review supplies that context by reading the codebase, not just the changed lines. A capable reviewer traces callers, follows data across files and services, and notes where untrusted input crosses a trust boundary. It then reports a finding the way a human reviewer would: what is wrong, how it could be exploited, how severe it is, and how to fix it.

    That output is the practical difference. A rule-based scanner reports a rule ID. An AI security reviewer can describe the concrete impact in your code and propose the change, which is what lets a developer act on it before merging.

    How it differs from SAST and AI code review bots

    The three overlap, and most teams should run more than one. SAST is fast, deterministic and good at enforcing policy. AI code review bots catch everyday bugs and keep pull requests readable. AI security review is the layer that asks whether a change can be exploited.

    On the same 82 real vulnerabilities the difference shows in the counts. In our OpenSSF CVE Benchmark run, Semgrep CE, a rule-based scanner, caught 12; CodeRabbit, a widely used AI code review bot, caught 16; Ozone caught 78. Two caveats matter: the benchmark covers JavaScript and TypeScript only, and CodeRabbit was run through a CLI rather than as a pull request review, so its figure is likely understated. The Semgrep comparison goes through what rules catch and what they miss.

    SAST scannerAI code review botAI code security review
    How it decidesMatches code against written rulesA language model comments on the changeAgents trace data and permissions across the codebase
    Built forKnown bug patterns and policy enforcementGeneral code quality: bugs, readability, styleExploitable vulnerabilities, with severity and impact
    Typical blind spotLogic and authorization flaws no rule describesSecurity issues compete with every other kind of commentFalse alarms still happen, so findings need triage

    Why review is the bottleneck now

    Teams now write code faster than anyone can read it, and much of it comes from coding agents. Tests show that code does what its author intended. They rarely show what an attacker can make it do, because the exploitable path is the one nobody wrote a test for.

    That turns security review from an occasional event into something that has to keep pace with every merge. A point-in-time audit covers the code as it was on one day, and the next pull request is already outside its scope.

    How Ozone works

    It learns the codebase first. Ozone builds a working model of your system: how requests flow, which functions move funds, and where untrusted input crosses a trust boundary. The model updates as the code changes, and each review is judged against it rather than against a rule list.

    It reviews every pull request, plus scheduled sweeps. Ozone reviews each pull request as it opens, and schedules cover the rest of the codebase on their own cadence. It runs as a check and comments on the pull request, so findings land before the merge button. It never pushes code.

    Findings you can act on. Each finding arrives with a severity, the concrete impact, and a suggested fix as a diff at the line where the problem was introduced. You triage it as fixed, ignored or a false positive.

    You can review the reviewer. Every run keeps its transcript: which files the agent read, which callers it followed, and what it reasoned before it flagged anything.

    Your context goes in. Specs, invariants, threat models or a past postmortem can be added to the workspace, so reviews know what your system is supposed to do.

    Web2 and Web3, one engine. Ozone covers backend services and APIs in languages like TypeScript, Python, Go and Java, and smart contracts in Solidity, Rust, Vyper and Move. It is built on the same engine as Cecuro's smart contract audits.

    Your code stays yours. Each review runs in its own isolated sandbox that is destroyed when the run ends. Your repository is never stored on Ozone's servers, and your code is never used to train AI models. You choose which repositories the GitHub App can reach and can revoke access at any time.

    What the benchmark shows, and what it does not

    On the OpenSSF CVE Benchmark, 82 real JavaScript and TypeScript vulnerabilities shown to ten AI reviewers as ordinary pull requests, Ozone caught 78 of 82 and raised 24 false alarms on the patched versions. Cursor Bugbot caught 66 with 42 false alarms, and Claude Code caught 35. The harness, fixtures, raw findings and grader verdicts are public, and the full results explain the method.

    Read it with its limits, which we publish next to the score. It covers JavaScript and TypeScript only. The CVEs date from 2016 to 2021, so models have likely seen them in training, which inflates every tool's figure. Competitor runs are from April 2026 and Ozone's from November 2026. False alarms are the noisier measure. The ranking is the useful signal, not the absolute detection rate.

    Where AI security review stops

    False alarms are real. Ozone raised 24 on already-patched code in the benchmark. Every wrong flag costs an engineer time, which is why findings are triaged by a person and why we publish the false alarm count next to the detection count.

    A clean review is not proof of safety. A benchmark of known vulnerabilities measures detection of known classes. It cannot show that no other bug exists.

    It reviews code, not your running system. Ozone reads the repositories you connect. Infrastructure settings, secrets and services outside those repositories are not part of a code review.

    A person still owns the decision. For changes to authentication, payments, cryptography or anything that holds funds, treat a finding, or its absence, as input to your review rather than the sign-off. For high-value smart contracts, add a full audit before launch.

    Try it on your next pull request.

    Connect a repository and Ozone starts building its model. The first review runs on your next pull request.