The CodeQL extractor and libraries for Go.
Перейти к файлу
Cornelius Riemenschneider 3b4d04dcc4 Update Lua tracing config. 2022-05-17 13:18:56 +00:00
.devcontainer Update devcontainer memory settings 2020-09-02 12:07:05 -07:00
.github Update CodeQL tests to go 1.18.1 2022-05-10 14:52:10 +01:00
build Go analysis support for CodeQL. 2019-11-08 12:16:26 +00:00
codeql-tools Update Lua tracing config. 2022-05-17 13:18:56 +00:00
docs/language/learn-ql/go Editorial changes to library modeling topic 2020-07-07 10:02:33 +01:00
downgrades Add an upgrade and downgrade script 2022-05-10 14:52:10 +01:00
external-packs/codeql/suite-helpers/0.0.2 Temporarily vendor `codeql/suite-helpers` 2021-12-01 11:40:10 -05:00
extractor Merge pull request #730 from owen-mc/bugfix/build/go-mod-tidy 2022-05-13 19:40:05 +01:00
extractor-smoke-test Sort extractor smoke test output 2021-03-31 08:12:19 -07:00
old-change-notes Move pre-packaging change notes to `old-change-notes` directory 2021-12-14 12:46:56 -05:00
ql Merge pull request #737 from github/post-release-prep/codeql-cli-2.9.2 2022-05-17 10:01:21 +01:00
scripts Push upgrades pack into lib pack 2022-01-04 11:32:52 -08:00
templates/project Go analysis support for CodeQL. 2019-11-08 12:16:26 +00:00
tools Go analysis support for CodeQL. 2019-11-08 12:16:26 +00:00
vendor Update dependencies for go1.17 2021-08-19 14:00:03 -07:00
.codeqlmanifest.json Push upgrades pack into lib pack 2022-01-04 11:32:52 -08:00
.gitattributes Force git not to modify line endings for HTML test files as well 2021-03-18 10:54:34 -07:00
.gitignore Ignore `.codeql` directories 2021-08-24 10:31:01 -04:00
.lgtm.yml Update .lgtm.yml to classify examples. 2019-12-02 12:04:28 +00:00
CODEOWNERS Update CODEOWNERS 2021-07-28 11:54:25 +01:00
CODE_OF_CONDUCT.md Fixed broken/moved/redirected links. 2021-10-29 17:17:17 -04:00
CONTRIBUTING.md Better link for CONTRIBUTING.md section 4 2021-11-01 10:42:13 +00:00
LICENSE Update copyright date 2020-04-06 14:37:09 +01:00
Makefile Go: sync FlowSummaryImpl and AccessPathSyntax.qll 2022-02-21 14:40:23 +01:00
README.md QL -> CodeQL 2021-11-01 10:43:24 +00:00
SECURITY.md Go analysis support for CodeQL. 2019-11-08 12:16:26 +00:00
alert_weighting.properties Go analysis support for CodeQL. 2019-11-08 12:16:26 +00:00
codeql-extractor.yml Teach extractor about CodeQL environment variables. 2020-01-15 14:01:30 +00:00
go.mod Use Go 1.18 2022-05-10 14:52:09 +01:00
go.sum Update dependencies for go1.17 2021-08-19 14:00:03 -07:00

README.md

Go analysis support for CodeQL

This open-source repository contains the extractor, CodeQL libraries, and queries that power Go support in LGTM and the other CodeQL products that GitHub makes available to its customers worldwide.

It contains two major components:

  • an extractor, itself written in Go, that parses Go source code and converts it into a database that can be queried using CodeQL.
  • static analysis libraries and queries written in CodeQL that can be used to analyze such a database to find coding mistakes or security vulnerabilities.

The goal of this project is to provide comprehensive static analysis support for Go in CodeQL.

For the queries and libraries that power CodeQL support for other languages, visit the CodeQL repository.

Installation

Clone this repository.

Run scripts/install-deps.sh. This will ensure that the necessary external CodeQL packs are downloaded to your machine. You will need to re-run this script whenever you pull new commits from the repo.

If you want to use the CodeQL extension for Visual Studio Code, import this repository into your VS Code workspace.

Usage

To analyze a Go codebase, either use the CodeQL command-line interface to create a database yourself, or download a pre-built database from LGTM.com. You can then run any of the queries contained in this repository either on the command line or using the VS Code extension.

Note that the lgtm.com branch of this repository corresponds to the version of the queries that is currently deployed on LGTM.com. The main branch may contain changes that have not been deployed yet, so you may need to upgrade databases downloaded from LGTM.com before running queries on them.

Contributions

Contributions are welcome! Please see our contribution guidelines and our code of conduct for details on how to participate in our community.

Licensing

The code in this repository is licensed under the MIT license.

Resources