AI Scan adds coverage without pretending to be CodeQL.
GitHub released AI Scan for pull requests on October 15. It targets languages and frameworks outside current CodeQL coverage, including PHP, Shell, Terraform configuration, Dockerfiles, JavaServer Pages, and Blazor. Findings appear beside CodeQL results with an "AI" marker.[1]
The marker matters. GitHub says AI Scan findings are advisory. They do not fail the code scanning check, and repository rulesets cannot use them to block a merge. The scanner also skips pull requests from forks and Dependabot.[1]
Coverage went up. Authority did not.
Autofix closes one alert, not the review.
GitHub released agentic autofix for default-branch code scanning alerts on the same day. When assigned an alert, the agent inspects related files, drafts a change, reruns CodeQL, and opens a draft pull request for review. A user can group up to 25 alerts into one repair request.[2]
A clean rerun supports a narrow claim. It shows that the query which raised the alert no longer raises it on that revision. It does not prove that product behavior stayed correct, that a different vulnerability was not introduced, or that an AI Scan lead outside CodeQL coverage was resolved by an equivalent witness.
GitHub's own guidance keeps a person on the brake.
GitHub's application card says developers should evaluate a proposed fix, decide whether it fits their codebase, and check that intended behavior remains intact. It also lists weak output, false positives, false negatives, incomplete fixes, and new vulnerabilities as possible limits of generated suggestions.[3]
This is the useful operating model. The machine can find, explain, draft, and rerun a query. A maintainer still owns reachability, threat-model fit, product tests, severity, and merge.
Wire the queue around claim level.
- Label AI Scan output as an advisory lead. Preserve the file, line, explanation, and scanner identity.
- Reproduce the risky behavior or state why the result cannot be reproduced. Pin the revision and environment.
- Review the patch against the full change, not only the alert location. Run the query and the product tests that guard intended behavior.
- Record the project verdict, impact, reviewer, and remaining coverage gap. Do not turn "alert closed" into "system secure."
The control below teaches that handoff. It does not connect to a repository or run either GitHub feature.