@@ -58,6 +58,7 @@ extensions:
5858 - ["java.lang", "Iterable", True, "forEach", "(Consumer)", "", "Argument[this].Element", "Argument[0].Parameter[0]", "value", "manual"]
5959 - ["java.lang", "Iterable", True, "iterator", "()", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"]
6060 - ["java.lang", "Iterable", True, "spliterator", "()", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"]
61+ - ["java.lang", "NullPointerException", False, "NullPointerException", "(String)", "", "Argument[0]", "Argument[-1].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
6162 - ["java.lang", "Object", True, "clone", "", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"]
6263 - ["java.lang", "Object", True, "clone", "", "", "Argument[this].MapKey", "ReturnValue.MapKey", "value", "manual"]
6364 - ["java.lang", "Object", True, "clone", "", "", "Argument[this].MapValue", "ReturnValue.MapValue", "value", "manual"]
@@ -107,50 +108,69 @@ extensions:
107108 - ["java.lang", "StringBuffer", True, "StringBuffer", "(String)", "", "Argument[0]", "Argument[this]", "taint", "manual"]
108109 - ["java.lang", "StringBuilder", True, "StringBuilder", "", "", "Argument[0]", "Argument[this]", "taint", "manual"]
109110 - ["java.lang", "System", False, "arraycopy", "", "", "Argument[0]", "Argument[2]", "taint", "manual"]
111+ - ["java.lang", "ThreadLocal", True, "get", "()", "", "Argument[-1].SyntheticField[java.lang.ThreadLocal.value]", "ReturnValue", "value", "manual"] # ! not sure if this model is correct, and if should be neutral model instead
110112 - ["java.lang", "Throwable", False, "Throwable", "(Throwable)", "", "Argument[0]", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "value", "manual"]
111113 - ["java.lang", "Throwable", True, "getCause", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.cause]", "ReturnValue", "value", "manual"]
112114 - ["java.lang", "Throwable", True, "getMessage", "()", "", "Argument[this].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "value", "manual"]
115+ - ["java.lang", "Throwable", True, "toString", "()", "", "Argument[-1].SyntheticField[java.lang.Throwable.message]", "ReturnValue", "taint", "manual"] # ! little unsure about this one...
113116 - addsTo :
114117 pack : codeql/java-all
115118 extensible : neutralModel
116119 data :
117120 - ["java.lang", "AbstractStringBuilder", "length", "()", "manual"]
118121 - ["java.lang", "Boolean", "equals", "(Object)", "manual"]
122+ - ["java.lang", "Class", "getCanonicalName", "()", "manual"]
119123 - ["java.lang", "Class", "getClassLoader", "()", "manual"]
120124 - ["java.lang", "Class", "getName", "()", "manual"]
121125 - ["java.lang", "Class", "getSimpleName", "()", "manual"]
122126 - ["java.lang", "Class", "isAssignableFrom", "(Class)", "manual"]
123127 - ["java.lang", "Enum", "Enum", "(String,int)", "manual"]
124128 - ["java.lang", "Enum", "equals", "(Object)", "manual"]
129+ - ["java.lang", "Enum", "hashCode", "()", "manual"]
125130 - ["java.lang", "Enum", "name", "()", "manual"]
131+ - ["java.lang", "Enum", "ordinal", "()", "manual"]
126132 - ["java.lang", "Enum", "toString", "()", "manual"]
133+ - ["java.lang", "Integer", "equals", "(Object)", "manual"]
127134 - ["java.lang", "Long", "equals", "(Object)", "manual"]
128135 - ["java.lang", "Object", "equals", "(Object)", "manual"]
129136 - ["java.lang", "Object", "getClass", "()", "manual"]
130137 - ["java.lang", "Object", "hashCode", "()", "manual"]
131138 - ["java.lang", "Object", "toString", "()", "manual"]
139+ - ["java.lang", "Runnable", "run", "()", "manual"]
140+ - ["java.lang", "String", "compareTo", "(String)", "manual"]
132141 - ["java.lang", "String", "contains", "(CharSequence)", "manual"]
133142 - ["java.lang", "String", "endsWith", "(String)", "manual"]
134143 - ["java.lang", "String", "equals", "(Object)", "manual"]
135144 - ["java.lang", "String", "equalsIgnoreCase", "(String)", "manual"]
136145 - ["java.lang", "String", "hashCode", "()", "manual"]
146+ - ["java.lang", "String", "indexOf", "(int)", "manual"]
137147 - ["java.lang", "String", "indexOf", "(String)", "manual"]
138148 - ["java.lang", "String", "isEmpty", "()", "manual"]
139149 - ["java.lang", "String", "length", "()", "manual"]
140150 - ["java.lang", "String", "startsWith", "(String)", "manual"]
141151 - ["java.lang", "System", "currentTimeMillis", "()", "manual"]
152+ - ["java.lang", "System", "lineSeparator", "()", "manual"] # ! double-check...
142153 - ["java.lang", "System", "nanoTime", "()", "manual"]
143154 - ["java.lang", "Thread", "currentThread", "()", "manual"]
144155 - ["java.lang", "Thread", "sleep", "(long)", "manual"]
156+ - ["java.lang", "Thread", "start", "()", "manual"]
145157 # The below APIs have numeric flow and are currently being stored as neutral models.
146158 # These may be changed to summary models with kinds "value-numeric" and "taint-numeric" (or similar) in the future.
147- - ["java.lang", "Integer", "intValue", "()", "manual"] # taint-numeric
148- - ["java.lang", "Integer", "parseInt", "(String)", "manual"] # taint-numeric
149- - ["java.lang", "Integer", "toString", "(int)", "manual"] # taint-numeric
150- - ["java.lang", "Integer", "valueOf", "(int)", "manual"] # taint-numeric
151- - ["java.lang", "Long", "longValue", "()", "manual"] # taint-numeric
152- - ["java.lang", "Long", "parseLong", "(String)", "manual"] # taint-numeric
153- - ["java.lang", "Long", "toString", "()", "manual"] # taint-numeric
154- - ["java.lang", "Math", "min", "(int,int)", "manual"] # value-numeric
155- - ["java.lang", "String", "valueOf", "(int)", "manual"] # taint-numeric
156- - ["java.lang", "String", "valueOf", "(long)", "manual"] # taint-numeric
159+ - ["java.lang", "Boolean", "booleanValue", "()", "manual"] # taint-numeric
160+ - ["java.lang", "Boolean", "parseBoolean", "(String)", "manual"] # taint-numeric
161+ - ["java.lang", "Integer", "Integer", "(int)", "manual"] # taint-numeric
162+ - ["java.lang", "Integer", "intValue", "()", "manual"] # taint-numeric
163+ - ["java.lang", "Integer", "parseInt", "(String)", "manual"] # taint-numeric
164+ - ["java.lang", "Integer", "toString", "(int)", "manual"] # taint-numeric
165+ - ["java.lang", "Integer", "valueOf", "(int)", "manual"] # taint-numeric
166+ - ["java.lang", "Integer", "valueOf", "(String)", "manual"] # taint-numeric # ! should probably make this and others like it have a "" signature instead...
167+ - ["java.lang", "Long", "longValue", "()", "manual"] # taint-numeric
168+ - ["java.lang", "Long", "parseLong", "(String)", "manual"] # taint-numeric
169+ - ["java.lang", "Long", "toString", "()", "manual"] # taint-numeric
170+ - ["java.lang", "Long", "toString", "(long)", "manual"] # taint-numeric
171+ - ["java.lang", "Long", "valueOf", "(long)", "manual"] # taint-numeric
172+ - ["java.lang", "Long", "valueOf", "(String)", "manual"] # taint-numeric
173+ - ["java.lang", "Math", "max", "(int,int)", "manual"] # value-numeric
174+ - ["java.lang", "Math", "min", "(int,int)", "manual"] # value-numeric
175+ - ["java.lang", "String", "valueOf", "(int)", "manual"] # taint-numeric
176+ - ["java.lang", "String", "valueOf", "(long)", "manual"] # taint-numeric
0 commit comments