Pixee and Aevral

Pixee triages and fixes what your other scanners already flagged. Aevral reads the diff and the repository itself for access control and business logic. Two different jobs on the same pull request.

Same pull request, two different jobs.
RowPixeeAevral
Question it answersOf what my other scanners already flagged, which is exploitable, and what is the fix?Does this change widen who has access to what?
Stated jobTriage and remediation downstream of connected SAST, SCA, and DAST scanners, per Pixee's documentationSecurity reading of the PR diff and the repository snapshot: access control, business logic, and a wider class list on the diff
Where it runsGitHub App, reading findings from connected scanners, per Pixee's documentationGitHub Check and inline comments, live on install; scans run from the console on a chosen SHA
Unit of workA merge-ready pull request carrying the triage verdict and the fix, per Pixee's documentationUp to five findings per review, grounded on the added lines; scan findings come as leads with evidence
Complementary?YesYes

Pixee does not scan your code itself. It sits downstream of the scanners you already run, ingesting findings from tools such as CodeQL, Semgrep, Snyk Code, and SonarQube, and triages which ones are actually reachable before it opens the fix as a pull request, per Pixee's documentation. Its published remediation scope names SQL injection, XSS, path traversal, SSRF, hardcoded secrets, and CVE updates. Aevral is built for a different reading: its PR review, live on install, goes through the diff itself looking for access control and business logic along with a wider class list, and its whole-repo scan reads who has access to what in the repository already on disk.

The jobs sit apart: Pixee closes out findings your other scanners already raised, and Aevral raises its own findings on the pull request and the repository snapshot. This page keeps the boundary: Pixee's stated job on scanner output, Aevral's reading on the code, no claims about results.

Pixee

Pixee is a remediation layer that works downstream of the SAST, SCA, and DAST scanners you already run: it ingests their findings, triages which are reachable and exploitable, and opens the fix as a pull request, per Pixee's documentation.

Aevral

Security review, handled. PR review, live on install, looks for access control, business logic, SQL and command injection, XSS, SSRF, path traversal, unsafe deserialization, token and session flaws, and LLM-integration risks on the diff. Paid PR plans are live in the console. The whole-repo scan is live and self-serve, and reads authorization, IDOR, and business-logic access control only. A finding is a lead with evidence, and a human decides. No patches are auto-applied.

A team-switch endpoint that trusts the requested team id.

This change lets a signed-in user switch their active team from a dropdown. The handler reads the team id from the request body and adopts it as the session's active team, with no check that the caller belongs to that team.

api/teams/switch/route.ts+4 −0
export async function POST(req: Request) {  const session = await requireSession(req);  const { teamId } = await req.json();  session.activeTeamId = teamId;  await session.save();  return Response.json({ activeTeamId: teamId });}
AevralMissing membership check

requireSession confirms the caller is signed in, and nothing after it checks that the caller belongs to teamId before the session adopts it as active. Every later request scoped to the active team, billing, members, exports, now runs under a team the caller never joined. That is a broken access control flaw (CWE-862, Missing Authorization) on a path with no injection, no raw query, and no pattern a dependency or syntax scanner looks for: the code is well-formed and the types check. That is the shape of issue Aevral is built to read on a diff.

Run them together

Keep Pixee for triage and remediation of what your other scanners already flagged; run Aevral for its own access-control and business-logic reading of the same pull requests and repository, live on install.

Questions engineers ask

Does Aevral replace Pixee?

No. Pixee does its stated job and keeps doing it. Aevral runs alongside it with its own reading: its PR review, live on install, looks for access control, business logic, injection, XSS, SSRF, path traversal, and LLM-integration security on the pull requests it reviews, and its whole-repo scan reads access control and business logic across the repository at rest.

Is this a catch-rate comparison?

No. This page states each product's job and shows one worked example of Aevral's own reading. Results on your code depend on your code; evaluations belong to you.

When can I run this?

Aevral is self-serve: install the GitHub App and log in to the console. The waitlist form is a launch-updates channel; joining does not reserve a price, access, or a contract.

More comparisons

The shorter version, at a glance: Pixee and Aevral on the works-alongside page.

Primary sources: Pixee documentation: product overview; Pixee: platform; Aevral PR security review; Aevral whole-repo scan.


Security review, handled.

Install the GitHub App and PR review starts on. Sign in with GitHub to connect it, then press Scan for the repository you already have.

Install the GitHub AppLog inSign up

For professional use. By installing, you confirm you can act for the account or organization that owns it, and you accept the Terms and DPA on its behalf.