Skip to content

The publication for web craftspeople Saturday, 17 October 2026

Security

GitHub Rolls Out AI Scan to Cover What CodeQL Misses

GitHub announced general availability of AI Scan on October 15, 2026, a language-model-based vulnerability detector that complements CodeQL for languages like PHP, Bash, Terraform, and Dockerfiles. Findings show up directly in pull requests as advisory annotations that never block a merge.

GitHub moved AI Scan to general availability on October 15, 2026. The tool uses a language model to catch vulnerabilities in languages and frameworks that CodeQL, the platform’s long-standing static analysis engine, doesn’t natively cover. The rollout follows a public preview opened in July and a loosening of requirements in September.

A detector built to close CodeQL’s blind spots

CodeQL remains the reference tool for the languages it supports, but many repositories mix application code with infrastructure, deployment, or configuration scripts that classic static analysis ignores. AI Scan fills that gap: it runs automatically on pull requests and flags potential issues in files CodeQL leaves untouched, without replacing it on its own turf.

Languages and frameworks covered

GitHub’s announced list includes PHP, Bash and Shell, Terraform (HCL), Dockerfiles, JSP for Java, and Blazor for C#. For an ecosystem like PHP, where much of the legacy application code escapes modern static analyzers, the coverage is far from a footnote.

CriterionCodeQLAI Scan
MethodQuery-based static analysisLanguage-model-assisted detection
Typical languagesJS/TS, Python, Java, C/C++, Go, Ruby…PHP, Bash, Terraform, Dockerfile, JSP, Blazor
Effect on mergeCan block via a rulesetAdvisory only, never blocks
Fork pull requestsSupported depending on configurationNot run
BillingIncluded in GitHub Advanced Security / Code SecurityConsumes Code Security AI credits

What teams see on a pull request

AI Scan findings appear alongside CodeQL’s, on the Conversation and Files changed tabs, with an “AI” badge that sets them apart from classic alerts. Each finding can include a risk explanation and a suggested fix. Turning it on requires enabling the repository’s AI Scan setting, itself gated behind code scanning.

# Check AI Scan status on a repo via the GitHub API
gh api \
  -H "Accept: application/vnd.github+json" \
  /repos/ORG/REPO/code-scanning/default-setup \
  --jq '.state, .query_suite'

# Public repositories (personal or org-owned) are eligible without a Copilot license;
# private or internal repos need GitHub Code Security or Advanced Security.

AI Scan never blocks a merge: its findings stay advisory, unlike CodeQL alerts that can be required before merge through a ruleset.

AI Scan doesn’t run on pull requests from forks, or on ones opened by Dependabot. Its use consumes AI credits billed under the “Advanced Security” section of the organization’s AI usage dashboard, with configurable per-SKU budgets.

GitHub’s choice to keep AI Scan purely advisory stands apart from code scanning rulesets, built to enforce a quality bar before merge. For teams running legacy PHP codebases, the WordPress ecosystem included, catching vulnerabilities in code that routine hardening practices don’t always reach upstream can close a real gap, as long as it isn’t mistaken for a blocking safety net.

Why this design choice

By keeping AI Scan findings out of the merge path, GitHub limits the risk of blocking false positives, a well-known problem with AI-assisted analysis tools. The tradeoff is that teams need to fold this stream of findings into their review routine, alongside the command-line tools already in daily use for linting, dependency scanning, or review assistance.

Key takeaways

AI Scan reaches general availability with a clearly scoped job: complementing CodeQL on infrastructure and configuration languages, without ever blocking a merge. Coverage of PHP, Bash, and Terraform speaks directly to teams running legacy web applications alongside their infrastructure as code. The AI credit cost and the lack of scanning on forks remain the two points worth checking before rolling it out broadly.

Keeping this advisory-only is the right call from GitHub. An AI-assisted detector that blocked merges on false positives would get disabled fast by frustrated teams — that’s a pattern seen across nearly every over-eager scanner. That said, the fact that AI Scan skips forked pull requests is worth remembering for anyone maintaining an open source project with heavy outside contribution: that’s exactly where human vigilance needs to stay strongest, not the place where automation should move fastest. — Simon Janvier

Further reading: the official announcement on the GitHub Changelog.

Read next