CodeQL library for Go
codeql/go-all 2.1.3 (changelog, source)
Search

Module SensitiveActions

Provides classes and predicates for identifying sensitive data and methods for security.

‘Sensitive’ data in general is anything that should not be sent around in unencrypted form. This library tries to guess where sensitive data may either be stored in a variable or produced by a method.

In addition, there are methods that ought not to be executed or not in a fashion that the user can control. This includes authorization methods such as logins, and sending of data, etc.

Import path

import semmle.go.security.SensitiveActions

Imports

go

Provides classes for working with Go programs.

Classes

AuthorizationCall

A call that may perform authorization.

CleartextPasswordExpr

An expression that might contain a clear-text password.

CredentialsFunctionName

A method that might return sensitive data, based on the name.

ProtectCall

A call to a function whose name suggests that it encodes or encrypts its arguments.

SensitiveAction

A sensitive action, such as transfer of sensitive data.

SensitiveCall

A function call that might produce sensitive data.

SensitiveDataFunctionName

A function name that suggests it may produce sensitive data.

SensitiveExpr

An expression that might contain sensitive data.

SensitiveFunctionName

A function name that suggests it may be sensitive.

SensitiveVariableAccess

An access to a variable or property that might contain sensitive data.

SensitiveWrite

A write to a location that might contain sensitive data.

Modules

HeuristicNames

Provides heuristics for identifying names related to sensitive information.

PasswordHeuristics

Provides heuristics for classifying passwords.

SensitiveExpr

Provides classes and predicates for classifying different kinds of sensitive data.