This change log includes updates to detectors made in January 2026.
java-missing-metrics-manager-pop
com.amazon.coral.metrics.* classespop() is guaranteed to execute in the finally blockjava-os-command-injection-ide
System.setProperty() call as this only sets JVM properties and doesn't execute OS commandsProcessBuilder.environment().put() calls as setting environment variables is not command argument injectionjava-cross-site-scripting-ide
model.addAttribute from detection patterns, as these methods are already covered by other rules, reducing duplicate resultsjava-sql-injection-ide
PreparedStatement usage with proper parameterizationjava-log-injection
PrintStream vulnerability detectionfile_extension_validation_rule
save, read, and open to prevent timeout issuepython-path-traversal-ide
FileField/ModelForm.save() and dynamic import sinks from path traversal rulessecure_filename() as a sanitization functionpython-system-prompt-leakage-vulnerability
python-llm-vector-embedding-weaknesses
pickle.dump to ensure the rule triggers only in actual RAG/ML contexts, rather than general file operationspython-llm-improper-output-handling
messages.create(), generic generate_text(), and Google's generate_content()subprocess.check_output to catch another common subprocess method that could be vulnerablekotlin-xml-decoder
ApacheHttpClient, HttpClient, HttpAsyncClient and OkHttpClientjavascript-alert-box
alert(), confirm(), and prompt() with static messages is not a security vulnerabilityjavascript-csrf-missing-protection
csrf() middlewaresameSite: 'lax', secure: true, httpOnly: true)javascript-code-injection-ide
escapeHTML() as a sanitization function for innerHTML assignmentssetInterval() calls with object method invocationsrequire() detection to only flag request-based vulnerabilities (req.*, request.*) while excluding internal module loading patternsjavascript-missing-authorization-ide
this.$METHOD() calls inside UserDAO constructor context are internal DB operations, not HTTP routesjavascript-insecure-deserialization-ide
eval('(' + data + ')') rather than all dynamic code executionJSON.parse, yaml.safeLoad, schema validationnode-serialize, serialize-javascript, flattedvm.runInNewContext, Function() constructorjavascript-cross-site-scripting-ide
eval($UNSANITIZED) pattern since server-side eval() represents Code Injection (CWE-94) rather than XSStypescript-code-injection-ide
$ROUTER.navigate(...))$ZONE.run(...)) for variable assignments and navigation$REGEX.exec(...) calls on standard named regex variablesvscode.commands.executeCommand, vscode.commands.getCommands)spawn from test-helpers)sql, db, database, conn, connection, pool)ts-hardcoded-credentials-library-ide
typescript-no-sql-injection-ide
findOne({ where: ... })) as these are SQL database operations, not NoSQL injection vectorsArray.find() methods as they are in-memory array operationsHttpClient.delete() and other HTTP requests, as these are network requestsupdate() method in jsSHA.find() and .subscribe() patternstypescript-cross-site-scripting-ide
messages.push with body/content), database inserts, internal data structuresconfig.get(), since it does not affect CSRF behaviorentities.encode() as a sanitization stepThe following rules were disabled:
python-cdk-media-store-container-access-loggingtypescript-cdk-media-store-container-access-loggingjava-guice-insecure-thread-pool