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.javascript.security.SensitiveActions
Imports
SensitiveDataHeuristics | INTERNAL: Do not use. |
javascript | Provides classes for working with JavaScript programs, as well as JSON, YAML and HTML. |
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. |
SensitiveFunctionName | A function name that suggests it may be sensitive. |
SensitiveNode | An expression that might contain sensitive data. |
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
PasswordHeuristics | Provides heuristics for classifying passwords. |