The CodeQL extractor and libraries for Go.
Перейти к файлу
Sauyon Lee 0b97e486a2
Fix one use of master in README
2020-08-07 08:49:57 -07:00
.devcontainer Add codespaces configuration 2020-05-28 13:09:21 +00:00
.github Downgrade to checkout@v1 to work around https://github.com/actions/checkout/issues/237 2020-07-24 11:24:51 +01:00
build Go analysis support for CodeQL. 2019-11-08 12:16:26 +00:00
change-notes Merge pull request #256 from smowton/smowton/admin/cwe-327-cleanup 2020-08-03 10:28:53 +01:00
codeql-tools Adapt Go tests to `codeql test` 2019-12-06 18:27:47 +01:00
docs/language/learn-ql/go Editorial changes to library modeling topic 2020-07-07 10:02:33 +01:00
extractor autobuilder: Don't try to determine import paths for file URLs 2020-08-05 23:21:34 -07:00
ql Remove ReadByte, WriteByte, ReadRune, WriteRune 2020-08-04 17:53:50 +03: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
upgrades Extract enough information to distinguish type definitions from alias declarations. 2020-07-10 14:12:51 +01:00
vendor go.mod: Use go 1.14 and update dependencies 2020-03-05 13:44:11 -08:00
.codeqlmanifest.json Add examples qlpack.yml to CodeQL manifest 2020-03-18 09:30:45 -07:00
.gitattributes .gitattributes: Use -text instead of binary 2020-02-27 00:23:56 -08:00
.gitignore Add main to .gitignore 2020-05-20 09:19:51 -07:00
.lgtm.yml Update .lgtm.yml to classify examples. 2019-12-02 12:04:28 +00:00
CODE_OF_CONDUCT.md Go analysis support for CodeQL. 2019-11-08 12:16:26 +00:00
CONTRIBUTING.md Docs: Remove some Semmle references. 2020-03-12 10:57:06 +00:00
LICENSE Update copyright date 2020-04-06 14:37:09 +01:00
Makefile Escape go-fmt file filter 2020-07-30 17:06:01 +01:00
README.md Fix one use of master in README 2020-08-07 08:49:57 -07: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 go.mod: Use go 1.14 and update dependencies 2020-03-05 13:44:11 -08:00
go.sum Add go mod dependency 2020-03-04 06:21:18 -08: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 QL 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

Simply clone this repository. There are no external dependencies.

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