Package com.tonic.analysis.cpg.taint
Enum VulnerabilityType
- java.lang.Object
-
- java.lang.Enum<VulnerabilityType>
-
- com.tonic.analysis.cpg.taint.VulnerabilityType
-
- All Implemented Interfaces:
Serializable,Comparable<VulnerabilityType>
public enum VulnerabilityType extends Enum<VulnerabilityType>
Vulnerability classes a taint sink can represent.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description CODE_INJECTIONUntrusted data is compiled or evaluated as program source.COMMAND_INJECTIONUntrusted data reaches a process launch such asRuntime.execor aProcessBuildercommand list.CUSTOMA caller-defined sink category, for rules none of the built-in classes describe.INSECURE_DESERIALIZATIONUntrusted bytes are read back through object deserialization, allowing attacker-chosen types to be constructed.LDAP_INJECTIONUntrusted data reaches a directory-context search filter.LOG_INJECTIONUntrusted data is written to a log, where it can forge or corrupt records.OPEN_REDIRECTUntrusted data chooses a redirect destination, sending users to an attacker-controlled site.PATH_TRAVERSALUntrusted data reaches a file path, letting the target escape its intended directory.SQL_INJECTIONUntrusted data reaches a JDBC statement that is executed or prepared as query text.SSRFUntrusted data chooses the target of an outbound request, letting a caller reach hosts the server can see but the caller cannot.TEMPLATE_INJECTIONUntrusted data is evaluated as template markup rather than treated as inert content.UNSAFE_REFLECTIONUntrusted data names the class, method, or constructor a reflective call resolves.XPATH_INJECTIONUntrusted data reaches an XPath expression that is compiled or evaluated.XSSUntrusted data is written into a servlet response or writer without being escaped first.XXEUntrusted XML is parsed with external entity resolution still enabled.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static VulnerabilityTypevalueOf(String name)Returns the enum constant of this type with the specified name.static VulnerabilityType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
SQL_INJECTION
public static final VulnerabilityType SQL_INJECTION
Untrusted data reaches a JDBC statement that is executed or prepared as query text.
-
COMMAND_INJECTION
public static final VulnerabilityType COMMAND_INJECTION
Untrusted data reaches a process launch such asRuntime.execor aProcessBuildercommand list.
-
PATH_TRAVERSAL
public static final VulnerabilityType PATH_TRAVERSAL
Untrusted data reaches a file path, letting the target escape its intended directory.
-
XSS
public static final VulnerabilityType XSS
Untrusted data is written into a servlet response or writer without being escaped first.
-
LDAP_INJECTION
public static final VulnerabilityType LDAP_INJECTION
Untrusted data reaches a directory-context search filter.
-
XPATH_INJECTION
public static final VulnerabilityType XPATH_INJECTION
Untrusted data reaches an XPath expression that is compiled or evaluated.
-
LOG_INJECTION
public static final VulnerabilityType LOG_INJECTION
Untrusted data is written to a log, where it can forge or corrupt records.
-
SSRF
public static final VulnerabilityType SSRF
Untrusted data chooses the target of an outbound request, letting a caller reach hosts the server can see but the caller cannot.
-
INSECURE_DESERIALIZATION
public static final VulnerabilityType INSECURE_DESERIALIZATION
Untrusted bytes are read back through object deserialization, allowing attacker-chosen types to be constructed.
-
UNSAFE_REFLECTION
public static final VulnerabilityType UNSAFE_REFLECTION
Untrusted data names the class, method, or constructor a reflective call resolves.
-
OPEN_REDIRECT
public static final VulnerabilityType OPEN_REDIRECT
Untrusted data chooses a redirect destination, sending users to an attacker-controlled site.
-
XXE
public static final VulnerabilityType XXE
Untrusted XML is parsed with external entity resolution still enabled.
-
TEMPLATE_INJECTION
public static final VulnerabilityType TEMPLATE_INJECTION
Untrusted data is evaluated as template markup rather than treated as inert content.
-
CODE_INJECTION
public static final VulnerabilityType CODE_INJECTION
Untrusted data is compiled or evaluated as program source.
-
CUSTOM
public static final VulnerabilityType CUSTOM
A caller-defined sink category, for rules none of the built-in classes describe.
-
-
Method Detail
-
values
public static VulnerabilityType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (VulnerabilityType c : VulnerabilityType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static VulnerabilityType valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
-