diff --git a/javascript/ql/test/library-tests/DataExtensions/Test.expected b/javascript/ql/test/library-tests/DataExtensions/Test.expected deleted file mode 100644 index ba7992e31432..000000000000 --- a/javascript/ql/test/library-tests/DataExtensions/Test.expected +++ /dev/null @@ -1,7 +0,0 @@ -commandInjectionSinks -| execa.example.js:2:7:2:9 | cmd | -sqlInjectionSinks -| connection.example.ts:4:20:4:20 | q | -| connection.example.ts:9:18:9:18 | q | -remoteFlowSources -| message.example.js:1:46:1:50 | event | diff --git a/javascript/ql/test/library-tests/DataExtensions/Test.ql b/javascript/ql/test/library-tests/DataExtensions/Test.ql deleted file mode 100644 index 38eda6b4f78e..000000000000 --- a/javascript/ql/test/library-tests/DataExtensions/Test.ql +++ /dev/null @@ -1,11 +0,0 @@ -import javascript -private import semmle.javascript.security.dataflow.CommandInjectionCustomizations -private import semmle.javascript.security.dataflow.SqlInjectionCustomizations - -query predicate commandInjectionSinks(DataFlow::Node node) { - node instanceof CommandInjection::Sink -} - -query predicate sqlInjectionSinks(DataFlow::Node node) { node instanceof SqlInjection::Sink } - -query predicate remoteFlowSources(RemoteFlowSource node) { any() } diff --git a/javascript/ql/test/library-tests/DataExtensions/connection.expected b/javascript/ql/test/library-tests/DataExtensions/connection.expected new file mode 100644 index 000000000000..3c48d0b5e437 --- /dev/null +++ b/javascript/ql/test/library-tests/DataExtensions/connection.expected @@ -0,0 +1,2 @@ +| connection.example.ts:4:20:4:20 | q | +| connection.example.ts:9:18:9:18 | q | diff --git a/javascript/ql/test/library-tests/DataExtensions/connection.model.yml b/javascript/ql/test/library-tests/DataExtensions/connection.ext.yml similarity index 100% rename from javascript/ql/test/library-tests/DataExtensions/connection.model.yml rename to javascript/ql/test/library-tests/DataExtensions/connection.ext.yml diff --git a/javascript/ql/test/library-tests/DataExtensions/connection.ql b/javascript/ql/test/library-tests/DataExtensions/connection.ql new file mode 100644 index 000000000000..be05bcd4036c --- /dev/null +++ b/javascript/ql/test/library-tests/DataExtensions/connection.ql @@ -0,0 +1,4 @@ +import javascript +private import semmle.javascript.security.dataflow.SqlInjectionCustomizations + +query predicate sqlInjectionSinks(DataFlow::Node node) { node instanceof SqlInjection::Sink } diff --git a/javascript/ql/test/library-tests/DataExtensions/execa.expected b/javascript/ql/test/library-tests/DataExtensions/execa.expected new file mode 100644 index 000000000000..e69a5072709d --- /dev/null +++ b/javascript/ql/test/library-tests/DataExtensions/execa.expected @@ -0,0 +1 @@ +| execa.example.js:2:7:2:9 | cmd | diff --git a/javascript/ql/test/library-tests/DataExtensions/execa.ext.yml b/javascript/ql/test/library-tests/DataExtensions/execa.ext.yml new file mode 100644 index 000000000000..d1e4adb96cb2 --- /dev/null +++ b/javascript/ql/test/library-tests/DataExtensions/execa.ext.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/javascript-all + extensible: sinkModel + data: + - ["@example/execa", "Member[shell].Argument[0]", "command-injection"] diff --git a/javascript/ql/test/library-tests/DataExtensions/execa.model.yml b/javascript/ql/test/library-tests/DataExtensions/execa.model.yml deleted file mode 100644 index f7e0f70c0bcf..000000000000 --- a/javascript/ql/test/library-tests/DataExtensions/execa.model.yml +++ /dev/null @@ -1,10 +0,0 @@ -extensions: - - addsTo: - pack: codeql/javascript-all - extensible: sinkModel - data: - - [ - "@example/execa", - "Member[shell].Argument[0]", - "command-injection", - ] diff --git a/javascript/ql/test/library-tests/DataExtensions/execa.ql b/javascript/ql/test/library-tests/DataExtensions/execa.ql new file mode 100644 index 000000000000..3e6191d3dfb9 --- /dev/null +++ b/javascript/ql/test/library-tests/DataExtensions/execa.ql @@ -0,0 +1,6 @@ +import javascript +private import semmle.javascript.security.dataflow.CommandInjectionCustomizations + +query predicate commandInjectionSinks(DataFlow::Node node) { + node instanceof CommandInjection::Sink +} diff --git a/javascript/ql/test/library-tests/DataExtensions/message.expected b/javascript/ql/test/library-tests/DataExtensions/message.expected new file mode 100644 index 000000000000..e8457f74bf68 --- /dev/null +++ b/javascript/ql/test/library-tests/DataExtensions/message.expected @@ -0,0 +1,2 @@ +| message.example.js:1:46:1:50 | event | +| message.example.js:2:16:2:25 | event.data | diff --git a/javascript/ql/test/library-tests/DataExtensions/message.model.yml b/javascript/ql/test/library-tests/DataExtensions/message.ext.yml similarity index 90% rename from javascript/ql/test/library-tests/DataExtensions/message.model.yml rename to javascript/ql/test/library-tests/DataExtensions/message.ext.yml index 9c575566ce49..40017724aebb 100644 --- a/javascript/ql/test/library-tests/DataExtensions/message.model.yml +++ b/javascript/ql/test/library-tests/DataExtensions/message.ext.yml @@ -6,5 +6,5 @@ extensions: - [ "global", "Member[addEventListener].WithStringArgument[0=message].Argument[1].Parameter[0].Member[data]", - "remote-flow", + "remote", ] diff --git a/javascript/ql/test/library-tests/DataExtensions/message.ql b/javascript/ql/test/library-tests/DataExtensions/message.ql new file mode 100644 index 000000000000..cf0637a04ef0 --- /dev/null +++ b/javascript/ql/test/library-tests/DataExtensions/message.ql @@ -0,0 +1,3 @@ +import javascript + +query predicate remoteFlowSources(RemoteFlowSource node) { any() } diff --git a/javascript/ql/test/qlpack.yml b/javascript/ql/test/qlpack.yml index 566916b499ff..8976782483a8 100644 --- a/javascript/ql/test/qlpack.yml +++ b/javascript/ql/test/qlpack.yml @@ -5,6 +5,4 @@ dependencies: codeql/javascript-queries: ${workspace} extractor: javascript tests: . -dataExtensions: - - library-tests/DataExtensions/*.model.yml warnOnImplicitThis: true