CodeQL
A semantic code analysis engine from GitHub that lets you query source code to find vulnerabilities.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
About CodeQL
CodeQL treats code as data. You build a CodeQL database from a project, then write queries that trace patterns such as tainted user input reaching an unsafe deserialization call. Once a query finds one bug, it can find every variant of it across the whole codebase, and you can share the query with others.
You can work with it through the CodeQL extension for Visual Studio Code or the CodeQL CLI. Databases for many open source projects on GitHub can be downloaded and analysed directly.
Strengths
- Queries follow data flow from source to sink across a codebase
- Finds every variant of a known bug pattern
- Visual Studio Code extension and a CLI
- Ready-made databases for many open source projects
Limitations
- Free use is limited to research and open source code
- Writing custom queries means learning the QL language
- The analysis engine itself is not open source
Details
- Pricing
- FreemiumFree for research and open source code; other use falls under GitHub's CodeQL terms.
- License
- Proprietary (GitHub CodeQL Terms and Conditions)
- Developer
- GitHub
- Platforms
- Command line
- How it runs
- Downloadable app
- Best suited for
- Security researchers and developers hunting vulnerability patterns in source code
- Categories
- Security tools, Developer tools
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Alternatives to CodeQL
Compare allSoftware that can replace CodeQL for an important use case, and what changes if you switch.
Semgrep
Find code patterns and potential problems with static analysis.
Semgrep runs custom or shared static analysis rules in development workflows and is open source, with rule quality and language support affecting coverage.
SonarQube
A static code analysis platform that flags bugs, maintainability issues and security vulnerabilities.
SonarQube is a self-hosted or cloud code analysis platform tracking bugs, technical debt and security issues with CI/CD and IDE integration.
Snyk
A hosted developer security platform that scans code and applications for vulnerabilities.
Snyk is a hosted platform scanning code, dependencies and containers with a free starter plan, though direction is aimed mainly at enterprises.
Bandit
A command-line static analyser that finds common security issues in Python code.
Bandit is an open-source command-line analyser focused only on security issues in Python code, narrower than CodeQL's multi-language querying.
Similar software
Related functionality, not necessarily a direct replacement.
TruffleHog
Find exposed credentials in repositories and other data sources.
Gitleaks
Scans Git repositories, files and pipelines for leaked secrets.
detect-secrets
A command-line tool from Yelp that detects and prevents secrets such as keys being committed to code.