mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
276 lines
29 KiB
YAML
276 lines
29 KiB
YAML
extensions:
|
|
- addsTo:
|
|
pack: codeql/java-all
|
|
extensible: sinkModel
|
|
data:
|
|
- ["java.lang", "Class", False, "getResource", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "Class", False, "getResourceAsStream", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ClassLoader", False, "getSystemResources", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ClassLoader", True, "getResource", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ClassLoader", True, "getResourceAsStream", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ClassLoader", True, "getResources", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ClassLoader", True, "getSystemResource", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ClassLoader", True, "getSystemResourceAsStream", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "Module", True, "getResourceAsStream", "(String)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "command", "(List)", "", "Argument[0]", "command-injection", "manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "command", "(String[])", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "directory", "(File)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "ProcessBuilder", "(List)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "ProcessBuilder", "(String[])", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "redirectError", "(File)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "redirectOutput", "(File)", "", "Argument[0]", "path-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String[])", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String[],String[])", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String[],String[],File)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String[],String[],File)", "", "Argument[2]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String,String[])", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String,String[],File)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "Runtime", True, "exec", "(String,String[],File)", "", "Argument[2]", "command-injection", "ai-manual"]
|
|
# All implementations of `java.lang.Runtime::exec` take the environment variables as their second argument.
|
|
- ["java.lang", "Runtime", True, "exec", "", "", "Argument[1]", "environment-injection", "manual"]
|
|
# These are potential vulnerabilities, but not for command-injection. No query for this kind of vulnerability currently exists.
|
|
# - ["java.lang", "Runtime", False, "load", "(String)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
# - ["java.lang", "Runtime", False, "loadLibrary", "(String)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "String", False, "matches", "(String)", "", "Argument[0]", "regex-use[f-1]", "manual"]
|
|
- ["java.lang", "String", False, "replaceAll", "(String,String)", "", "Argument[0]", "regex-use[-1]", "manual"]
|
|
- ["java.lang", "String", False, "replaceFirst", "(String,String)", "", "Argument[0]", "regex-use[-1]", "manual"]
|
|
- ["java.lang", "String", False, "split", "(String)", "", "Argument[0]", "regex-use[-1]", "manual"]
|
|
- ["java.lang", "String", False, "split", "(String,int)", "", "Argument[0]", "regex-use[-1]", "manual"]
|
|
# These are potential vulnerabilities, but not for command-injection. No query for this kind of vulnerability currently exists.
|
|
# - ["java.lang", "System", False, "load", "(String)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
# - ["java.lang", "System", False, "loadLibrary", "(String)", "", "Argument[0]", "command-injection", "ai-manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,Object)", "", "Argument[1]", "log-injection", "manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,ResourceBundle,String,Object[])", "", "Argument[2..3]", "log-injection", "manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,ResourceBundle,String,Throwable)", "", "Argument[2]", "log-injection", "manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,String)", "", "Argument[1]", "log-injection", "manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,String,Object[])", "", "Argument[1..2]", "log-injection", "manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,String,Supplier)", "", "Argument[1..2]", "log-injection", "manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,String,Supplier,Throwable)", "", "Argument[1..2]", "log-injection", "manual"]
|
|
- ["java.lang", "System$Logger", True, "log", "(System$Logger$Level,String,Throwable)", "", "Argument[1]", "log-injection", "manual"]
|
|
- addsTo:
|
|
pack: codeql/java-all
|
|
extensible: sourceModel
|
|
data:
|
|
- ["java.lang", "System", False, "getenv", "", "", "ReturnValue", "environment", "manual"]
|
|
- ["java.lang", "System", False, "getProperties", "", "", "ReturnValue", "environment", "manual"]
|
|
- ["java.lang", "System", False, "getProperty", "", "", "ReturnValue", "environment", "manual"]
|
|
- addsTo:
|
|
pack: codeql/java-all
|
|
extensible: summaryModel
|
|
data:
|
|
- ["java.lang", "AbstractStringBuilder", True, "AbstractStringBuilder", "(String)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "append", "", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "append", "", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "ProcessBuilder", False, "environment", "()", "", "Argument[this]", "ReturnValue", "taint", "ai-manual"]
|
|
# When `WithoutElement` is implemented for Java, `java.lang.AbstractStringBuilder#delete` might require a `taint` step of the form `Argument[this].WithoutElement -> Argument[this]` in addition to the below `value` step.
|
|
- ["java.lang", "AbstractStringBuilder", True, "delete", "(int,int)", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "getChars", "", "", "Argument[this]", "Argument[2]", "taint", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "insert", "", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "insert", "", "", "Argument[1]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "replace", "", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "replace", "", "", "Argument[2]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "reverse", "", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", True, "substring", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "Appendable", True, "append", "", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "Appendable", True, "append", "", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "AssertionError", False, "AssertionError", "(Object)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "CharSequence", True, "charAt", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "CharSequence", True, "subSequence", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "CharSequence", True, "toString", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "Class", False, "cast", "(Object)", "", "Argument[0]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "Exception", False, "Exception", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "Exception", False, "Exception", "(String,Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "Exception", False, "Exception", "(String,Throwable)", "", "Argument[1]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"]
|
|
- ["java.lang", "Exception", False, "Exception", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"]
|
|
- ["java.lang", "Exception", False, "Exception", "(Throwable)", "", "Argument[0].SyntheticField[java.lang.Throwable.message]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "taint", "df-manual"]
|
|
- ["java.lang", "IllegalArgumentException", False, "IllegalArgumentException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "IllegalStateException", False, "IllegalStateException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "IndexOutOfBoundsException", False, "IndexOutOfBoundsException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "Iterable", True, "forEach", "(Consumer)", "", "Argument[this].Element", "Argument[0].Parameter[0]", "value", "manual"]
|
|
- ["java.lang", "Iterable", True, "iterator", "()", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"]
|
|
- ["java.lang", "Iterable", True, "spliterator", "()", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"]
|
|
- ["java.lang", "NullPointerException", False, "NullPointerException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "RuntimeException", False, "RuntimeException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "RuntimeException", False, "RuntimeException", "(String,Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "RuntimeException", False, "RuntimeException", "(String,Throwable)", "", "Argument[1]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"]
|
|
- ["java.lang", "RuntimeException", False, "RuntimeException", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"]
|
|
- ["java.lang", "String", False, "String", "", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "String", False, "concat", "(String)", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "concat", "(String)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "copyValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "format", "(Locale,String,Object[])", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "format", "(Locale,String,Object[])", "", "Argument[2].ArrayElement", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "format", "(String,Object[])", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "format", "(String,Object[])", "", "Argument[1].ArrayElement", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "formatted", "(Object[])", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "formatted", "(Object[])", "", "Argument[0].ArrayElement", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "getBytes", "", "", "Argument[this]", "Argument[2]", "taint", "manual"]
|
|
- ["java.lang", "String", False, "getBytes", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "getChars", "", "", "Argument[this]", "Argument[2]", "taint", "manual"]
|
|
- ["java.lang", "String", False, "indent", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "intern", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "join", "", "", "Argument[0..1]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "lines", "()", "", "Argument[this]", "ReturnValue.Element", "taint", "df-manual"]
|
|
- ["java.lang", "String", False, "repeat", "(int)", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "replace", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "replace", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "replaceAll", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "replaceAll", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "replaceFirst", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "replaceFirst", "", "", "Argument[1]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "split", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "strip", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "stripIndent", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "stripLeading", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "stripTrailing", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "substring", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "toCharArray", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "toLowerCase", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "toString", "", "", "Argument[this]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "String", False, "toUpperCase", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "translateEscapes", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "trim", "", "", "Argument[this]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "valueOf", "(char)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "valueOf", "(char[])", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "valueOf", "(char[],int,int)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "String", False, "valueOf", "(CharSequence)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "StringBuffer", True, "StringBuffer", "(CharSequence)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "StringBuffer", True, "StringBuffer", "(String)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "StringBuilder", True, "StringBuilder", "", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "System", False, "arraycopy", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
|
|
- ["java.lang", "Thread", False, "Thread", "(Runnable)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
|
|
- ["java.lang", "Thread", False, "Thread", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Thread.name]", "value", "manual"]
|
|
- ["java.lang", "Thread", True, "getName", "()", "", "Argument[this].SyntheticField[java.lang.Thread.name]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "ThreadLocal", True, "get", "()", "", "Argument[this].SyntheticField[java.lang.ThreadLocal.value]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "ThreadLocal", True, "set", "(Object)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.ThreadLocal.value]", "value", "manual"]
|
|
- ["java.lang", "ThreadLocal", False, "withInitial", "(Supplier)", "", "Argument[0].ReturnValue", "ReturnValue.SyntheticField[java.lang.ThreadLocal.value]", "value", "manual"]
|
|
- ["java.lang", "Throwable", False, "Throwable", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- ["java.lang", "Throwable", False, "Throwable", "(String,Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "df-manual"]
|
|
- ["java.lang", "Throwable", False, "Throwable", "(String,Throwable)", "", "Argument[1]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"]
|
|
- ["java.lang", "Throwable", False, "Throwable", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"]
|
|
- ["java.lang", "Throwable", False, "Throwable", "(Throwable)", "", "Argument[0].SyntheticField[java.lang.Throwable.message]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "taint", "df-manual"]
|
|
- ["java.lang", "Throwable", True, "getCause", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "Throwable", True, "getMessage", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "Throwable", True, "getLocalizedMessage", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "value", "manual"]
|
|
- ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"]
|
|
- ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[0]", "ReturnValue.SyntheticField[java.lang.Throwable.cause]", "value", "df-manual"]
|
|
- ["java.lang", "Throwable", True, "initCause", "(Throwable)", "", "Argument[this]", "ReturnValue", "value", "df-manual"]
|
|
- ["java.lang", "Throwable", True, "toString", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "taint", "manual"]
|
|
- ["java.lang", "UnsupportedOperationException", False, "UnsupportedOperationException", "(String)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
|
|
- addsTo:
|
|
pack: codeql/java-all
|
|
extensible: neutralModel
|
|
data:
|
|
- ["java.lang", "AbstractStringBuilder", "indexOf", "(String)", "summary", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", "indexOf", "(String,int)", "summary", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", "lastIndexOf", "(String)", "summary", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", "lastIndexOf", "(String,int)", "summary", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", "length", "()", "summary", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", "setCharAt", "(int,char)", "summary", "manual"]
|
|
- ["java.lang", "AbstractStringBuilder", "setLength", "(int)", "summary", "manual"]
|
|
- ["java.lang", "Boolean", "booleanValue", "()", "summary", "manual"]
|
|
- ["java.lang", "Boolean", "equals", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "Boolean", "parseBoolean", "(String)", "summary", "manual"]
|
|
- ["java.lang", "Boolean", "valueOf", "(boolean)", "summary", "manual"]
|
|
- ["java.lang", "CharSequence", "length", "()", "summary", "manual"]
|
|
- ["java.lang", "Class", "forName", "(String)", "summary", "manual"]
|
|
- ["java.lang", "Class", "getCanonicalName", "()", "summary", "manual"]
|
|
- ["java.lang", "Class", "getClassLoader", "()", "summary", "manual"]
|
|
- ["java.lang", "Class", "getDeclaredConstructor", "(Class[])", "summary", "manual"] # This model may be changed to a taint step for an unsafe reflection query in the future.
|
|
- ["java.lang", "Class", "getDeclaredField", "(String)", "summary", "manual"] # This model may be changed to a taint step for an unsafe reflection query in the future.
|
|
- ["java.lang", "Class", "getMethod", "(String,Class[])", "summary", "manual"] # This model may be changed to a taint step for an unsafe reflection query in the future.
|
|
- ["java.lang", "Class", "getName", "()", "summary", "manual"]
|
|
- ["java.lang", "Class", "getResource", "(String)", "summary", "manual"]
|
|
- ["java.lang", "Class", "getResourceAsStream", "(String)", "summary", "manual"]
|
|
- ["java.lang", "Class", "getSimpleName", "()", "summary", "manual"]
|
|
- ["java.lang", "Class", "isAssignableFrom", "(Class)", "summary", "manual"]
|
|
- ["java.lang", "Class", "isInstance", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "Class", "toString", "()", "summary", "manual"]
|
|
- ["java.lang", "ClassLoader", "findResource", "(String)", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "getDefinedPackage", "(String)", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "getDefinedPackage", "(String)", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "getName", "()", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "getParent", "()", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "getResource", "(String)", "summary", "manual"]
|
|
- ["java.lang", "ClassLoader", "getResourceAsStream", "(String)", "summary", "manual"]
|
|
- ["java.lang", "ClassLoader", "getSystemResource", "(String)", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "getUnnamedModule", "()", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "loadClass", "(String)", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "loadClass", "(String,boolean)", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "setClassAssertionStatus", "(String,boolean)", "summary", "df-manual"]
|
|
- ["java.lang", "ClassLoader", "setPackageAssertionStatus", "(String,boolean)", "summary", "df-manual"]
|
|
- ["java.lang", "Comparable", "compareTo", "", "summary", "manual"]
|
|
- ["java.lang", "Enum", "Enum", "(String,int)", "summary", "manual"]
|
|
- ["java.lang", "Enum", "equals", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "Enum", "hashCode", "()", "summary", "manual"]
|
|
- ["java.lang", "Enum", "name", "()", "summary", "manual"]
|
|
- ["java.lang", "Enum", "ordinal", "()", "summary", "manual"]
|
|
- ["java.lang", "Enum", "toString", "()", "summary", "manual"]
|
|
- ["java.lang", "Integer", "equals", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "Long", "equals", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "Object", "equals", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "Object", "getClass", "()", "summary", "manual"]
|
|
- ["java.lang", "Object", "hashCode", "()", "summary", "manual"]
|
|
- ["java.lang", "Runtime", "getRuntime", "()", "summary", "manual"]
|
|
- ["java.lang", "String", "compareTo", "(String)", "summary", "manual"]
|
|
- ["java.lang", "String", "contains", "(CharSequence)", "summary", "manual"]
|
|
- ["java.lang", "String", "endsWith", "(String)", "summary", "manual"]
|
|
- ["java.lang", "String", "equals", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "String", "equalsIgnoreCase", "(String)", "summary", "manual"]
|
|
- ["java.lang", "String", "hashCode", "()", "summary", "manual"]
|
|
- ["java.lang", "String", "indexOf", "(int)", "summary", "manual"]
|
|
- ["java.lang", "String", "indexOf", "(String)", "summary", "manual"]
|
|
- ["java.lang", "String", "isEmpty", "()", "summary", "manual"]
|
|
- ["java.lang", "String", "lastIndexOf", "(int)", "summary", "manual"]
|
|
- ["java.lang", "String", "lastIndexOf", "(String)", "summary", "manual"]
|
|
- ["java.lang", "String", "length", "()", "summary", "manual"]
|
|
- ["java.lang", "String", "startsWith", "(String)", "summary", "manual"]
|
|
- ["java.lang", "String", "valueOf", "(boolean)", "summary", "manual"]
|
|
- ["java.lang", "String", "valueOf", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "System", "currentTimeMillis", "()", "summary", "manual"]
|
|
- ["java.lang", "System", "exit", "(int)", "summary", "manual"]
|
|
- ["java.lang", "System", "getenv", "(String)", "summary", "manual"]
|
|
- ["java.lang", "System", "getProperty", "", "summary", "manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs
|
|
- ["java.lang", "System", "identityHashCode", "(Object)", "summary", "manual"]
|
|
- ["java.lang", "System", "lineSeparator", "()", "summary", "manual"]
|
|
- ["java.lang", "System", "nanoTime", "()", "summary", "manual"]
|
|
- ["java.lang", "System", "setProperty", "", "summary", "manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs
|
|
- ["java.lang", "Thread", "currentThread", "()", "summary", "manual"]
|
|
- ["java.lang", "Thread", "getContextClassLoader", "()", "summary", "manual"]
|
|
- ["java.lang", "Thread", "interrupt", "()", "summary", "manual"]
|
|
- ["java.lang", "Thread", "sleep", "(long)", "summary", "manual"]
|
|
- ["java.lang", "Thread", "start", "()", "summary", "manual"]
|
|
- ["java.lang", "Throwable", "addSuppressed", "(Throwable)", "summary", "df-manual"]
|
|
- ["java.lang", "Throwable", "fillInStackTrace", "()", "summary", "df-manual"]
|
|
- ["java.lang", "Throwable", "getStackTrace", "()", "summary", "df-manual"]
|
|
- ["java.lang", "Throwable", "getSuppressed", "()", "summary", "df-manual"]
|
|
- ["java.lang", "Throwable", "printStackTrace", "()", "summary", "df-manual"]
|
|
- ["java.lang", "Throwable", "printStackTrace", "(PrintStream)", "summary", "df-manual"]
|
|
- ["java.lang", "Throwable", "printStackTrace", "(PrintWriter)", "summary", "df-manual"]
|
|
- ["java.lang", "Throwable", "setStackTrace", "(StackTraceElement[])", "summary", "df-manual"]
|
|
# The below APIs have numeric flow and are currently being stored as neutral models.
|
|
# These may be changed to summary models with kinds "value-numeric" and "taint-numeric" (or similar) in the future.
|
|
- ["java.lang", "Double", "doubleToLongBits", "(double)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Double", "parseDouble", "(String)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Double", "valueOf", "(double)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Integer", "Integer", "(int)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Integer", "intValue", "()", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Integer", "parseInt", "(String)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Integer", "toHexString", "(int)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Integer", "toString", "", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Integer", "valueOf", "", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Long", "Long", "(long)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Long", "intValue", "()", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Long", "longValue", "()", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Long", "parseLong", "(String)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Long", "toString", "", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Long", "valueOf", "", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Math", "max", "", "summary", "manual"] # value-numeric
|
|
- ["java.lang", "Math", "min", "", "summary", "manual"] # value-numeric
|
|
- ["java.lang", "Number", "doubleValue", "()", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Number", "intValue", "()", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "Number", "longValue", "()", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "String", "valueOf", "(int)", "summary", "manual"] # taint-numeric
|
|
- ["java.lang", "String", "valueOf", "(long)", "summary", "manual"] # taint-numeric
|