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

semmle.javascript.security.SensitiveActions

Imports

CleartextPasswords

Classes for expressions containing cleartext passwords.

javascript

Provides classes for working with JavaScript programs, as well as JSON, YAML and HTML.

Classes

AuthorizationCall

A call that may perform authorization.

CredentialsFunctionName

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

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.