CodeQL: the libraries and queries that power security researchers around the world, as well as code scanning in GitHub Advanced Security
Перейти к файлу
Max Schaefer 270ae0926a Docs: Remove some Semmle references. 2020-03-12 10:57:06 +00:00
.github/workflows
build
change-notes Apply review comments. 2020-03-11 03:26:18 -07:00
codeql-tools
extractor Merge pull request #54 from sauyon/vendor-support 2020-03-11 11:36:49 +00:00
ql Merge pull request #51 from singleghost/master 2020-03-11 10:00:39 +00:00
templates/project
tools
upgrades Make @uintptrtype a @unsignedintegertype 2020-03-09 04:40:02 -07:00
vendor
.codeqlmanifest.json
.gitattributes
.gitignore
.lgtm.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md Docs: Remove some Semmle references. 2020-03-12 10:57:06 +00:00
COPYRIGHT
LICENSE
Makefile
README.md Docs: Remove some Semmle references. 2020-03-12 10:57:06 +00:00
SECURITY.md
alert_weighting.properties
codeql-extractor.yml
go.mod
go.sum

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.

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 master 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