[Semantic code analysis]

CodeQL and Aevral, at a glance

CodeQL models code as a database and runs dataflow queries over it to find security vulnerabilities. It powers GitHub code scanning.

CodeQL is a query engine: it treats your codebase as a database and runs dataflow queries over it, and that is what GitHub code scanning runs on. Aevral is a reader: it goes through the repository snapshot the way a security researcher reads a change, looking for authorization, IDOR, and business-logic access control with the cross-file context of who is allowed to access what. Query analysis and access-control reading are different jobs, so the two complement each other.

CodeQL focuses on

  • Modeling the codebase as a queryable database.
  • Dataflow queries for security vulnerabilities.
  • Powering GitHub code scanning.

Aevral adds alongside

  • The access-rule reading: gates, roles, and tenant bindings, read across files with the context of who is allowed to access what.
  • The pull-request reading for access-control changes, as an opt-in add-on.
  • A finding as a lead with evidence: a human decides what matters.

Run them together

Let CodeQL run the dataflow queries; let Aevral read the access rules across the repository.

CodeQL and Aevral, in depth; Aevral whole-repo scan.

Also alongside


Scan your whole repo for access bugs.

One GitHub App. A report with evidence. A prompt for the agent you already use.