JS: Update locations in expected files

This commit is contained in:
Asger F
2025-08-28 13:08:12 +02:00
parent d117c52d2f
commit cc8fe10801
75 changed files with 3337 additions and 3337 deletions

View File

@@ -1,17 +1,17 @@
edges
| busybus.js:9:30:9:33 | file | busybus.js:13:23:13:23 | z | provenance | |
| busybus.js:9:36:9:39 | info | busybus.js:10:54:10:57 | info | provenance | |
| busybus.js:10:19:10:50 | { filen ... eType } | busybus.js:10:19:10:57 | encoding | provenance | |
| busybus.js:10:19:10:50 | { filen ... eType } | busybus.js:10:19:10:57 | filename | provenance | |
| busybus.js:10:19:10:50 | { filen ... eType } | busybus.js:10:19:10:57 | mimeType | provenance | |
| busybus.js:10:19:10:57 | encoding | busybus.js:12:28:12:35 | encoding | provenance | |
| busybus.js:10:19:10:57 | filename | busybus.js:12:18:12:25 | filename | provenance | |
| busybus.js:10:19:10:57 | mimeType | busybus.js:12:38:12:45 | mimeType | provenance | |
| busybus.js:10:19:10:50 | { filen ... eType } | busybus.js:10:21:10:28 | filename | provenance | |
| busybus.js:10:19:10:50 | { filen ... eType } | busybus.js:10:31:10:38 | encoding | provenance | |
| busybus.js:10:19:10:50 | { filen ... eType } | busybus.js:10:41:10:48 | mimeType | provenance | |
| busybus.js:10:21:10:28 | filename | busybus.js:12:18:12:25 | filename | provenance | |
| busybus.js:10:31:10:38 | encoding | busybus.js:12:28:12:35 | encoding | provenance | |
| busybus.js:10:41:10:48 | mimeType | busybus.js:12:38:12:45 | mimeType | provenance | |
| busybus.js:10:54:10:57 | info | busybus.js:10:19:10:50 | { filen ... eType } | provenance | |
| busybus.js:13:23:13:23 | z | busybus.js:13:31:13:36 | sink() | provenance | |
| busybus.js:15:30:15:33 | data | busybus.js:16:22:16:25 | data | provenance | |
| busybus.js:22:25:22:42 | data | busybus.js:23:26:23:29 | data | provenance | |
| busybus.js:22:32:22:42 | this.read() | busybus.js:22:25:22:42 | data | provenance | |
| busybus.js:22:25:22:28 | data | busybus.js:23:26:23:29 | data | provenance | |
| busybus.js:22:32:22:42 | this.read() | busybus.js:22:25:22:28 | data | provenance | |
| busybus.js:27:25:27:28 | name | busybus.js:28:18:28:21 | name | provenance | |
| busybus.js:27:31:27:33 | val | busybus.js:28:24:28:26 | val | provenance | |
| busybus.js:27:36:27:39 | info | busybus.js:28:29:28:32 | info | provenance | |
@@ -19,10 +19,10 @@ edges
| dicer.js:14:28:14:33 | header | dicer.js:16:22:16:27 | header | provenance | |
| dicer.js:16:22:16:27 | header | dicer.js:16:22:16:30 | header[h] | provenance | |
| dicer.js:19:26:19:29 | data | dicer.js:20:18:20:21 | data | provenance | |
| formidable.js:7:11:7:25 | [fields, files] | formidable.js:7:11:7:49 | fields | provenance | |
| formidable.js:7:11:7:25 | [fields, files] | formidable.js:7:11:7:49 | files | provenance | |
| formidable.js:7:11:7:49 | fields | formidable.js:8:10:8:15 | fields | provenance | |
| formidable.js:7:11:7:49 | files | formidable.js:8:18:8:22 | files | provenance | |
| formidable.js:7:11:7:25 | [fields, files] | formidable.js:7:12:7:17 | fields | provenance | |
| formidable.js:7:11:7:25 | [fields, files] | formidable.js:7:20:7:24 | files | provenance | |
| formidable.js:7:12:7:17 | fields | formidable.js:8:10:8:15 | fields | provenance | |
| formidable.js:7:20:7:24 | files | formidable.js:8:18:8:22 | files | provenance | |
| formidable.js:7:29:7:49 | await f ... se(req) | formidable.js:7:11:7:25 | [fields, files] | provenance | |
| formidable.js:7:35:7:49 | form.parse(req) | formidable.js:7:29:7:49 | await f ... se(req) | provenance | |
| formidable.js:9:27:9:34 | formname | formidable.js:10:14:10:21 | formname | provenance | |
@@ -39,9 +39,9 @@ nodes
| busybus.js:9:30:9:33 | file | semmle.label | file |
| busybus.js:9:36:9:39 | info | semmle.label | info |
| busybus.js:10:19:10:50 | { filen ... eType } | semmle.label | { filen ... eType } |
| busybus.js:10:19:10:57 | encoding | semmle.label | encoding |
| busybus.js:10:19:10:57 | filename | semmle.label | filename |
| busybus.js:10:19:10:57 | mimeType | semmle.label | mimeType |
| busybus.js:10:21:10:28 | filename | semmle.label | filename |
| busybus.js:10:31:10:38 | encoding | semmle.label | encoding |
| busybus.js:10:41:10:48 | mimeType | semmle.label | mimeType |
| busybus.js:10:54:10:57 | info | semmle.label | info |
| busybus.js:12:18:12:25 | filename | semmle.label | filename |
| busybus.js:12:28:12:35 | encoding | semmle.label | encoding |
@@ -50,7 +50,7 @@ nodes
| busybus.js:13:31:13:36 | sink() | semmle.label | sink() |
| busybus.js:15:30:15:33 | data | semmle.label | data |
| busybus.js:16:22:16:25 | data | semmle.label | data |
| busybus.js:22:25:22:42 | data | semmle.label | data |
| busybus.js:22:25:22:28 | data | semmle.label | data |
| busybus.js:22:32:22:42 | this.read() | semmle.label | this.read() |
| busybus.js:23:26:23:29 | data | semmle.label | data |
| busybus.js:27:25:27:28 | name | semmle.label | name |
@@ -67,8 +67,8 @@ nodes
| dicer.js:19:26:19:29 | data | semmle.label | data |
| dicer.js:20:18:20:21 | data | semmle.label | data |
| formidable.js:7:11:7:25 | [fields, files] | semmle.label | [fields, files] |
| formidable.js:7:11:7:49 | fields | semmle.label | fields |
| formidable.js:7:11:7:49 | files | semmle.label | files |
| formidable.js:7:12:7:17 | fields | semmle.label | fields |
| formidable.js:7:20:7:24 | files | semmle.label | files |
| formidable.js:7:29:7:49 | await f ... se(req) | semmle.label | await f ... se(req) |
| formidable.js:7:35:7:49 | form.parse(req) | semmle.label | form.parse(req) |
| formidable.js:8:10:8:15 | fields | semmle.label | fields |

View File

@@ -1,33 +1,33 @@
edges
| test.js:5:11:5:44 | payload | test.js:6:30:6:36 | payload | provenance | |
| test.js:5:11:5:44 | payload | test.js:9:26:9:32 | payload | provenance | |
| test.js:5:21:5:44 | req.que ... rameter | test.js:5:11:5:44 | payload | provenance | |
| test.js:6:9:6:43 | payloadURL | test.js:7:16:7:25 | payloadURL | provenance | |
| test.js:6:22:6:43 | new URL ... + sth) | test.js:6:9:6:43 | payloadURL | provenance | |
| test.js:5:11:5:17 | payload | test.js:6:30:6:36 | payload | provenance | |
| test.js:5:11:5:17 | payload | test.js:9:26:9:32 | payload | provenance | |
| test.js:5:21:5:44 | req.que ... rameter | test.js:5:11:5:17 | payload | provenance | |
| test.js:6:9:6:18 | payloadURL | test.js:7:16:7:25 | payloadURL | provenance | |
| test.js:6:22:6:43 | new URL ... + sth) | test.js:6:9:6:18 | payloadURL | provenance | |
| test.js:6:30:6:36 | payload | test.js:6:30:6:42 | payload + sth | provenance | |
| test.js:6:30:6:42 | payload + sth | test.js:6:22:6:43 | new URL ... + sth) | provenance | Config |
| test.js:9:5:9:39 | payloadURL | test.js:10:16:10:25 | payloadURL | provenance | |
| test.js:9:18:9:39 | new URL ... + sth) | test.js:9:5:9:39 | payloadURL | provenance | |
| test.js:9:5:9:14 | payloadURL | test.js:10:16:10:25 | payloadURL | provenance | |
| test.js:9:18:9:39 | new URL ... + sth) | test.js:9:5:9:14 | payloadURL | provenance | |
| test.js:9:26:9:32 | payload | test.js:9:26:9:38 | payload + sth | provenance | |
| test.js:9:26:9:38 | payload + sth | test.js:9:18:9:39 | new URL ... + sth) | provenance | Config |
| test.js:17:11:17:44 | payload | test.js:18:18:18:24 | payload | provenance | |
| test.js:17:11:17:44 | payload | test.js:19:18:19:24 | payload | provenance | |
| test.js:17:21:17:44 | req.que ... rameter | test.js:17:11:17:44 | payload | provenance | |
| test.js:17:11:17:17 | payload | test.js:18:18:18:24 | payload | provenance | |
| test.js:17:11:17:17 | payload | test.js:19:18:19:24 | payload | provenance | |
| test.js:17:21:17:44 | req.que ... rameter | test.js:17:11:17:17 | payload | provenance | |
| test.js:19:18:19:24 | payload | test.js:19:18:19:30 | payload + sth | provenance | |
nodes
| test.js:5:11:5:44 | payload | semmle.label | payload |
| test.js:5:11:5:17 | payload | semmle.label | payload |
| test.js:5:21:5:44 | req.que ... rameter | semmle.label | req.que ... rameter |
| test.js:6:9:6:43 | payloadURL | semmle.label | payloadURL |
| test.js:6:9:6:18 | payloadURL | semmle.label | payloadURL |
| test.js:6:22:6:43 | new URL ... + sth) | semmle.label | new URL ... + sth) |
| test.js:6:30:6:36 | payload | semmle.label | payload |
| test.js:6:30:6:42 | payload + sth | semmle.label | payload + sth |
| test.js:7:16:7:25 | payloadURL | semmle.label | payloadURL |
| test.js:9:5:9:39 | payloadURL | semmle.label | payloadURL |
| test.js:9:5:9:14 | payloadURL | semmle.label | payloadURL |
| test.js:9:18:9:39 | new URL ... + sth) | semmle.label | new URL ... + sth) |
| test.js:9:26:9:32 | payload | semmle.label | payload |
| test.js:9:26:9:38 | payload + sth | semmle.label | payload + sth |
| test.js:10:16:10:25 | payloadURL | semmle.label | payloadURL |
| test.js:17:11:17:44 | payload | semmle.label | payload |
| test.js:17:11:17:17 | payload | semmle.label | payload |
| test.js:17:21:17:44 | req.que ... rameter | semmle.label | req.que ... rameter |
| test.js:18:18:18:24 | payload | semmle.label | payload |
| test.js:19:18:19:24 | payload | semmle.label | payload |

View File

@@ -1,28 +1,28 @@
edges
| test.js:5:9:5:28 | { EnvValue, EnvKey } | test.js:5:9:5:39 | EnvKey | provenance | |
| test.js:5:9:5:28 | { EnvValue, EnvKey } | test.js:5:9:5:39 | EnvValue | provenance | |
| test.js:5:9:5:39 | EnvKey | test.js:6:15:6:20 | EnvKey | provenance | |
| test.js:5:9:5:39 | EnvKey | test.js:7:15:7:20 | EnvKey | provenance | |
| test.js:5:9:5:39 | EnvValue | test.js:6:25:6:32 | EnvValue | provenance | |
| test.js:5:9:5:39 | EnvValue | test.js:7:25:7:32 | EnvValue | provenance | |
| test.js:5:9:5:28 | { EnvValue, EnvKey } | test.js:5:11:5:18 | EnvValue | provenance | |
| test.js:5:9:5:28 | { EnvValue, EnvKey } | test.js:5:21:5:26 | EnvKey | provenance | |
| test.js:5:11:5:18 | EnvValue | test.js:6:25:6:32 | EnvValue | provenance | |
| test.js:5:11:5:18 | EnvValue | test.js:7:25:7:32 | EnvValue | provenance | |
| test.js:5:21:5:26 | EnvKey | test.js:6:15:6:20 | EnvKey | provenance | |
| test.js:5:21:5:26 | EnvKey | test.js:7:15:7:20 | EnvKey | provenance | |
| test.js:5:32:5:39 | req.body | test.js:5:9:5:28 | { EnvValue, EnvKey } | provenance | |
| test.js:13:9:13:28 | { EnvValue, EnvKey } | test.js:13:9:13:39 | EnvKey | provenance | |
| test.js:13:9:13:28 | { EnvValue, EnvKey } | test.js:13:9:13:39 | EnvValue | provenance | |
| test.js:13:9:13:39 | EnvKey | test.js:15:15:15:20 | EnvKey | provenance | |
| test.js:13:9:13:39 | EnvValue | test.js:16:26:16:33 | EnvValue | provenance | |
| test.js:13:9:13:28 | { EnvValue, EnvKey } | test.js:13:11:13:18 | EnvValue | provenance | |
| test.js:13:9:13:28 | { EnvValue, EnvKey } | test.js:13:21:13:26 | EnvKey | provenance | |
| test.js:13:11:13:18 | EnvValue | test.js:16:26:16:33 | EnvValue | provenance | |
| test.js:13:21:13:26 | EnvKey | test.js:15:15:15:20 | EnvKey | provenance | |
| test.js:13:32:13:39 | req.body | test.js:13:9:13:28 | { EnvValue, EnvKey } | provenance | |
nodes
| test.js:5:9:5:28 | { EnvValue, EnvKey } | semmle.label | { EnvValue, EnvKey } |
| test.js:5:9:5:39 | EnvKey | semmle.label | EnvKey |
| test.js:5:9:5:39 | EnvValue | semmle.label | EnvValue |
| test.js:5:11:5:18 | EnvValue | semmle.label | EnvValue |
| test.js:5:21:5:26 | EnvKey | semmle.label | EnvKey |
| test.js:5:32:5:39 | req.body | semmle.label | req.body |
| test.js:6:15:6:20 | EnvKey | semmle.label | EnvKey |
| test.js:6:25:6:32 | EnvValue | semmle.label | EnvValue |
| test.js:7:15:7:20 | EnvKey | semmle.label | EnvKey |
| test.js:7:25:7:32 | EnvValue | semmle.label | EnvValue |
| test.js:13:9:13:28 | { EnvValue, EnvKey } | semmle.label | { EnvValue, EnvKey } |
| test.js:13:9:13:39 | EnvKey | semmle.label | EnvKey |
| test.js:13:9:13:39 | EnvValue | semmle.label | EnvValue |
| test.js:13:11:13:18 | EnvValue | semmle.label | EnvValue |
| test.js:13:21:13:26 | EnvKey | semmle.label | EnvKey |
| test.js:13:32:13:39 | req.body | semmle.label | req.body |
| test.js:15:15:15:20 | EnvKey | semmle.label | EnvKey |
| test.js:16:26:16:33 | EnvValue | semmle.label | EnvValue |

View File

@@ -1,12 +1,12 @@
edges
| test.js:4:9:4:20 | { EnvValue } | test.js:4:9:4:31 | EnvValue | provenance | |
| test.js:4:9:4:31 | EnvValue | test.js:5:35:5:42 | EnvValue | provenance | |
| test.js:4:9:4:31 | EnvValue | test.js:6:23:6:30 | EnvValue | provenance | |
| test.js:4:9:4:31 | EnvValue | test.js:7:22:7:29 | EnvValue | provenance | |
| test.js:4:9:4:20 | { EnvValue } | test.js:4:11:4:18 | EnvValue | provenance | |
| test.js:4:11:4:18 | EnvValue | test.js:5:35:5:42 | EnvValue | provenance | |
| test.js:4:11:4:18 | EnvValue | test.js:6:23:6:30 | EnvValue | provenance | |
| test.js:4:11:4:18 | EnvValue | test.js:7:22:7:29 | EnvValue | provenance | |
| test.js:4:24:4:31 | req.body | test.js:4:9:4:20 | { EnvValue } | provenance | |
nodes
| test.js:4:9:4:20 | { EnvValue } | semmle.label | { EnvValue } |
| test.js:4:9:4:31 | EnvValue | semmle.label | EnvValue |
| test.js:4:11:4:18 | EnvValue | semmle.label | EnvValue |
| test.js:4:24:4:31 | req.body | semmle.label | req.body |
| test.js:5:35:5:42 | EnvValue | semmle.label | EnvValue |
| test.js:6:23:6:30 | EnvValue | semmle.label | EnvValue |

View File

@@ -1,74 +1,74 @@
edges
| JsonWebToken.js:13:11:13:28 | UserToken | JsonWebToken.js:16:28:16:36 | UserToken | provenance | |
| JsonWebToken.js:13:23:13:28 | aJwt() | JsonWebToken.js:13:11:13:28 | UserToken | provenance | |
| JsonWebToken.js:20:11:20:28 | UserToken | JsonWebToken.js:23:28:23:36 | UserToken | provenance | |
| JsonWebToken.js:20:11:20:28 | UserToken | JsonWebToken.js:24:28:24:36 | UserToken | provenance | |
| JsonWebToken.js:20:23:20:28 | aJwt() | JsonWebToken.js:20:11:20:28 | UserToken | provenance | |
| JsonWebToken.js:28:11:28:28 | UserToken | JsonWebToken.js:31:28:31:36 | UserToken | provenance | |
| JsonWebToken.js:28:23:28:28 | aJwt() | JsonWebToken.js:28:11:28:28 | UserToken | provenance | |
| JsonWebToken.js:35:11:35:28 | UserToken | JsonWebToken.js:38:28:38:36 | UserToken | provenance | |
| JsonWebToken.js:35:11:35:28 | UserToken | JsonWebToken.js:39:28:39:36 | UserToken | provenance | |
| JsonWebToken.js:35:23:35:28 | aJwt() | JsonWebToken.js:35:11:35:28 | UserToken | provenance | |
| JsonWebToken.js:43:11:43:28 | UserToken | JsonWebToken.js:46:28:46:36 | UserToken | provenance | |
| JsonWebToken.js:43:11:43:28 | UserToken | JsonWebToken.js:47:28:47:36 | UserToken | provenance | |
| JsonWebToken.js:43:23:43:28 | aJwt() | JsonWebToken.js:43:11:43:28 | UserToken | provenance | |
| jose.js:12:11:12:28 | UserToken | jose.js:15:20:15:28 | UserToken | provenance | |
| jose.js:12:23:12:28 | aJwt() | jose.js:12:11:12:28 | UserToken | provenance | |
| jose.js:19:11:19:28 | UserToken | jose.js:22:20:22:28 | UserToken | provenance | |
| jose.js:19:11:19:28 | UserToken | jose.js:23:26:23:34 | UserToken | provenance | |
| jose.js:19:23:19:28 | aJwt() | jose.js:19:11:19:28 | UserToken | provenance | |
| jose.js:27:11:27:28 | UserToken | jose.js:30:26:30:34 | UserToken | provenance | |
| jose.js:27:23:27:28 | aJwt() | jose.js:27:11:27:28 | UserToken | provenance | |
| jwtDecode.js:13:11:13:28 | UserToken | jwtDecode.js:17:16:17:24 | UserToken | provenance | |
| jwtDecode.js:13:23:13:28 | aJwt() | jwtDecode.js:13:11:13:28 | UserToken | provenance | |
| jwtSimple.js:13:11:13:28 | UserToken | jwtSimple.js:16:23:16:31 | UserToken | provenance | |
| jwtSimple.js:13:23:13:28 | aJwt() | jwtSimple.js:13:11:13:28 | UserToken | provenance | |
| jwtSimple.js:20:11:20:28 | UserToken | jwtSimple.js:23:23:23:31 | UserToken | provenance | |
| jwtSimple.js:20:11:20:28 | UserToken | jwtSimple.js:24:23:24:31 | UserToken | provenance | |
| jwtSimple.js:20:23:20:28 | aJwt() | jwtSimple.js:20:11:20:28 | UserToken | provenance | |
| jwtSimple.js:28:11:28:28 | UserToken | jwtSimple.js:31:23:31:31 | UserToken | provenance | |
| jwtSimple.js:28:11:28:28 | UserToken | jwtSimple.js:32:23:32:31 | UserToken | provenance | |
| jwtSimple.js:28:23:28:28 | aJwt() | jwtSimple.js:28:11:28:28 | UserToken | provenance | |
| JsonWebToken.js:13:11:13:19 | UserToken | JsonWebToken.js:16:28:16:36 | UserToken | provenance | |
| JsonWebToken.js:13:23:13:28 | aJwt() | JsonWebToken.js:13:11:13:19 | UserToken | provenance | |
| JsonWebToken.js:20:11:20:19 | UserToken | JsonWebToken.js:23:28:23:36 | UserToken | provenance | |
| JsonWebToken.js:20:11:20:19 | UserToken | JsonWebToken.js:24:28:24:36 | UserToken | provenance | |
| JsonWebToken.js:20:23:20:28 | aJwt() | JsonWebToken.js:20:11:20:19 | UserToken | provenance | |
| JsonWebToken.js:28:11:28:19 | UserToken | JsonWebToken.js:31:28:31:36 | UserToken | provenance | |
| JsonWebToken.js:28:23:28:28 | aJwt() | JsonWebToken.js:28:11:28:19 | UserToken | provenance | |
| JsonWebToken.js:35:11:35:19 | UserToken | JsonWebToken.js:38:28:38:36 | UserToken | provenance | |
| JsonWebToken.js:35:11:35:19 | UserToken | JsonWebToken.js:39:28:39:36 | UserToken | provenance | |
| JsonWebToken.js:35:23:35:28 | aJwt() | JsonWebToken.js:35:11:35:19 | UserToken | provenance | |
| JsonWebToken.js:43:11:43:19 | UserToken | JsonWebToken.js:46:28:46:36 | UserToken | provenance | |
| JsonWebToken.js:43:11:43:19 | UserToken | JsonWebToken.js:47:28:47:36 | UserToken | provenance | |
| JsonWebToken.js:43:23:43:28 | aJwt() | JsonWebToken.js:43:11:43:19 | UserToken | provenance | |
| jose.js:12:11:12:19 | UserToken | jose.js:15:20:15:28 | UserToken | provenance | |
| jose.js:12:23:12:28 | aJwt() | jose.js:12:11:12:19 | UserToken | provenance | |
| jose.js:19:11:19:19 | UserToken | jose.js:22:20:22:28 | UserToken | provenance | |
| jose.js:19:11:19:19 | UserToken | jose.js:23:26:23:34 | UserToken | provenance | |
| jose.js:19:23:19:28 | aJwt() | jose.js:19:11:19:19 | UserToken | provenance | |
| jose.js:27:11:27:19 | UserToken | jose.js:30:26:30:34 | UserToken | provenance | |
| jose.js:27:23:27:28 | aJwt() | jose.js:27:11:27:19 | UserToken | provenance | |
| jwtDecode.js:13:11:13:19 | UserToken | jwtDecode.js:17:16:17:24 | UserToken | provenance | |
| jwtDecode.js:13:23:13:28 | aJwt() | jwtDecode.js:13:11:13:19 | UserToken | provenance | |
| jwtSimple.js:13:11:13:19 | UserToken | jwtSimple.js:16:23:16:31 | UserToken | provenance | |
| jwtSimple.js:13:23:13:28 | aJwt() | jwtSimple.js:13:11:13:19 | UserToken | provenance | |
| jwtSimple.js:20:11:20:19 | UserToken | jwtSimple.js:23:23:23:31 | UserToken | provenance | |
| jwtSimple.js:20:11:20:19 | UserToken | jwtSimple.js:24:23:24:31 | UserToken | provenance | |
| jwtSimple.js:20:23:20:28 | aJwt() | jwtSimple.js:20:11:20:19 | UserToken | provenance | |
| jwtSimple.js:28:11:28:19 | UserToken | jwtSimple.js:31:23:31:31 | UserToken | provenance | |
| jwtSimple.js:28:11:28:19 | UserToken | jwtSimple.js:32:23:32:31 | UserToken | provenance | |
| jwtSimple.js:28:23:28:28 | aJwt() | jwtSimple.js:28:11:28:19 | UserToken | provenance | |
nodes
| JsonWebToken.js:13:11:13:28 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:13:11:13:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:13:23:13:28 | aJwt() | semmle.label | aJwt() |
| JsonWebToken.js:16:28:16:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:20:11:20:28 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:20:11:20:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:20:23:20:28 | aJwt() | semmle.label | aJwt() |
| JsonWebToken.js:23:28:23:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:24:28:24:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:28:11:28:28 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:28:11:28:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:28:23:28:28 | aJwt() | semmle.label | aJwt() |
| JsonWebToken.js:31:28:31:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:35:11:35:28 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:35:11:35:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:35:23:35:28 | aJwt() | semmle.label | aJwt() |
| JsonWebToken.js:38:28:38:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:39:28:39:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:43:11:43:28 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:43:11:43:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:43:23:43:28 | aJwt() | semmle.label | aJwt() |
| JsonWebToken.js:46:28:46:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:47:28:47:36 | UserToken | semmle.label | UserToken |
| jose.js:12:11:12:28 | UserToken | semmle.label | UserToken |
| jose.js:12:11:12:19 | UserToken | semmle.label | UserToken |
| jose.js:12:23:12:28 | aJwt() | semmle.label | aJwt() |
| jose.js:15:20:15:28 | UserToken | semmle.label | UserToken |
| jose.js:19:11:19:28 | UserToken | semmle.label | UserToken |
| jose.js:19:11:19:19 | UserToken | semmle.label | UserToken |
| jose.js:19:23:19:28 | aJwt() | semmle.label | aJwt() |
| jose.js:22:20:22:28 | UserToken | semmle.label | UserToken |
| jose.js:23:26:23:34 | UserToken | semmle.label | UserToken |
| jose.js:27:11:27:28 | UserToken | semmle.label | UserToken |
| jose.js:27:11:27:19 | UserToken | semmle.label | UserToken |
| jose.js:27:23:27:28 | aJwt() | semmle.label | aJwt() |
| jose.js:30:26:30:34 | UserToken | semmle.label | UserToken |
| jwtDecode.js:13:11:13:28 | UserToken | semmle.label | UserToken |
| jwtDecode.js:13:11:13:19 | UserToken | semmle.label | UserToken |
| jwtDecode.js:13:23:13:28 | aJwt() | semmle.label | aJwt() |
| jwtDecode.js:17:16:17:24 | UserToken | semmle.label | UserToken |
| jwtSimple.js:13:11:13:28 | UserToken | semmle.label | UserToken |
| jwtSimple.js:13:11:13:19 | UserToken | semmle.label | UserToken |
| jwtSimple.js:13:23:13:28 | aJwt() | semmle.label | aJwt() |
| jwtSimple.js:16:23:16:31 | UserToken | semmle.label | UserToken |
| jwtSimple.js:20:11:20:28 | UserToken | semmle.label | UserToken |
| jwtSimple.js:20:11:20:19 | UserToken | semmle.label | UserToken |
| jwtSimple.js:20:23:20:28 | aJwt() | semmle.label | aJwt() |
| jwtSimple.js:23:23:23:31 | UserToken | semmle.label | UserToken |
| jwtSimple.js:24:23:24:31 | UserToken | semmle.label | UserToken |
| jwtSimple.js:28:11:28:28 | UserToken | semmle.label | UserToken |
| jwtSimple.js:28:11:28:19 | UserToken | semmle.label | UserToken |
| jwtSimple.js:28:23:28:28 | aJwt() | semmle.label | aJwt() |
| jwtSimple.js:31:23:31:31 | UserToken | semmle.label | UserToken |
| jwtSimple.js:32:23:32:31 | UserToken | semmle.label | UserToken |

View File

@@ -1,50 +1,50 @@
edges
| JsonWebToken.js:10:11:10:47 | UserToken | JsonWebToken.js:13:28:13:36 | UserToken | provenance | |
| JsonWebToken.js:10:23:10:47 | req.hea ... ization | JsonWebToken.js:10:11:10:47 | UserToken | provenance | |
| JsonWebToken.js:17:11:17:47 | UserToken | JsonWebToken.js:20:28:20:36 | UserToken | provenance | |
| JsonWebToken.js:17:11:17:47 | UserToken | JsonWebToken.js:21:28:21:36 | UserToken | provenance | |
| JsonWebToken.js:17:23:17:47 | req.hea ... ization | JsonWebToken.js:17:11:17:47 | UserToken | provenance | |
| JsonWebToken.js:32:11:32:47 | UserToken | JsonWebToken.js:35:28:35:36 | UserToken | provenance | |
| JsonWebToken.js:32:23:32:47 | req.hea ... ization | JsonWebToken.js:32:11:32:47 | UserToken | provenance | |
| JsonWebToken.js:40:11:40:47 | UserToken | JsonWebToken.js:43:28:43:36 | UserToken | provenance | |
| JsonWebToken.js:40:23:40:47 | req.hea ... ization | JsonWebToken.js:40:11:40:47 | UserToken | provenance | |
| jose.js:11:11:11:47 | UserToken | jose.js:13:20:13:28 | UserToken | provenance | |
| jose.js:11:23:11:47 | req.hea ... ization | jose.js:11:11:11:47 | UserToken | provenance | |
| jose.js:24:11:24:47 | UserToken | jose.js:26:20:26:28 | UserToken | provenance | |
| jose.js:24:23:24:47 | req.hea ... ization | jose.js:24:11:24:47 | UserToken | provenance | |
| jwtDecode.js:11:11:11:47 | UserToken | jwtDecode.js:15:16:15:24 | UserToken | provenance | |
| jwtDecode.js:11:23:11:47 | req.hea ... ization | jwtDecode.js:11:11:11:47 | UserToken | provenance | |
| jwtSimple.js:10:11:10:47 | UserToken | jwtSimple.js:13:23:13:31 | UserToken | provenance | |
| jwtSimple.js:10:23:10:47 | req.hea ... ization | jwtSimple.js:10:11:10:47 | UserToken | provenance | |
| jwtSimple.js:25:11:25:47 | UserToken | jwtSimple.js:28:23:28:31 | UserToken | provenance | |
| jwtSimple.js:25:23:25:47 | req.hea ... ization | jwtSimple.js:25:11:25:47 | UserToken | provenance | |
| JsonWebToken.js:10:11:10:19 | UserToken | JsonWebToken.js:13:28:13:36 | UserToken | provenance | |
| JsonWebToken.js:10:23:10:47 | req.hea ... ization | JsonWebToken.js:10:11:10:19 | UserToken | provenance | |
| JsonWebToken.js:17:11:17:19 | UserToken | JsonWebToken.js:20:28:20:36 | UserToken | provenance | |
| JsonWebToken.js:17:11:17:19 | UserToken | JsonWebToken.js:21:28:21:36 | UserToken | provenance | |
| JsonWebToken.js:17:23:17:47 | req.hea ... ization | JsonWebToken.js:17:11:17:19 | UserToken | provenance | |
| JsonWebToken.js:32:11:32:19 | UserToken | JsonWebToken.js:35:28:35:36 | UserToken | provenance | |
| JsonWebToken.js:32:23:32:47 | req.hea ... ization | JsonWebToken.js:32:11:32:19 | UserToken | provenance | |
| JsonWebToken.js:40:11:40:19 | UserToken | JsonWebToken.js:43:28:43:36 | UserToken | provenance | |
| JsonWebToken.js:40:23:40:47 | req.hea ... ization | JsonWebToken.js:40:11:40:19 | UserToken | provenance | |
| jose.js:11:11:11:19 | UserToken | jose.js:13:20:13:28 | UserToken | provenance | |
| jose.js:11:23:11:47 | req.hea ... ization | jose.js:11:11:11:19 | UserToken | provenance | |
| jose.js:24:11:24:19 | UserToken | jose.js:26:20:26:28 | UserToken | provenance | |
| jose.js:24:23:24:47 | req.hea ... ization | jose.js:24:11:24:19 | UserToken | provenance | |
| jwtDecode.js:11:11:11:19 | UserToken | jwtDecode.js:15:16:15:24 | UserToken | provenance | |
| jwtDecode.js:11:23:11:47 | req.hea ... ization | jwtDecode.js:11:11:11:19 | UserToken | provenance | |
| jwtSimple.js:10:11:10:19 | UserToken | jwtSimple.js:13:23:13:31 | UserToken | provenance | |
| jwtSimple.js:10:23:10:47 | req.hea ... ization | jwtSimple.js:10:11:10:19 | UserToken | provenance | |
| jwtSimple.js:25:11:25:19 | UserToken | jwtSimple.js:28:23:28:31 | UserToken | provenance | |
| jwtSimple.js:25:23:25:47 | req.hea ... ization | jwtSimple.js:25:11:25:19 | UserToken | provenance | |
nodes
| JsonWebToken.js:10:11:10:47 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:10:11:10:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:10:23:10:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| JsonWebToken.js:13:28:13:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:17:11:17:47 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:17:11:17:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:17:23:17:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| JsonWebToken.js:20:28:20:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:21:28:21:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:32:11:32:47 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:32:11:32:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:32:23:32:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| JsonWebToken.js:35:28:35:36 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:40:11:40:47 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:40:11:40:19 | UserToken | semmle.label | UserToken |
| JsonWebToken.js:40:23:40:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| JsonWebToken.js:43:28:43:36 | UserToken | semmle.label | UserToken |
| jose.js:11:11:11:47 | UserToken | semmle.label | UserToken |
| jose.js:11:11:11:19 | UserToken | semmle.label | UserToken |
| jose.js:11:23:11:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| jose.js:13:20:13:28 | UserToken | semmle.label | UserToken |
| jose.js:24:11:24:47 | UserToken | semmle.label | UserToken |
| jose.js:24:11:24:19 | UserToken | semmle.label | UserToken |
| jose.js:24:23:24:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| jose.js:26:20:26:28 | UserToken | semmle.label | UserToken |
| jwtDecode.js:11:11:11:47 | UserToken | semmle.label | UserToken |
| jwtDecode.js:11:11:11:19 | UserToken | semmle.label | UserToken |
| jwtDecode.js:11:23:11:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| jwtDecode.js:15:16:15:24 | UserToken | semmle.label | UserToken |
| jwtSimple.js:10:11:10:47 | UserToken | semmle.label | UserToken |
| jwtSimple.js:10:11:10:19 | UserToken | semmle.label | UserToken |
| jwtSimple.js:10:23:10:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| jwtSimple.js:13:23:13:31 | UserToken | semmle.label | UserToken |
| jwtSimple.js:25:11:25:47 | UserToken | semmle.label | UserToken |
| jwtSimple.js:25:11:25:19 | UserToken | semmle.label | UserToken |
| jwtSimple.js:25:23:25:47 | req.hea ... ization | semmle.label | req.hea ... ization |
| jwtSimple.js:28:23:28:31 | UserToken | semmle.label | UserToken |
subpaths

View File

@@ -1,6 +1,6 @@
edges
| check-domain.js:16:9:16:27 | url | check-domain.js:17:13:17:15 | url | provenance | |
| check-domain.js:16:15:16:27 | req.query.url | check-domain.js:16:9:16:27 | url | provenance | |
| check-domain.js:16:9:16:11 | url | check-domain.js:17:13:17:15 | url | provenance | |
| check-domain.js:16:15:16:27 | req.query.url | check-domain.js:16:9:16:11 | url | provenance | |
| check-middleware.js:9:27:9:43 | req.query.tainted | check-middleware.js:9:13:9:43 | "test.c ... tainted | provenance | |
| check-path.js:19:27:19:43 | req.query.tainted | check-path.js:19:13:19:43 | 'test.c ... tainted | provenance | |
| check-path.js:23:27:23:43 | req.query.tainted | check-path.js:23:13:23:45 | `/addre ... inted}` | provenance | |
@@ -16,13 +16,13 @@ edges
| check-validator.js:15:29:15:45 | req.query.tainted | check-validator.js:15:15:15:45 | "test.c ... tainted | provenance | |
| check-validator.js:27:29:27:45 | req.query.tainted | check-validator.js:27:15:27:45 | "test.c ... tainted | provenance | |
| check-validator.js:50:29:50:45 | req.query.tainted | check-validator.js:50:15:50:45 | "test.c ... tainted | provenance | |
| check-validator.js:54:9:54:37 | numberURL | check-validator.js:62:29:62:37 | numberURL | provenance | |
| check-validator.js:54:21:54:37 | req.query.tainted | check-validator.js:54:9:54:37 | numberURL | provenance | |
| check-validator.js:54:9:54:17 | numberURL | check-validator.js:62:29:62:37 | numberURL | provenance | |
| check-validator.js:54:21:54:37 | req.query.tainted | check-validator.js:54:9:54:17 | numberURL | provenance | |
| check-validator.js:59:29:59:45 | req.query.tainted | check-validator.js:59:15:59:45 | "test.c ... tainted | provenance | |
| check-validator.js:62:29:62:37 | numberURL | check-validator.js:62:15:62:37 | "test.c ... mberURL | provenance | |
| check-validator.js:68:29:68:45 | req.query.tainted | check-validator.js:68:15:68:45 | "test.c ... tainted | provenance | |
nodes
| check-domain.js:16:9:16:27 | url | semmle.label | url |
| check-domain.js:16:9:16:11 | url | semmle.label | url |
| check-domain.js:16:15:16:27 | req.query.url | semmle.label | req.query.url |
| check-domain.js:17:13:17:15 | url | semmle.label | url |
| check-domain.js:26:15:26:27 | req.query.url | semmle.label | req.query.url |
@@ -56,7 +56,7 @@ nodes
| check-validator.js:27:29:27:45 | req.query.tainted | semmle.label | req.query.tainted |
| check-validator.js:50:15:50:45 | "test.c ... tainted | semmle.label | "test.c ... tainted |
| check-validator.js:50:29:50:45 | req.query.tainted | semmle.label | req.query.tainted |
| check-validator.js:54:9:54:37 | numberURL | semmle.label | numberURL |
| check-validator.js:54:9:54:17 | numberURL | semmle.label | numberURL |
| check-validator.js:54:21:54:37 | req.query.tainted | semmle.label | req.query.tainted |
| check-validator.js:59:15:59:45 | "test.c ... tainted | semmle.label | "test.c ... tainted |
| check-validator.js:59:29:59:45 | req.query.tainted | semmle.label | req.query.tainted |

View File

@@ -1,16 +1,16 @@
edges
| apollo-test.js:8:9:8:59 | user_origin | apollo-test.js:26:25:26:35 | user_origin | provenance | |
| apollo-test.js:8:9:8:59 | user_origin | apollo-test.js:26:25:26:35 | user_origin | provenance | |
| apollo-test.js:8:23:8:46 | url.par ... , true) | apollo-test.js:8:9:8:59 | user_origin | provenance | |
| apollo-test.js:8:23:8:46 | url.par ... , true) | apollo-test.js:8:9:8:59 | user_origin | provenance | |
| apollo-test.js:8:9:8:19 | user_origin | apollo-test.js:26:25:26:35 | user_origin | provenance | |
| apollo-test.js:8:9:8:19 | user_origin | apollo-test.js:26:25:26:35 | user_origin | provenance | |
| apollo-test.js:8:23:8:46 | url.par ... , true) | apollo-test.js:8:9:8:19 | user_origin | provenance | |
| apollo-test.js:8:23:8:46 | url.par ... , true) | apollo-test.js:8:9:8:19 | user_origin | provenance | |
| apollo-test.js:8:33:8:39 | req.url | apollo-test.js:8:23:8:46 | url.par ... , true) | provenance | |
| apollo-test.js:8:42:8:45 | true | apollo-test.js:8:23:8:46 | url.par ... , true) | provenance | |
| express-test.js:10:9:10:59 | user_origin | express-test.js:33:17:33:27 | user_origin | provenance | |
| express-test.js:10:23:10:46 | url.par ... , true) | express-test.js:10:9:10:59 | user_origin | provenance | |
| express-test.js:10:9:10:19 | user_origin | express-test.js:33:17:33:27 | user_origin | provenance | |
| express-test.js:10:23:10:46 | url.par ... , true) | express-test.js:10:9:10:19 | user_origin | provenance | |
| express-test.js:10:33:10:39 | req.url | express-test.js:10:23:10:46 | url.par ... , true) | provenance | |
nodes
| apollo-test.js:8:9:8:59 | user_origin | semmle.label | user_origin |
| apollo-test.js:8:9:8:59 | user_origin | semmle.label | user_origin |
| apollo-test.js:8:9:8:19 | user_origin | semmle.label | user_origin |
| apollo-test.js:8:9:8:19 | user_origin | semmle.label | user_origin |
| apollo-test.js:8:23:8:46 | url.par ... , true) | semmle.label | url.par ... , true) |
| apollo-test.js:8:23:8:46 | url.par ... , true) | semmle.label | url.par ... , true) |
| apollo-test.js:8:33:8:39 | req.url | semmle.label | req.url |
@@ -19,7 +19,7 @@ nodes
| apollo-test.js:21:25:21:28 | null | semmle.label | null |
| apollo-test.js:26:25:26:35 | user_origin | semmle.label | user_origin |
| apollo-test.js:26:25:26:35 | user_origin | semmle.label | user_origin |
| express-test.js:10:9:10:59 | user_origin | semmle.label | user_origin |
| express-test.js:10:9:10:19 | user_origin | semmle.label | user_origin |
| express-test.js:10:23:10:46 | url.par ... , true) | semmle.label | url.par ... , true) |
| express-test.js:10:33:10:39 | req.url | semmle.label | req.url |
| express-test.js:26:17:26:19 | '*' | semmle.label | '*' |

View File

@@ -50,15 +50,15 @@ test_getAFunctionValue
| c.js:2:8:2:24 | function bar() {} | c.js:2:8:2:24 | function bar() {} |
| classes.js:1:1:19:2 | (functi ... o();\\n}) | classes.js:1:2:19:1 | functio ... lo();\\n} |
| classes.js:1:2:19:1 | functio ... lo();\\n} | classes.js:1:2:19:1 | functio ... lo();\\n} |
| classes.js:2:3:10:3 | A | classes.js:2:11:2:10 | () {} |
| classes.js:2:3:10:3 | class A ... }\\n } | classes.js:2:11:2:10 | () {} |
| classes.js:2:9:2:9 | A | classes.js:2:11:2:10 | () {} |
| classes.js:2:11:2:10 | () {} | classes.js:2:11:2:10 | () {} |
| classes.js:3:10:5:5 | () {\\n ... ;\\n } | classes.js:3:10:5:5 | () {\\n ... ;\\n } |
| classes.js:7:6:9:5 | () {\\n ... ;\\n } | classes.js:7:6:9:5 | () {\\n ... ;\\n } |
| classes.js:8:7:8:16 | this.hello | classes.js:3:10:5:5 | () {\\n ... ;\\n } |
| classes.js:8:7:8:16 | this.hello | classes.js:13:10:15:5 | () {\\n ... ;\\n } |
| classes.js:12:3:16:3 | B | classes.js:12:21:12:20 | (...arg ... rgs); } |
| classes.js:12:3:16:3 | class B ... }\\n } | classes.js:12:21:12:20 | (...arg ... rgs); } |
| classes.js:12:9:12:9 | B | classes.js:12:21:12:20 | (...arg ... rgs); } |
| classes.js:12:19:12:19 | A | classes.js:2:11:2:10 | () {} |
| classes.js:12:21:12:20 | (...arg ... rgs); } | classes.js:12:21:12:20 | (...arg ... rgs); } |
| classes.js:13:10:15:5 | () {\\n ... ;\\n } | classes.js:13:10:15:5 | () {\\n ... ;\\n } |
@@ -146,9 +146,9 @@ test_getAFunctionValue
| tst.js:11:1:20:1 | functio ... \\tf();\\n} | tst.js:11:1:20:1 | functio ... \\tf();\\n} |
| tst.js:11:12:11:12 | m | tst.js:2:9:2:21 | function() {} |
| tst.js:11:12:11:12 | m | tst.js:2:9:2:21 | function() {} |
| tst.js:12:6:12:6 | m | tst.js:2:9:2:21 | function() {} |
| tst.js:12:6:12:27 | n | tst.js:2:9:2:21 | function() {} |
| tst.js:12:6:12:27 | n | tst.js:12:15:12:27 | function() {} |
| tst.js:12:6:12:6 | n | tst.js:2:9:2:21 | function() {} |
| tst.js:12:6:12:6 | n | tst.js:12:15:12:27 | function() {} |
| tst.js:12:6:12:27 | m | tst.js:2:9:2:21 | function() {} |
| tst.js:12:10:12:10 | m | tst.js:2:9:2:21 | function() {} |
| tst.js:12:10:12:10 | m | tst.js:2:9:2:21 | function() {} |
| tst.js:12:10:12:10 | m | tst.js:2:9:2:21 | function() {} |

View File

@@ -19,8 +19,8 @@ basicBlock
| arguments.js:1:2:12:1 | exceptional return of anonymous function | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:1:1:0 | entry node of <toplevel> |
| arguments.js:1:2:12:1 | return of anonymous function | arguments.js:1:2:1:1 | entry node of functio ... , 3);\\n} |
| arguments.js:2:5:2:4 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:2:4 | this | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:2:5 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:10:5 | 'arguments' object of function f | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:10:5 | [function self-reference] functio ... ;\\n } | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:2:5:10:5 | exceptional return of function f | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
@@ -44,7 +44,7 @@ basicBlock
| arguments.js:5:25:5:36 | arguments[1] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:5:35:5:35 | 1 | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:13:6:16 | args | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:13:6:28 | args | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:13:6:16 | args | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:13:6:28 | args = arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:6:20:6:28 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:7:13:7:20 | thirdArg | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
@@ -53,7 +53,7 @@ basicBlock
| arguments.js:7:24:7:30 | args[2] | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:7:29:7:29 | 2 | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:9:8:17 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:9:8:22 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:9:8:17 | arguments | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:9:8:22 | arguments = {} | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:8:21:8:22 | {} | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
| arguments.js:9:13:9:23 | notFirstArg | arguments.js:2:5:2:4 | entry node of functio ... ;\\n } |
@@ -75,7 +75,7 @@ basicBlock
| eval.js:1:1:5:1 | return of function k | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:1:10:1:10 | k | eval.js:1:1:1:0 | entry node of <toplevel> |
| eval.js:2:7:2:7 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:2:7:2:12 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:2:7:2:7 | x | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:2:7:2:12 | x = 42 | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:2:11:2:12 | 42 | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
| eval.js:3:3:3:6 | eval | eval.js:1:1:1:0 | entry node of functio ... eval`\\n} |
@@ -122,23 +122,23 @@ basicBlock
| sources.js:10:12:10:14 | key | sources.js:10:8:10:14 | let key |
| sources.js:10:19:10:23 | array | sources.js:9:1:9:0 | entry node of functio ... ey; }\\n} |
| sources.js:10:28:10:30 | key | sources.js:10:8:10:14 | let key |
| sources.js:11:12:11:18 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:12:11:18 | { key } | sources.js:11:8:11:18 | let { key } |
| sources.js:11:12:11:18 | { key } | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:14:11:16 | key | sources.js:11:8:11:18 | let { key } |
| sources.js:11:23:11:27 | array | sources.js:11:23:11:27 | array |
| sources.js:11:32:11:34 | key | sources.js:11:8:11:18 | let { key } |
| tst2.ts:1:1:1:0 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:1:1:0 | this | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:8:5:1 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:18:1:18 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:18:1:18 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:1:18:1:18 | A | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:14:2:14 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:14:2:14 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:14:2:19 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:14:2:19 | x = 42 | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:3:3:3:6 | setX | tst2.ts:1:1:1:0 | entry node of <toplevel> |
@@ -190,17 +190,17 @@ basicBlock
| tst2.ts:15:11:15:30 | A.x satisfies number | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst2.ts:15:13:15:13 | x | tst2.ts:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:1:1:0 | this | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:1:1:1 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:1:1:0 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:1:1:24 | import ... m 'fs'; | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:10:1:11 | fs | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:1:10:1:11 | fs | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:5 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:5 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:10 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:5 | x | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:5:3:10 | x = 42 | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:3:9:3:10 | 42 | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:5:4:5 | y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:5:4:12 | y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:5:4:5 | y | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:5:4:12 | y = "hi" | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:4:9:4:12 | "hi" | tst.js:1:1:1:0 | entry node of <toplevel> |
| tst.js:5:5:5:5 | z | tst.js:1:1:1:0 | entry node of <toplevel> |
@@ -220,13 +220,13 @@ basicBlock
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | guard: x is false |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | guard: x is true |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:7 | x \|\| y; |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:7 | x \|\| y; |
| tst.js:12:1:12:6 | x \|\| y | tst.js:12:1:12:7 | x \|\| y; |
| tst.js:12:1:12:7 | x | tst.js:12:1:12:7 | x \|\| y; |
| tst.js:12:6:12:6 | y | tst.js:12:1:12:1 | guard: x is false |
| tst.js:13:1:13:1 | x | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:1 | z | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:5 | z | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:1 | z | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:5 | z = y | tst.js:13:1:13:6 | z = y; |
| tst.js:13:1:13:6 | x | tst.js:13:1:13:6 | z = y; |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:6 | z = y; |
| tst.js:14:1:14:1 | z | tst.js:13:1:13:6 | z = y; |
| tst.js:14:1:14:9 | z ? x : y | tst.js:13:1:13:6 | z = y; |
@@ -254,16 +254,16 @@ basicBlock
| tst.js:19:10:19:11 | "" | tst.js:17:7:17:25 | guard: Math.random() > 0.5 is false |
| tst.js:20:4:20:8 | "arg" | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:5:22:20 | { readFileSync } | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:5:22:25 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:5:22:25 | { readF ... } = fs | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:7:22:18 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:22:24:22:25 | fs | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:23:1:23:12 | readFileSync | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:25:1:25:3 | ++x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:25:1:25:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:25:3:25:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:25:3:25:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:26:1:26:1 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:28:1:30:1 | (() =>\\n ... ables\\n) | tst.js:16:1:20:10 | (functi ... "arg"); |
@@ -290,7 +290,7 @@ basicBlock
| tst.js:35:1:35:7 | g(true) | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:35:3:35:6 | true | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:5:37:5 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:5:42:1 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:5:37:5 | o | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:5:42:1 | o = {\\n ... ;\\n }\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:38:3:38:3 | x | tst.js:16:1:20:10 | (functi ... "arg"); |
@@ -318,9 +318,9 @@ basicBlock
| tst.js:46:1:46:11 | global = "" | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:46:10:46:11 | "" | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:47:1:47:6 | global | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:1:54:1 | A | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:7:49:7 | A | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:7:49:7 | A | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:49:17:49:17 | B | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:50:3:50:13 | constructor | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:50:3:53:3 | constru ... et`\\n } | tst.js:16:1:20:10 | (functi ... "arg"); |
@@ -365,7 +365,7 @@ basicBlock
| tst.js:66:7:66:25 | tmp = function.sent | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:66:13:66:25 | function.sent | tst.js:64:1:64:0 | entry node of functio ... lysed\\n} |
| tst.js:68:5:68:8 | iter | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:5:68:14 | iter | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:5:68:8 | iter | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:5:68:14 | iter = h() | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:12:68:12 | h | tst.js:16:1:20:10 | (functi ... "arg"); |
| tst.js:68:12:68:14 | exceptional return of h() | tst.js:16:1:20:10 | (functi ... "arg"); |
@@ -424,33 +424,33 @@ basicBlock
| tst.js:87:2:92:1 | exceptional return of anonymous function | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:87:2:92:1 | return of anonymous function | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:11:87:24 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:11:87:24 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:11:87:24 | { p: x, ...o } | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:13:87:13 | p | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:13:87:16 | p: x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:13:87:16 | p: x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:16:87:16 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:16:87:16 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:22:87:22 | ...o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:22:87:22 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:87:22:87:22 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:7:88:14 | { q: y } | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:7:88:18 | y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:7:88:18 | { q: y } = o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:9:88:9 | q | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:9:88:12 | q: y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:9:88:12 | q: y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:12:88:12 | y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:12:88:12 | y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:88:18:88:18 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:89:7:89:7 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:89:7:89:7 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:3:90:16 | ({ r: z } = o) | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:4:90:11 | { r: z } | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:4:90:15 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:4:90:15 | { r: z } = o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:6:90:6 | r | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:6:90:9 | r: z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:6:90:9 | r: z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:9:90:9 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:9:90:9 | z | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:90:15:90:15 | o | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:91:10:91:10 | x | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
| tst.js:91:10:91:14 | x + y | tst.js:87:2:87:1 | entry node of functio ... + z;\\n} |
@@ -479,15 +479,15 @@ basicBlock
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:85:5:85:28 | vs2 = ( ... o) v ) |
| tst.js:98:2:103:1 | return of anonymous function | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:11:98:24 | [ x, ...rest ] | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:11:98:24 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:11:98:24 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:13:98:13 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:13:98:13 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:13:98:13 | x | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:19:98:22 | ...rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:19:98:22 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:98:19:98:22 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:7:99:11 | [ y ] | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:7:99:18 | [ y ] = rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:7:99:18 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:9:99:9 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:9:99:9 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:9:99:9 | y | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:99:15:99:18 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
@@ -495,7 +495,7 @@ basicBlock
| tst.js:100:7:100:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:3:101:9 | [ , z ] | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:3:101:16 | [ , z ] = rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:3:101:16 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:7:101:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:7:101:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:7:101:7 | z | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
| tst.js:101:13:101:16 | rest | tst.js:98:2:98:1 | entry node of functio ... + z;\\n} |
@@ -521,14 +521,13 @@ basicBlock
| tst.js:107:2:113:1 | functio ... v2c;\\n} | tst.js:107:1:113:3 | (functi ... 2c;\\n}); |
| tst.js:107:2:113:1 | return of anonymous function | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:32 | {v1a, v ... = o1c} | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:6:108:38 | {v1a, v ... } = o1d | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:7:108:9 | v1a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:14 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:14 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:14 | v1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:12:108:20 | v1b = o1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
@@ -536,6 +535,7 @@ basicBlock
| tst.js:108:18:108:20 | o1b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:25 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:25 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:25 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:31 | v1c = o1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:23:108:31 | v1c = o1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:108:29:108:31 | o1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
@@ -547,16 +547,16 @@ basicBlock
| tst.js:109:14:109:16 | v1c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:32 | [v2a, v ... = o2c] | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | [v2a, v ... ] = o2d | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:6:111:38 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:7:111:9 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:7:111:9 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:7:111:9 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:12:111:14 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:12:111:14 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:12:111:14 | v2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:18:111:20 | o2b | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:23:111:25 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:23:111:25 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:23:111:25 | v2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:29:111:31 | o2c | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:111:36:111:38 | o2d | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
| tst.js:112:2:112:4 | v2a | tst.js:107:2:107:1 | entry node of functio ... v2c;\\n} |
@@ -946,9 +946,9 @@ enclosingExpr
| tst.js:117:22:117:23 | x1 | tst.js:117:22:117:23 | x1 |
flowStep
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:1:12:2 | (functi ... 3);\\n}) |
| arguments.js:2:5:2:5 | arguments | arguments.js:4:28:4:36 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:5:25:5:33 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:6:20:6:28 | arguments |
| arguments.js:2:5:2:4 | arguments | arguments.js:4:28:4:36 | arguments |
| arguments.js:2:5:2:4 | arguments | arguments.js:5:25:5:33 | arguments |
| arguments.js:2:5:2:4 | arguments | arguments.js:6:20:6:28 | arguments |
| arguments.js:2:5:10:5 | 'arguments' object of function f | arguments.js:4:28:4:36 | arguments |
| arguments.js:2:5:10:5 | 'arguments' object of function f | arguments.js:5:25:5:33 | arguments |
| arguments.js:2:5:10:5 | 'arguments' object of function f | arguments.js:6:20:6:28 | arguments |
@@ -958,13 +958,13 @@ flowStep
| arguments.js:2:14:2:14 | f | arguments.js:11:5:11:5 | f |
| arguments.js:2:16:2:16 | x | arguments.js:2:16:2:16 | x |
| arguments.js:2:16:2:16 | x | arguments.js:3:24:3:24 | x |
| arguments.js:6:13:6:28 | args | arguments.js:7:24:7:27 | args |
| arguments.js:6:20:6:28 | arguments | arguments.js:6:13:6:28 | args |
| arguments.js:8:9:8:22 | arguments | arguments.js:9:27:9:35 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments |
| arguments.js:6:13:6:16 | args | arguments.js:7:24:7:27 | args |
| arguments.js:6:20:6:28 | arguments | arguments.js:6:13:6:16 | args |
| arguments.js:8:9:8:17 | arguments | arguments.js:9:27:9:35 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:17 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments = {} |
| eval.js:2:7:2:12 | x | eval.js:4:3:4:3 | x |
| eval.js:2:11:2:12 | 42 | eval.js:2:7:2:12 | x |
| eval.js:2:7:2:7 | x | eval.js:4:3:4:3 | x |
| eval.js:2:11:2:12 | 42 | eval.js:2:7:2:7 | x |
| sources.js:1:6:1:6 | x | sources.js:1:6:1:6 | x |
| sources.js:1:6:1:6 | x | sources.js:1:11:1:11 | x |
| sources.js:1:6:1:11 | x => x | sources.js:1:5:1:12 | (x => x) |
@@ -980,17 +980,17 @@ flowStep
| sources.js:9:14:9:18 | array | sources.js:10:19:10:23 | array |
| sources.js:9:14:9:18 | array | sources.js:11:23:11:27 | array |
| sources.js:10:12:10:14 | key | sources.js:10:28:10:30 | key |
| sources.js:11:12:11:18 | key | sources.js:11:32:11:34 | key |
| sources.js:11:14:11:16 | key | sources.js:11:12:11:18 | key |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:11:11:11:11 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:15:11:15:11 | A |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:8:5:1 | A |
| sources.js:11:14:11:16 | key | sources.js:11:14:11:16 | key |
| sources.js:11:14:11:16 | key | sources.js:11:32:11:34 | key |
| tst2.ts:1:1:1:0 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:1:1:0 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:18:1:18 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:18:1:18 | A | tst2.ts:7:1:7:0 | A |
| tst2.ts:2:14:2:19 | x | tst2.ts:4:3:4:3 | x |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:2:14:2:19 | x |
| tst2.ts:1:18:1:18 | A | tst2.ts:11:11:11:11 | A |
| tst2.ts:1:18:1:18 | A | tst2.ts:15:11:15:11 | A |
| tst2.ts:2:14:2:14 | x | tst2.ts:4:3:4:3 | x |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:2:14:2:14 | x |
| tst2.ts:7:1:7:0 | A | tst2.ts:8:3:8:3 | A |
| tst2.ts:7:1:9:1 | functio ... = 23;\\n} | tst2.ts:7:10:7:13 | setX |
| tst2.ts:7:10:7:13 | setX | tst2.ts:3:3:3:6 | setX |
@@ -1001,43 +1001,43 @@ flowStep
| tst2.ts:13:39:13:38 | args | tst2.ts:13:39:13:38 | args |
| tst2.ts:13:39:13:38 | this | tst2.ts:13:39:13:38 | implicit 'this' |
| tst2.ts:15:11:15:13 | A.x | tst2.ts:15:11:15:30 | A.x satisfies number |
| tst.js:1:1:1:1 | x | tst.js:3:5:3:5 | x |
| tst.js:1:1:1:0 | x | tst.js:3:5:3:5 | x |
| tst.js:1:10:1:11 | fs | tst.js:1:10:1:11 | fs |
| tst.js:1:10:1:11 | fs | tst.js:7:1:7:2 | fs |
| tst.js:1:10:1:11 | fs | tst.js:22:24:22:25 | fs |
| tst.js:3:5:3:5 | x | tst.js:3:5:3:5 | x |
| tst.js:3:5:3:5 | x | tst.js:8:1:8:1 | x |
| tst.js:3:5:3:5 | x | tst.js:9:2:9:2 | x |
| tst.js:3:5:3:5 | x | tst.js:10:1:10:1 | x |
| tst.js:3:5:3:5 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:5 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:5 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:5 | x | tst.js:28:2:28:1 | x |
| tst.js:3:5:3:5 | x | tst.js:32:1:32:0 | x |
| tst.js:3:5:3:10 | x | tst.js:3:5:3:5 | x |
| tst.js:3:5:3:10 | x | tst.js:8:1:8:1 | x |
| tst.js:3:5:3:10 | x | tst.js:9:2:9:2 | x |
| tst.js:3:5:3:10 | x | tst.js:10:1:10:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:9:3:10 | 42 | tst.js:3:5:3:10 | x |
| tst.js:4:5:4:12 | y | tst.js:10:4:10:4 | y |
| tst.js:4:5:4:12 | y | tst.js:11:6:11:6 | y |
| tst.js:4:5:4:12 | y | tst.js:12:6:12:6 | y |
| tst.js:4:5:4:12 | y | tst.js:13:5:13:5 | y |
| tst.js:4:5:4:12 | y | tst.js:14:9:14:9 | y |
| tst.js:4:5:4:12 | y | tst.js:105:6:105:6 | y |
| tst.js:4:9:4:12 | "hi" | tst.js:4:5:4:12 | y |
| tst.js:3:9:3:10 | 42 | tst.js:3:5:3:5 | x |
| tst.js:4:5:4:5 | y | tst.js:10:4:10:4 | y |
| tst.js:4:5:4:5 | y | tst.js:11:6:11:6 | y |
| tst.js:4:5:4:5 | y | tst.js:12:6:12:6 | y |
| tst.js:4:5:4:5 | y | tst.js:13:5:13:5 | y |
| tst.js:4:5:4:5 | y | tst.js:14:9:14:9 | y |
| tst.js:4:5:4:5 | y | tst.js:105:6:105:6 | y |
| tst.js:4:9:4:12 | "hi" | tst.js:4:5:4:5 | y |
| tst.js:9:2:9:2 | x | tst.js:9:1:9:3 | (x) |
| tst.js:10:4:10:4 | y | tst.js:10:1:10:4 | x, y |
| tst.js:11:1:11:1 | x | tst.js:12:1:12:1 | x |
| tst.js:11:1:11:1 | x | tst.js:12:1:12:1 | x |
| tst.js:11:1:11:1 | x | tst.js:12:1:12:7 | x |
| tst.js:11:1:11:1 | x | tst.js:12:1:12:7 | x |
| tst.js:11:6:11:6 | y | tst.js:11:1:11:6 | x && y |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:6 | x \|\| y |
| tst.js:12:1:12:1 | x | tst.js:13:1:13:1 | x |
| tst.js:12:1:12:1 | x | tst.js:13:1:13:1 | x |
| tst.js:12:1:12:1 | x | tst.js:13:1:13:6 | x |
| tst.js:12:1:12:1 | x | tst.js:13:1:13:6 | x |
| tst.js:12:1:12:7 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:7 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:7 | x | tst.js:12:1:12:1 | x |
| tst.js:12:6:12:6 | y | tst.js:12:1:12:6 | x \|\| y |
| tst.js:13:1:13:1 | x | tst.js:14:5:14:5 | x |
| tst.js:13:1:13:1 | x | tst.js:25:3:25:3 | x |
| tst.js:13:1:13:5 | z | tst.js:14:1:14:1 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z |
| tst.js:13:1:13:1 | z | tst.js:14:1:14:1 | z |
| tst.js:13:1:13:6 | x | tst.js:14:5:14:5 | x |
| tst.js:13:1:13:6 | x | tst.js:25:3:25:3 | x |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:1 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z = y |
| tst.js:14:5:14:5 | x | tst.js:14:1:14:9 | z ? x : y |
| tst.js:14:9:14:9 | y | tst.js:14:1:14:9 | z ? x : y |
@@ -1049,14 +1049,14 @@ flowStep
| tst.js:19:10:19:11 | "" | tst.js:16:1:20:9 | (functi ... ("arg") |
| tst.js:19:10:19:11 | "" | tst.js:16:2:20:1 | return of function f |
| tst.js:20:4:20:8 | "arg" | tst.js:16:13:16:13 | a |
| tst.js:22:5:22:25 | readFileSync | tst.js:23:1:23:12 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:5:22:25 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:7:22:18 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:23:1:23:12 | readFileSync |
| tst.js:22:24:22:25 | fs | tst.js:22:5:22:20 | { readFileSync } |
| tst.js:25:1:25:3 | x | tst.js:3:5:3:5 | x |
| tst.js:25:1:25:3 | x | tst.js:26:1:26:1 | x |
| tst.js:25:1:25:3 | x | tst.js:57:7:57:7 | x |
| tst.js:25:1:25:3 | x | tst.js:58:11:58:11 | x |
| tst.js:25:1:25:3 | x | tst.js:105:1:105:1 | x |
| tst.js:25:3:25:3 | x | tst.js:3:5:3:5 | x |
| tst.js:25:3:25:3 | x | tst.js:26:1:26:1 | x |
| tst.js:25:3:25:3 | x | tst.js:57:7:57:7 | x |
| tst.js:25:3:25:3 | x | tst.js:58:11:58:11 | x |
| tst.js:25:3:25:3 | x | tst.js:105:1:105:1 | x |
| tst.js:28:2:28:1 | x | tst.js:29:3:29:3 | x |
| tst.js:28:2:29:3 | () =>\\n x | tst.js:28:1:30:1 | (() =>\\n ... ables\\n) |
| tst.js:29:3:29:3 | x | tst.js:28:1:30:3 | (() =>\\n ... les\\n)() |
@@ -1067,56 +1067,56 @@ flowStep
| tst.js:32:10:32:10 | g | tst.js:60:1:60:1 | g |
| tst.js:32:10:32:10 | g | tst.js:62:4:62:4 | g |
| tst.js:33:10:33:10 | x | tst.js:32:1:34:1 | return of function g |
| tst.js:37:5:42:1 | o | tst.js:43:1:43:1 | o |
| tst.js:37:5:42:1 | o | tst.js:44:1:44:1 | o |
| tst.js:37:5:42:1 | o | tst.js:61:3:61:3 | o |
| tst.js:37:5:42:1 | o | tst.js:62:1:62:1 | o |
| tst.js:37:5:42:1 | o | tst.js:77:15:77:15 | o |
| tst.js:37:5:42:1 | o | tst.js:80:15:80:15 | o |
| tst.js:37:5:42:1 | o | tst.js:83:23:83:23 | o |
| tst.js:37:5:42:1 | o | tst.js:85:23:85:23 | o |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:37:5:42:1 | o |
| tst.js:37:5:37:5 | o | tst.js:43:1:43:1 | o |
| tst.js:37:5:37:5 | o | tst.js:44:1:44:1 | o |
| tst.js:37:5:37:5 | o | tst.js:61:3:61:3 | o |
| tst.js:37:5:37:5 | o | tst.js:62:1:62:1 | o |
| tst.js:37:5:37:5 | o | tst.js:77:15:77:15 | o |
| tst.js:37:5:37:5 | o | tst.js:80:15:80:15 | o |
| tst.js:37:5:37:5 | o | tst.js:83:23:83:23 | o |
| tst.js:37:5:37:5 | o | tst.js:85:23:85:23 | o |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:37:5:37:5 | o |
| tst.js:39:4:39:3 | this | tst.js:40:5:40:8 | this |
| tst.js:46:10:46:11 | "" | tst.js:46:1:46:11 | global = "" |
| tst.js:49:1:54:1 | A | tst.js:55:1:55:1 | A |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:49:1:54:1 | A |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:49:7:49:7 | A |
| tst.js:49:7:49:7 | A | tst.js:55:1:55:1 | A |
| tst.js:50:14:50:13 | this | tst.js:51:5:51:9 | implicit 'this' |
| tst.js:64:1:67:1 | functio ... lysed\\n} | tst.js:64:11:64:11 | h |
| tst.js:64:11:64:11 | h | tst.js:68:12:68:12 | h |
| tst.js:68:5:68:14 | iter | tst.js:69:1:69:4 | iter |
| tst.js:68:12:68:14 | h() | tst.js:68:5:68:14 | iter |
| tst.js:68:5:68:8 | iter | tst.js:69:1:69:4 | iter |
| tst.js:68:12:68:14 | h() | tst.js:68:5:68:8 | iter |
| tst.js:77:10:77:10 | i | tst.js:78:3:78:3 | i |
| tst.js:80:10:80:10 | v | tst.js:81:3:81:3 | v |
| tst.js:83:18:83:18 | v | tst.js:83:26:83:26 | v |
| tst.js:85:18:85:18 | v | tst.js:85:26:85:26 | v |
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:87:1:92:2 | (functi ... + z;\\n}) |
| tst.js:87:11:87:24 | o | tst.js:88:18:88:18 | o |
| tst.js:87:11:87:24 | o | tst.js:90:15:90:15 | o |
| tst.js:87:11:87:24 | x | tst.js:91:10:91:10 | x |
| tst.js:87:13:87:16 | p: x | tst.js:87:11:87:24 | x |
| tst.js:87:22:87:22 | ...o | tst.js:87:11:87:24 | o |
| tst.js:88:7:88:18 | y | tst.js:91:14:91:14 | y |
| tst.js:88:9:88:12 | q: y | tst.js:88:7:88:18 | y |
| tst.js:87:13:87:16 | p: x | tst.js:87:16:87:16 | x |
| tst.js:87:16:87:16 | x | tst.js:91:10:91:10 | x |
| tst.js:87:22:87:22 | ...o | tst.js:87:22:87:22 | o |
| tst.js:87:22:87:22 | o | tst.js:88:18:88:18 | o |
| tst.js:87:22:87:22 | o | tst.js:90:15:90:15 | o |
| tst.js:88:9:88:12 | q: y | tst.js:88:12:88:12 | y |
| tst.js:88:12:88:12 | y | tst.js:91:14:91:14 | y |
| tst.js:88:18:88:18 | o | tst.js:88:7:88:14 | { q: y } |
| tst.js:90:4:90:15 | z | tst.js:91:18:91:18 | z |
| tst.js:90:4:90:15 | { r: z } = o | tst.js:90:3:90:16 | ({ r: z } = o) |
| tst.js:90:6:90:9 | r: z | tst.js:90:4:90:15 | z |
| tst.js:90:6:90:9 | r: z | tst.js:90:9:90:9 | z |
| tst.js:90:9:90:9 | z | tst.js:91:18:91:18 | z |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:11 | { r: z } |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:15 | { r: z } = o |
| tst.js:91:10:91:18 | x + y + z | tst.js:87:1:96:2 | (functi ... r: 0\\n}) |
| tst.js:91:10:91:18 | x + y + z | tst.js:87:2:92:1 | return of anonymous function |
| tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} | tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:98:1:103:2 | (functi ... + z;\\n}) |
| tst.js:98:11:98:24 | rest | tst.js:99:15:99:18 | rest |
| tst.js:98:11:98:24 | rest | tst.js:101:13:101:16 | rest |
| tst.js:98:11:98:24 | x | tst.js:102:10:102:10 | x |
| tst.js:98:13:98:13 | x | tst.js:98:11:98:24 | x |
| tst.js:98:19:98:22 | ...rest | tst.js:98:11:98:24 | rest |
| tst.js:99:7:99:18 | y | tst.js:102:14:102:14 | y |
| tst.js:99:9:99:9 | y | tst.js:99:7:99:18 | y |
| tst.js:98:13:98:13 | x | tst.js:98:13:98:13 | x |
| tst.js:98:13:98:13 | x | tst.js:102:10:102:10 | x |
| tst.js:98:19:98:22 | ...rest | tst.js:98:19:98:22 | rest |
| tst.js:98:19:98:22 | rest | tst.js:99:15:99:18 | rest |
| tst.js:98:19:98:22 | rest | tst.js:101:13:101:16 | rest |
| tst.js:99:9:99:9 | y | tst.js:99:9:99:9 | y |
| tst.js:99:9:99:9 | y | tst.js:102:14:102:14 | y |
| tst.js:99:15:99:18 | rest | tst.js:99:7:99:11 | [ y ] |
| tst.js:101:3:101:16 | z | tst.js:102:18:102:18 | z |
| tst.js:101:7:101:7 | z | tst.js:101:3:101:16 | z |
| tst.js:101:7:101:7 | z | tst.js:101:7:101:7 | z |
| tst.js:101:7:101:7 | z | tst.js:102:18:102:18 | z |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:9 | [ , z ] |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:16 | [ , z ] = rest |
| tst.js:102:10:102:18 | x + y + z | tst.js:98:1:103:17 | (functi ... 3, 0 ]) |
@@ -1125,41 +1125,41 @@ flowStep
| tst.js:105:1:105:1 | x | tst.js:105:1:105:6 | x ?? y |
| tst.js:105:6:105:6 | y | tst.js:105:1:105:6 | x ?? y |
| tst.js:107:2:113:1 | functio ... v2c;\\n} | tst.js:107:1:113:2 | (functi ... v2c;\\n}) |
| tst.js:108:6:108:38 | v1a | tst.js:109:2:109:4 | v1a |
| tst.js:108:6:108:38 | v1b | tst.js:109:8:109:10 | v1b |
| tst.js:108:6:108:38 | v1c | tst.js:109:14:109:16 | v1c |
| tst.js:108:7:108:9 | v1a | tst.js:108:6:108:38 | v1a |
| tst.js:108:12:108:20 | v1b = o1b | tst.js:108:6:108:38 | v1b |
| tst.js:108:18:108:20 | o1b | tst.js:108:6:108:38 | v1b |
| tst.js:108:23:108:31 | v1c = o1c | tst.js:108:6:108:38 | v1c |
| tst.js:108:29:108:31 | o1c | tst.js:108:6:108:38 | v1c |
| tst.js:108:7:108:9 | v1a | tst.js:108:7:108:9 | v1a |
| tst.js:108:7:108:9 | v1a | tst.js:109:2:109:4 | v1a |
| tst.js:108:12:108:14 | v1b | tst.js:109:8:109:10 | v1b |
| tst.js:108:12:108:20 | v1b = o1b | tst.js:108:12:108:14 | v1b |
| tst.js:108:18:108:20 | o1b | tst.js:108:12:108:14 | v1b |
| tst.js:108:23:108:25 | v1c | tst.js:109:14:109:16 | v1c |
| tst.js:108:23:108:31 | v1c = o1c | tst.js:108:23:108:25 | v1c |
| tst.js:108:29:108:31 | o1c | tst.js:108:23:108:25 | v1c |
| tst.js:108:36:108:38 | o1d | tst.js:108:6:108:32 | {v1a, v ... = o1c} |
| tst.js:111:6:111:38 | v2a | tst.js:112:2:112:4 | v2a |
| tst.js:111:6:111:38 | v2b | tst.js:112:8:112:10 | v2b |
| tst.js:111:6:111:38 | v2c | tst.js:112:14:112:16 | v2c |
| tst.js:111:7:111:9 | v2a | tst.js:111:6:111:38 | v2a |
| tst.js:111:12:111:14 | v2b | tst.js:111:6:111:38 | v2b |
| tst.js:111:18:111:20 | o2b | tst.js:111:6:111:38 | v2b |
| tst.js:111:23:111:25 | v2c | tst.js:111:6:111:38 | v2c |
| tst.js:111:29:111:31 | o2c | tst.js:111:6:111:38 | v2c |
| tst.js:111:7:111:9 | v2a | tst.js:111:7:111:9 | v2a |
| tst.js:111:7:111:9 | v2a | tst.js:112:2:112:4 | v2a |
| tst.js:111:12:111:14 | v2b | tst.js:111:12:111:14 | v2b |
| tst.js:111:12:111:14 | v2b | tst.js:112:8:112:10 | v2b |
| tst.js:111:18:111:20 | o2b | tst.js:111:12:111:14 | v2b |
| tst.js:111:23:111:25 | v2c | tst.js:111:23:111:25 | v2c |
| tst.js:111:23:111:25 | v2c | tst.js:112:14:112:16 | v2c |
| tst.js:111:29:111:31 | o2c | tst.js:111:23:111:25 | v2c |
| tst.js:111:36:111:38 | o2d | tst.js:111:6:111:32 | [v2a, v ... = o2c] |
| tst.js:115:1:115:12 | reflective call | tst.js:115:1:115:12 | Array.call() |
getImmediatePredecessor
| arguments.js:1:2:12:1 | functio ... , 3);\\n} | arguments.js:1:1:12:2 | (functi ... 3);\\n}) |
| arguments.js:2:5:2:5 | arguments | arguments.js:4:28:4:36 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:5:25:5:33 | arguments |
| arguments.js:2:5:2:5 | arguments | arguments.js:6:20:6:28 | arguments |
| arguments.js:2:5:2:4 | arguments | arguments.js:4:28:4:36 | arguments |
| arguments.js:2:5:2:4 | arguments | arguments.js:5:25:5:33 | arguments |
| arguments.js:2:5:2:4 | arguments | arguments.js:6:20:6:28 | arguments |
| arguments.js:2:5:10:5 | functio ... ;\\n } | arguments.js:2:14:2:14 | f |
| arguments.js:2:14:2:14 | f | arguments.js:11:5:11:5 | f |
| arguments.js:2:16:2:16 | x | arguments.js:2:16:2:16 | x |
| arguments.js:2:16:2:16 | x | arguments.js:3:24:3:24 | x |
| arguments.js:6:13:6:28 | args | arguments.js:7:24:7:27 | args |
| arguments.js:6:20:6:28 | arguments | arguments.js:6:13:6:28 | args |
| arguments.js:8:9:8:22 | arguments | arguments.js:9:27:9:35 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments |
| arguments.js:6:13:6:16 | args | arguments.js:7:24:7:27 | args |
| arguments.js:6:20:6:28 | arguments | arguments.js:6:13:6:16 | args |
| arguments.js:8:9:8:17 | arguments | arguments.js:9:27:9:35 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:17 | arguments |
| arguments.js:8:21:8:22 | {} | arguments.js:8:9:8:22 | arguments = {} |
| eval.js:2:7:2:12 | x | eval.js:4:3:4:3 | x |
| eval.js:2:11:2:12 | 42 | eval.js:2:7:2:12 | x |
| eval.js:2:7:2:7 | x | eval.js:4:3:4:3 | x |
| eval.js:2:11:2:12 | 42 | eval.js:2:7:2:7 | x |
| sources.js:1:6:1:6 | x | sources.js:1:6:1:6 | x |
| sources.js:1:6:1:6 | x | sources.js:1:11:1:11 | x |
| sources.js:1:6:1:11 | x => x | sources.js:1:5:1:12 | (x => x) |
@@ -1173,14 +1173,14 @@ getImmediatePredecessor
| sources.js:9:14:9:18 | array | sources.js:10:19:10:23 | array |
| sources.js:9:14:9:18 | array | sources.js:11:23:11:27 | array |
| sources.js:10:12:10:14 | key | sources.js:10:28:10:30 | key |
| sources.js:11:12:11:18 | key | sources.js:11:32:11:34 | key |
| sources.js:11:14:11:16 | key | sources.js:11:12:11:18 | key |
| tst2.ts:1:1:1:1 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:11:11:11:11 | A |
| tst2.ts:1:8:5:1 | A | tst2.ts:15:11:15:11 | A |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:8:5:1 | A |
| tst2.ts:2:14:2:19 | x | tst2.ts:4:3:4:3 | x |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:2:14:2:19 | x |
| sources.js:11:14:11:16 | key | sources.js:11:14:11:16 | key |
| sources.js:11:14:11:16 | key | sources.js:11:32:11:34 | key |
| tst2.ts:1:1:1:0 | A | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:8:5:1 | namespa ... lysed\\n} | tst2.ts:1:18:1:18 | A |
| tst2.ts:1:18:1:18 | A | tst2.ts:11:11:11:11 | A |
| tst2.ts:1:18:1:18 | A | tst2.ts:15:11:15:11 | A |
| tst2.ts:2:14:2:14 | x | tst2.ts:4:3:4:3 | x |
| tst2.ts:2:18:2:19 | 42 | tst2.ts:2:14:2:14 | x |
| tst2.ts:7:1:7:0 | A | tst2.ts:8:3:8:3 | A |
| tst2.ts:7:1:9:1 | functio ... = 23;\\n} | tst2.ts:7:10:7:13 | setX |
| tst2.ts:7:10:7:13 | setX | tst2.ts:3:3:3:6 | setX |
@@ -1194,43 +1194,43 @@ getImmediatePredecessor
| tst.js:1:10:1:11 | fs | tst.js:1:10:1:11 | fs |
| tst.js:1:10:1:11 | fs | tst.js:7:1:7:2 | fs |
| tst.js:1:10:1:11 | fs | tst.js:22:24:22:25 | fs |
| tst.js:3:5:3:10 | x | tst.js:8:1:8:1 | x |
| tst.js:3:5:3:10 | x | tst.js:9:2:9:2 | x |
| tst.js:3:5:3:10 | x | tst.js:10:1:10:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:10 | x | tst.js:12:1:12:1 | x |
| tst.js:3:5:3:10 | x | tst.js:13:1:13:1 | x |
| tst.js:3:9:3:10 | 42 | tst.js:3:5:3:10 | x |
| tst.js:4:5:4:12 | y | tst.js:10:4:10:4 | y |
| tst.js:4:5:4:12 | y | tst.js:11:6:11:6 | y |
| tst.js:4:5:4:12 | y | tst.js:12:6:12:6 | y |
| tst.js:4:5:4:12 | y | tst.js:13:5:13:5 | y |
| tst.js:4:5:4:12 | y | tst.js:14:9:14:9 | y |
| tst.js:4:5:4:12 | y | tst.js:105:6:105:6 | y |
| tst.js:4:9:4:12 | "hi" | tst.js:4:5:4:12 | y |
| tst.js:3:5:3:5 | x | tst.js:8:1:8:1 | x |
| tst.js:3:5:3:5 | x | tst.js:9:2:9:2 | x |
| tst.js:3:5:3:5 | x | tst.js:10:1:10:1 | x |
| tst.js:3:5:3:5 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:5 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:5 | x | tst.js:11:1:11:1 | x |
| tst.js:3:5:3:5 | x | tst.js:12:1:12:7 | x |
| tst.js:3:5:3:5 | x | tst.js:13:1:13:6 | x |
| tst.js:3:9:3:10 | 42 | tst.js:3:5:3:5 | x |
| tst.js:4:5:4:5 | y | tst.js:10:4:10:4 | y |
| tst.js:4:5:4:5 | y | tst.js:11:6:11:6 | y |
| tst.js:4:5:4:5 | y | tst.js:12:6:12:6 | y |
| tst.js:4:5:4:5 | y | tst.js:13:5:13:5 | y |
| tst.js:4:5:4:5 | y | tst.js:14:9:14:9 | y |
| tst.js:4:5:4:5 | y | tst.js:105:6:105:6 | y |
| tst.js:4:9:4:12 | "hi" | tst.js:4:5:4:5 | y |
| tst.js:9:2:9:2 | x | tst.js:9:1:9:3 | (x) |
| tst.js:10:4:10:4 | y | tst.js:10:1:10:4 | x, y |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:1 | x | tst.js:12:1:12:1 | x |
| tst.js:13:1:13:1 | x | tst.js:14:5:14:5 | x |
| tst.js:13:1:13:1 | x | tst.js:25:3:25:3 | x |
| tst.js:13:1:13:5 | z | tst.js:14:1:14:1 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z |
| tst.js:12:1:12:7 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:7 | x | tst.js:12:1:12:1 | x |
| tst.js:12:1:12:7 | x | tst.js:12:1:12:1 | x |
| tst.js:13:1:13:1 | z | tst.js:14:1:14:1 | z |
| tst.js:13:1:13:6 | x | tst.js:14:5:14:5 | x |
| tst.js:13:1:13:6 | x | tst.js:25:3:25:3 | x |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:1 | z |
| tst.js:13:5:13:5 | y | tst.js:13:1:13:5 | z = y |
| tst.js:16:2:20:1 | functio ... n "";\\n} | tst.js:16:1:20:2 | (functi ... "";\\n}) |
| tst.js:16:13:16:13 | a | tst.js:16:13:16:13 | a |
| tst.js:16:13:16:13 | a | tst.js:18:12:18:12 | a |
| tst.js:20:4:20:8 | "arg" | tst.js:16:13:16:13 | a |
| tst.js:22:5:22:25 | readFileSync | tst.js:23:1:23:12 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:5:22:25 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:22:7:22:18 | readFileSync |
| tst.js:22:7:22:18 | readFileSync | tst.js:23:1:23:12 | readFileSync |
| tst.js:22:24:22:25 | fs | tst.js:22:5:22:20 | { readFileSync } |
| tst.js:25:1:25:3 | x | tst.js:26:1:26:1 | x |
| tst.js:25:1:25:3 | x | tst.js:57:7:57:7 | x |
| tst.js:25:1:25:3 | x | tst.js:58:11:58:11 | x |
| tst.js:25:1:25:3 | x | tst.js:105:1:105:1 | x |
| tst.js:25:3:25:3 | x | tst.js:26:1:26:1 | x |
| tst.js:25:3:25:3 | x | tst.js:57:7:57:7 | x |
| tst.js:25:3:25:3 | x | tst.js:58:11:58:11 | x |
| tst.js:25:3:25:3 | x | tst.js:105:1:105:1 | x |
| tst.js:28:2:28:1 | x | tst.js:29:3:29:3 | x |
| tst.js:28:2:29:3 | () =>\\n x | tst.js:28:1:30:1 | (() =>\\n ... ables\\n) |
| tst.js:29:3:29:3 | x | tst.js:28:1:30:3 | (() =>\\n ... les\\n)() |
@@ -1239,69 +1239,69 @@ getImmediatePredecessor
| tst.js:32:10:32:10 | g | tst.js:35:1:35:1 | g |
| tst.js:32:10:32:10 | g | tst.js:60:1:60:1 | g |
| tst.js:32:10:32:10 | g | tst.js:62:4:62:4 | g |
| tst.js:37:5:42:1 | o | tst.js:43:1:43:1 | o |
| tst.js:37:5:42:1 | o | tst.js:44:1:44:1 | o |
| tst.js:37:5:42:1 | o | tst.js:61:3:61:3 | o |
| tst.js:37:5:42:1 | o | tst.js:62:1:62:1 | o |
| tst.js:37:5:42:1 | o | tst.js:77:15:77:15 | o |
| tst.js:37:5:42:1 | o | tst.js:80:15:80:15 | o |
| tst.js:37:5:42:1 | o | tst.js:83:23:83:23 | o |
| tst.js:37:5:42:1 | o | tst.js:85:23:85:23 | o |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:37:5:42:1 | o |
| tst.js:37:5:37:5 | o | tst.js:43:1:43:1 | o |
| tst.js:37:5:37:5 | o | tst.js:44:1:44:1 | o |
| tst.js:37:5:37:5 | o | tst.js:61:3:61:3 | o |
| tst.js:37:5:37:5 | o | tst.js:62:1:62:1 | o |
| tst.js:37:5:37:5 | o | tst.js:77:15:77:15 | o |
| tst.js:37:5:37:5 | o | tst.js:80:15:80:15 | o |
| tst.js:37:5:37:5 | o | tst.js:83:23:83:23 | o |
| tst.js:37:5:37:5 | o | tst.js:85:23:85:23 | o |
| tst.js:37:9:42:1 | {\\n x: ... ;\\n }\\n} | tst.js:37:5:37:5 | o |
| tst.js:39:4:39:3 | this | tst.js:40:5:40:8 | this |
| tst.js:46:10:46:11 | "" | tst.js:46:1:46:11 | global = "" |
| tst.js:49:1:54:1 | A | tst.js:55:1:55:1 | A |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:49:1:54:1 | A |
| tst.js:49:1:54:1 | class A ... `\\n }\\n} | tst.js:49:7:49:7 | A |
| tst.js:49:7:49:7 | A | tst.js:55:1:55:1 | A |
| tst.js:50:14:50:13 | this | tst.js:51:5:51:9 | implicit 'this' |
| tst.js:64:1:67:1 | functio ... lysed\\n} | tst.js:64:11:64:11 | h |
| tst.js:64:11:64:11 | h | tst.js:68:12:68:12 | h |
| tst.js:68:5:68:14 | iter | tst.js:69:1:69:4 | iter |
| tst.js:68:12:68:14 | h() | tst.js:68:5:68:14 | iter |
| tst.js:68:5:68:8 | iter | tst.js:69:1:69:4 | iter |
| tst.js:68:12:68:14 | h() | tst.js:68:5:68:8 | iter |
| tst.js:77:10:77:10 | i | tst.js:78:3:78:3 | i |
| tst.js:80:10:80:10 | v | tst.js:81:3:81:3 | v |
| tst.js:83:18:83:18 | v | tst.js:83:26:83:26 | v |
| tst.js:85:18:85:18 | v | tst.js:85:26:85:26 | v |
| tst.js:87:2:92:1 | functio ... + z;\\n} | tst.js:87:1:92:2 | (functi ... + z;\\n}) |
| tst.js:87:11:87:24 | o | tst.js:88:18:88:18 | o |
| tst.js:87:11:87:24 | o | tst.js:90:15:90:15 | o |
| tst.js:87:11:87:24 | x | tst.js:91:10:91:10 | x |
| tst.js:87:13:87:16 | p: x | tst.js:87:11:87:24 | x |
| tst.js:87:22:87:22 | ...o | tst.js:87:11:87:24 | o |
| tst.js:88:7:88:18 | y | tst.js:91:14:91:14 | y |
| tst.js:88:9:88:12 | q: y | tst.js:88:7:88:18 | y |
| tst.js:87:13:87:16 | p: x | tst.js:87:16:87:16 | x |
| tst.js:87:16:87:16 | x | tst.js:91:10:91:10 | x |
| tst.js:87:22:87:22 | ...o | tst.js:87:22:87:22 | o |
| tst.js:87:22:87:22 | o | tst.js:88:18:88:18 | o |
| tst.js:87:22:87:22 | o | tst.js:90:15:90:15 | o |
| tst.js:88:9:88:12 | q: y | tst.js:88:12:88:12 | y |
| tst.js:88:12:88:12 | y | tst.js:91:14:91:14 | y |
| tst.js:88:18:88:18 | o | tst.js:88:7:88:14 | { q: y } |
| tst.js:90:4:90:15 | z | tst.js:91:18:91:18 | z |
| tst.js:90:4:90:15 | { r: z } = o | tst.js:90:3:90:16 | ({ r: z } = o) |
| tst.js:90:6:90:9 | r: z | tst.js:90:4:90:15 | z |
| tst.js:90:6:90:9 | r: z | tst.js:90:9:90:9 | z |
| tst.js:90:9:90:9 | z | tst.js:91:18:91:18 | z |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:11 | { r: z } |
| tst.js:90:15:90:15 | o | tst.js:90:4:90:15 | { r: z } = o |
| tst.js:91:10:91:18 | x + y + z | tst.js:87:1:96:2 | (functi ... r: 0\\n}) |
| tst.js:92:4:96:1 | {\\n p: ... r: 0\\n} | tst.js:87:11:87:24 | { p: x, ...o } |
| tst.js:98:2:103:1 | functio ... + z;\\n} | tst.js:98:1:103:2 | (functi ... + z;\\n}) |
| tst.js:98:11:98:24 | rest | tst.js:99:15:99:18 | rest |
| tst.js:98:11:98:24 | rest | tst.js:101:13:101:16 | rest |
| tst.js:98:11:98:24 | x | tst.js:102:10:102:10 | x |
| tst.js:98:13:98:13 | x | tst.js:98:11:98:24 | x |
| tst.js:98:19:98:22 | ...rest | tst.js:98:11:98:24 | rest |
| tst.js:99:7:99:18 | y | tst.js:102:14:102:14 | y |
| tst.js:99:9:99:9 | y | tst.js:99:7:99:18 | y |
| tst.js:98:13:98:13 | x | tst.js:98:13:98:13 | x |
| tst.js:98:13:98:13 | x | tst.js:102:10:102:10 | x |
| tst.js:98:19:98:22 | ...rest | tst.js:98:19:98:22 | rest |
| tst.js:98:19:98:22 | rest | tst.js:99:15:99:18 | rest |
| tst.js:98:19:98:22 | rest | tst.js:101:13:101:16 | rest |
| tst.js:99:9:99:9 | y | tst.js:99:9:99:9 | y |
| tst.js:99:9:99:9 | y | tst.js:102:14:102:14 | y |
| tst.js:99:15:99:18 | rest | tst.js:99:7:99:11 | [ y ] |
| tst.js:101:3:101:16 | z | tst.js:102:18:102:18 | z |
| tst.js:101:7:101:7 | z | tst.js:101:3:101:16 | z |
| tst.js:101:7:101:7 | z | tst.js:101:7:101:7 | z |
| tst.js:101:7:101:7 | z | tst.js:102:18:102:18 | z |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:9 | [ , z ] |
| tst.js:101:13:101:16 | rest | tst.js:101:3:101:16 | [ , z ] = rest |
| tst.js:102:10:102:18 | x + y + z | tst.js:98:1:103:17 | (functi ... 3, 0 ]) |
| tst.js:103:4:103:16 | [ 19, 23, 0 ] | tst.js:98:11:98:24 | [ x, ...rest ] |
| tst.js:107:2:113:1 | functio ... v2c;\\n} | tst.js:107:1:113:2 | (functi ... v2c;\\n}) |
| tst.js:108:6:108:38 | v1a | tst.js:109:2:109:4 | v1a |
| tst.js:108:6:108:38 | v1b | tst.js:109:8:109:10 | v1b |
| tst.js:108:6:108:38 | v1c | tst.js:109:14:109:16 | v1c |
| tst.js:108:7:108:9 | v1a | tst.js:108:6:108:38 | v1a |
| tst.js:108:7:108:9 | v1a | tst.js:108:7:108:9 | v1a |
| tst.js:108:7:108:9 | v1a | tst.js:109:2:109:4 | v1a |
| tst.js:108:12:108:14 | v1b | tst.js:109:8:109:10 | v1b |
| tst.js:108:23:108:25 | v1c | tst.js:109:14:109:16 | v1c |
| tst.js:108:36:108:38 | o1d | tst.js:108:6:108:32 | {v1a, v ... = o1c} |
| tst.js:111:6:111:38 | v2a | tst.js:112:2:112:4 | v2a |
| tst.js:111:6:111:38 | v2b | tst.js:112:8:112:10 | v2b |
| tst.js:111:6:111:38 | v2c | tst.js:112:14:112:16 | v2c |
| tst.js:111:7:111:9 | v2a | tst.js:111:6:111:38 | v2a |
| tst.js:111:7:111:9 | v2a | tst.js:111:7:111:9 | v2a |
| tst.js:111:7:111:9 | v2a | tst.js:112:2:112:4 | v2a |
| tst.js:111:12:111:14 | v2b | tst.js:112:8:112:10 | v2b |
| tst.js:111:23:111:25 | v2c | tst.js:112:14:112:16 | v2c |
| tst.js:111:36:111:38 | o2d | tst.js:111:6:111:32 | [v2a, v ... = o2c] |
| tst.js:115:1:115:12 | reflective call | tst.js:115:1:115:12 | Array.call() |
| tst.js:117:22:117:23 | x1 | tst.js:117:10:117:24 | Object.seal(x1) |
@@ -1340,7 +1340,7 @@ incomplete
| arguments.js:11:5:11:14 | exceptional return of f(1, 2, 3) | call |
| arguments.js:11:5:11:14 | f(1, 2, 3) | call |
| eval.js:1:1:5:1 | exceptional return of function k | call |
| eval.js:2:7:2:12 | x | eval |
| eval.js:2:7:2:7 | x | eval |
| eval.js:3:3:3:6 | eval | global |
| eval.js:3:3:3:16 | eval("x = 23") | call |
| eval.js:3:3:3:16 | exceptional return of eval("x = 23") | call |
@@ -1351,9 +1351,9 @@ incomplete
| sources.js:9:1:12:1 | exceptional return of function foo | call |
| sources.js:9:14:9:18 | array | call |
| sources.js:10:12:10:14 | key | heap |
| sources.js:11:12:11:18 | key | heap |
| sources.js:11:14:11:16 | key | heap |
| tst2.ts:2:14:2:19 | x | namespace |
| sources.js:11:14:11:16 | key | heap |
| tst2.ts:2:14:2:14 | x | namespace |
| tst2.ts:3:3:3:8 | exceptional return of setX() | call |
| tst2.ts:3:3:3:8 | setX() | call |
| tst2.ts:7:1:9:1 | exceptional return of function setX | call |

View File

@@ -1,9 +1,9 @@
| classes.js:7:5:8:5 | def@7:5 | classes.js:10:5:10:12 | LocalFoo |
| classes.js:7:11:7:18 | def@7:11 | classes.js:10:5:10:12 | LocalFoo |
| es2015.js:1:10:1:11 | def@1:10 | es2015.js:2:3:2:4 | fn |
| es2015.js:5:16:5:16 | def@5:16 | es2015.js:5:32:5:32 | i |
| es2015.js:5:16:5:16 | def@5:16 | es2015.js:5:34:5:34 | i |
| es2015modules.js:1:10:1:12 | def@1:10 | es2015modules.js:4:3:4:5 | foo |
| es2015modules.js:1:15:1:24 | def@1:15 | es2015modules.js:6:3:6:5 | baz |
| es2015modules.js:1:22:1:24 | def@1:22 | es2015modules.js:6:3:6:5 | baz |
| es2015modules.js:10:10:10:13 | def@10:10 | es2015modules.js:7:3:7:6 | quux |
| es2015modules.js:15:17:15:17 | def@15:17 | es2015modules.js:12:1:12:1 | f |
| es2015modules.js:16:25:16:25 | def@16:25 | es2015modules.js:13:1:13:1 | g |
@@ -14,17 +14,17 @@
| fundecls.js:30:12:30:12 | def@30:12 | fundecls.js:28:3:28:3 | f |
| fundecls.js:36:12:36:12 | def@36:12 | fundecls.js:35:3:35:3 | f |
| fundecls.js:39:11:39:11 | def@39:11 | fundecls.js:40:7:40:7 | x |
| fundecls.js:45:3:45:3 | phi@45:3 | fundecls.js:45:3:45:3 | f |
| fundecls.js:45:3:45:6 | phi@45:3 | fundecls.js:45:3:45:3 | f |
| fundecls.js:48:11:48:11 | def@48:11 | fundecls.js:50:7:50:7 | x |
| tst.js:1:12:1:12 | def@1:12 | tst.js:3:12:3:12 | o |
| tst.js:1:12:1:12 | def@1:12 | tst.js:5:16:5:16 | o |
| tst.js:2:9:2:14 | def@2:9 | tst.js:8:17:8:17 | y |
| tst.js:3:2:3:2 | phi@3:2 | tst.js:4:5:4:5 | i |
| tst.js:5:2:5:2 | phi@5:2 | tst.js:7:6:7:6 | i |
| tst.js:5:2:5:2 | phi@5:2 | tst.js:8:14:8:14 | z |
| tst.js:2:9:2:9 | def@2:9 | tst.js:8:17:8:17 | y |
| tst.js:3:2:4:6 | phi@3:2 | tst.js:4:5:4:5 | i |
| tst.js:5:2:7:7 | phi@5:2 | tst.js:7:6:7:6 | i |
| tst.js:5:2:7:7 | phi@5:2 | tst.js:8:14:8:14 | z |
| tst.js:5:11:5:11 | def@5:11 | tst.js:6:7:6:7 | z |
| tst.js:12:2:12:7 | def@12:2 | tst.js:14:9:14:9 | x |
| tst.js:12:2:12:2 | def@12:2 | tst.js:14:9:14:9 | x |
| tst.js:19:11:19:11 | def@19:11 | tst.js:18:9:18:9 | x |
| tst.js:23:6:23:23 | def@23:6 | tst.js:24:2:24:2 | a |
| tst.js:23:6:23:23 | def@23:6 | tst.js:24:6:24:6 | c |
| tst.js:23:7:23:7 | def@23:7 | tst.js:24:2:24:2 | a |
| tst.js:23:14:23:14 | def@23:14 | tst.js:24:6:24:6 | c |
| tst.js:26:11:26:11 | def@26:11 | tst.js:27:2:27:2 | a |

View File

@@ -9,22 +9,22 @@ test_getAReferenceTo
| other_ns.js:4:9:4:10 | NS | NS |
| other_ns.js:4:9:4:16 | NS \|\| {} | NS |
| other_ns.js:6:1:6:8 | Conflict | Conflict |
| test.js:2:7:2:17 | v | foo.bar |
| test.js:2:7:2:7 | v | foo.bar |
| test.js:2:11:2:13 | foo | foo |
| test.js:2:11:2:17 | foo.bar | foo.bar |
| test.js:3:3:3:3 | v | foo.bar |
| test.js:3:3:3:7 | v.baz | foo.bar.baz |
| test.js:4:7:4:24 | { baz, a, b: {c} } | foo.bar |
| test.js:4:7:4:28 | c | foo.bar.b.c |
| test.js:4:9:4:11 | baz | foo.bar.baz |
| test.js:4:14:4:14 | a | foo.bar.a |
| test.js:4:17:4:22 | b: {c} | foo.bar.b |
| test.js:4:20:4:22 | {c} | foo.bar.b |
| test.js:4:21:4:21 | c | foo.bar.b.c |
| test.js:4:21:4:21 | c | foo.bar.b.c |
| test.js:4:28:4:28 | v | foo.bar |
| test.js:5:11:5:11 | c | foo.bar.b.c |
| test.js:5:11:5:13 | c.d | foo.bar.b.c.d |
| test.js:7:7:7:16 | w | window |
| test.js:7:7:7:7 | w | window |
| test.js:7:11:7:16 | window | window |
| test.js:8:13:8:18 | window | window |
| test.js:8:13:8:20 | window.x | x |
@@ -35,11 +35,11 @@ test_getAReferenceTo
| test.js:10:13:10:13 | w | window |
| test.js:10:13:10:15 | w.x | x |
| test.js:10:13:10:17 | w.x.y | x.y |
| test.js:12:7:12:25 | notUnique | foo.bar |
| test.js:12:7:12:15 | notUnique | foo.bar |
| test.js:12:19:12:21 | foo | foo |
| test.js:12:19:12:25 | foo.bar | foo.bar |
| test.js:13:7:13:15 | something | something |
| test.js:14:5:14:23 | notUnique | bar.baz |
| test.js:14:5:14:13 | notUnique | bar.baz |
| test.js:14:5:14:23 | notUnique = bar.baz | bar.baz |
| test.js:14:17:14:19 | bar | bar |
| test.js:14:17:14:23 | bar.baz | bar.baz |
@@ -56,7 +56,7 @@ test_getAReferenceTo
| test.js:33:7:33:18 | { bar = {} } | foo |
| test.js:33:9:33:16 | bar = {} | foo.bar |
| test.js:33:22:33:24 | foo | foo |
| test.js:39:3:39:20 | lazyInit | foo.bar |
| test.js:39:3:39:10 | lazyInit | foo.bar |
| test.js:39:3:39:20 | lazyInit = foo.bar | foo.bar |
| test.js:39:14:39:16 | foo | foo |
| test.js:39:14:39:20 | foo.bar | foo.bar |
@@ -77,7 +77,7 @@ test_getAReferenceTo
| test.js:68:11:68:34 | Object. ... ar).baz | foo.bar.baz |
| test.js:68:23:68:25 | foo | foo |
| test.js:68:23:68:29 | foo.bar | foo.bar |
| test.js:69:6:69:15 | O | Object |
| test.js:69:6:69:6 | O | Object |
| test.js:69:10:69:15 | Object | Object |
| test.js:70:11:70:11 | O | Object |
| test.js:70:11:70:16 | O.seal | Object.seal |

View File

@@ -1,14 +1,14 @@
| tst.js:2:7:2:13 | a = g() | tst.js:2:7:2:7 | a | tst.js:2:11:2:13 | g() |
| tst.js:4:7:4:24 | { propB: b } = g() | tst.js:4:16:4:16 | b | tst.js:4:9:4:16 | propB: b |
| tst.js:6:7:6:34 | { propC ... } = g() | tst.js:6:16:6:16 | c | tst.js:6:9:6:16 | propC: c |
| tst.js:6:7:6:34 | { propC ... } = g() | tst.js:6:26:6:26 | d | tst.js:6:19:6:26 | propD: d |
| tst.js:8:7:8:41 | { array ... } = g() | tst.js:8:22:8:25 | elm1 | tst.js:8:22:8:25 | elm1 |
| tst.js:8:7:8:41 | { array ... } = g() | tst.js:8:28:8:31 | elm2 | tst.js:8:28:8:31 | elm2 |
| tst.js:17:3:17:22 | ({ propB: b }) = g() | tst.js:4:16:4:16 | b | tst.js:17:6:17:13 | propB: b |
| tst.js:19:3:19:32 | ({ prop ... ) = g() | tst.js:6:16:6:16 | c | tst.js:19:6:19:13 | propC: c |
| tst.js:19:3:19:32 | ({ prop ... ) = g() | tst.js:6:26:6:26 | d | tst.js:19:16:19:23 | propD: d |
| tst.js:21:3:21:22 | [ elm1, elm2 ] = g() | tst.js:8:22:8:25 | elm1 | tst.js:21:5:21:8 | elm1 |
| tst.js:21:3:21:22 | [ elm1, elm2 ] = g() | tst.js:8:28:8:31 | elm2 | tst.js:21:11:21:14 | elm2 |
| tst.js:31:12:31:23 | [elm1, elm2] | tst.js:31:13:31:16 | elm1 | tst.js:31:13:31:16 | elm1 |
| tst.js:31:12:31:23 | [elm1, elm2] | tst.js:31:19:31:22 | elm2 | tst.js:31:19:31:22 | elm2 |
| tst.js:31:26:31:40 | { prop: value } | tst.js:31:34:31:38 | value | tst.js:31:28:31:38 | prop: value |
| tst.js:2:7:2:7 | a = g() | tst.js:2:7:2:7 | a | tst.js:2:11:2:13 | g() |
| tst.js:4:16:4:16 | { propB: b } = g() | tst.js:4:16:4:16 | b | tst.js:4:9:4:16 | propB: b |
| tst.js:6:16:6:16 | { propC ... } = g() | tst.js:6:16:6:16 | c | tst.js:6:9:6:16 | propC: c |
| tst.js:6:26:6:26 | { propC ... } = g() | tst.js:6:26:6:26 | d | tst.js:6:19:6:26 | propD: d |
| tst.js:8:22:8:25 | { array ... } = g() | tst.js:8:22:8:25 | elm1 | tst.js:8:22:8:25 | elm1 |
| tst.js:8:28:8:31 | { array ... } = g() | tst.js:8:28:8:31 | elm2 | tst.js:8:28:8:31 | elm2 |
| tst.js:17:13:17:13 | ({ propB: b }) = g() | tst.js:4:16:4:16 | b | tst.js:17:6:17:13 | propB: b |
| tst.js:19:13:19:13 | ({ prop ... ) = g() | tst.js:6:16:6:16 | c | tst.js:19:6:19:13 | propC: c |
| tst.js:19:23:19:23 | ({ prop ... ) = g() | tst.js:6:26:6:26 | d | tst.js:19:16:19:23 | propD: d |
| tst.js:21:5:21:8 | [ elm1, elm2 ] = g() | tst.js:8:22:8:25 | elm1 | tst.js:21:5:21:8 | elm1 |
| tst.js:21:11:21:14 | [ elm1, elm2 ] = g() | tst.js:8:28:8:31 | elm2 | tst.js:21:11:21:14 | elm2 |
| tst.js:31:13:31:16 | [elm1, elm2] | tst.js:31:13:31:16 | elm1 | tst.js:31:13:31:16 | elm1 |
| tst.js:31:19:31:22 | [elm1, elm2] | tst.js:31:19:31:22 | elm2 | tst.js:31:19:31:22 | elm2 |
| tst.js:31:34:31:38 | { prop: value } | tst.js:31:34:31:38 | value | tst.js:31:28:31:38 | prop: value |

View File

@@ -1,39 +1,39 @@
| tst.js:1:1:1:1 | implicit initialization of y |
| tst.js:1:1:1:0 | implicit initialization of y |
| tst.js:1:12:1:12 | x |
| tst.js:3:7:3:7 | x = refine[guard: x is false](def@1:12) |
| tst.js:3:7:3:7 | x = refine[guard: x is true](def@1:12) |
| tst.js:4:5:4:9 | y = x |
| tst.js:5:3:5:3 | x = phi(refine[guard: x is false]@3:7, refine[guard: x is true]@3:7) |
| tst.js:5:3:5:3 | y = phi(def@4:5, implicitInit@1:1) |
| tst.js:5:3:5:7 | z = y |
| tst.js:4:5:4:5 | y = x |
| tst.js:5:3:5:3 | z = y |
| tst.js:5:3:5:8 | x = phi(refine[guard: x is false]@3:7, refine[guard: x is true]@3:7) |
| tst.js:5:3:5:8 | y = phi(def@4:5, implicitInit@1:1) |
| tst.js:6:10:6:10 | x = phi(phi@5:3, refine[guard: x is true]@6:10) |
| tst.js:6:10:6:10 | x = refine[guard: x is true](phi@6:10) |
| tst.js:6:10:6:10 | z = phi(def@5:3, def@7:5) |
| tst.js:7:5:7:7 | z++ |
| tst.js:11:1:11:1 | implicit initialization of x |
| tst.js:7:5:7:5 | z++ |
| tst.js:11:1:11:0 | implicit initialization of x |
| tst.js:11:12:11:12 | x |
| tst.js:12:3:12:2 | capture variable x |
| tst.js:15:3:15:8 | x = 42 |
| tst.js:18:1:18:1 | implicit initialization of x |
| tst.js:19:7:19:11 | x = 0 |
| tst.js:15:3:15:3 | x = 42 |
| tst.js:18:1:18:0 | implicit initialization of x |
| tst.js:19:7:19:7 | x = 0 |
| tst.js:20:3:20:2 | capture variable x |
| tst.js:20:3:20:2 | capture variable x |
| tst.js:20:13:20:16 | iter |
| tst.js:22:5:22:9 | capture variable x |
| tst.js:25:7:25:18 | gen = iter() |
| tst.js:27:3:27:5 | ++x |
| tst.js:31:1:31:1 | implicit initialization of x |
| tst.js:31:1:31:1 | implicit initialization of y |
| tst.js:25:7:25:9 | gen = iter() |
| tst.js:27:5:27:5 | ++x |
| tst.js:31:1:31:0 | capture variable x |
| tst.js:31:1:31:0 | implicit initialization of x |
| tst.js:31:1:31:0 | implicit initialization of y |
| tst.js:32:3:32:2 | capture variable x |
| tst.js:32:3:32:2 | capture variable y |
| tst.js:32:12:32:16 | inner |
| tst.js:34:5:34:10 | x += y |
| tst.js:36:7:36:11 | x = 0 |
| tst.js:36:14:36:18 | y = 1 |
| tst.js:37:3:37:9 | capture variable x |
| tst.js:41:1:41:1 | implicit initialization of x |
| tst.js:42:7:42:11 | x = 0 |
| tst.js:42:14:42:18 | y = 1 |
| tst.js:43:7:43:37 | inc = ( ... */ ++x |
| tst.js:34:5:34:5 | x += y |
| tst.js:36:7:36:7 | x = 0 |
| tst.js:36:14:36:14 | y = 1 |
| tst.js:41:1:41:0 | capture variable x |
| tst.js:41:1:41:0 | implicit initialization of x |
| tst.js:42:7:42:7 | x = 0 |
| tst.js:42:14:42:14 | y = 1 |
| tst.js:43:7:43:9 | inc = ( ... */ ++x |
| tst.js:43:13:43:12 | capture variable x |
| tst.js:43:35:43:37 | ++x |
| tst.js:44:3:44:11 | capture variable x |
| tst.js:43:37:43:37 | ++x |

View File

@@ -6,26 +6,26 @@ concatenation
| html-concat.js:3:14:3:26 | `<B>${x}</B>` |
| html-concat.js:5:21:5:47 | `Hey <s ... trong>` |
| html-concat.js:7:18:10:24 | `\\n H ... m!</i>` |
| html-concat.js:13:3:13:18 | buffer |
| html-concat.js:13:3:13:8 | buffer |
| html-concat.js:13:3:13:18 | buffer += '<li>' |
| html-concat.js:14:3:14:13 | buffer |
| html-concat.js:14:3:14:8 | buffer |
| html-concat.js:14:3:14:13 | buffer += x |
| html-concat.js:15:3:15:15 | buffer |
| html-concat.js:15:3:15:8 | buffer |
| html-concat.js:15:3:15:15 | buffer += '!' |
| tst.js:3:3:3:12 | x |
| tst.js:3:3:3:3 | x |
| tst.js:3:3:3:12 | x += "two" |
| tst.js:4:3:4:14 | x |
| tst.js:4:3:4:3 | x |
| tst.js:4:3:4:14 | x += "three" |
| tst.js:5:3:5:13 | x |
| tst.js:5:3:5:3 | x |
| tst.js:5:3:5:13 | x += "four" |
| tst.js:12:5:12:26 | x |
| tst.js:12:5:12:5 | x |
| tst.js:12:5:12:26 | x += "o ... + "two" |
| tst.js:12:10:12:18 | "one" + y |
| tst.js:12:10:12:26 | "one" + y + "two" |
| tst.js:14:3:14:13 | x |
| tst.js:14:3:14:3 | x |
| tst.js:14:3:14:13 | x += "last" |
| tst.js:19:11:19:23 | "one" + "two" |
| tst.js:20:3:20:25 | x |
| tst.js:20:3:20:3 | x |
| tst.js:20:3:20:25 | x += (" ... "four") |
| tst.js:20:9:20:24 | "three" + "four" |
| tst.js:21:10:21:19 | x + "five" |
@@ -43,9 +43,9 @@ concatenation
| tst.js:61:10:61:34 | `first ... } last` |
| tst.js:77:15:77:37 | ["one", ... three"] |
| tst.js:79:12:79:23 | array.join() |
| tst.js:87:5:87:14 | x |
| tst.js:87:5:87:5 | x |
| tst.js:87:5:87:14 | x += 'two' |
| tst.js:89:3:89:14 | x |
| tst.js:89:3:89:3 | x |
| tst.js:89:3:89:14 | x += 'three' |
| tst.js:95:7:95:30 | x.conca ... three') |
| tst.js:104:11:104:23 | "foo" + "bar" |
@@ -262,31 +262,31 @@ concatenationNode
| html-concat.js:8:13:8:13 | x |
| html-concat.js:8:15:10:23 | .\\n \\n ... um!</i> |
| html-concat.js:13:3:13:8 | buffer |
| html-concat.js:13:3:13:18 | buffer |
| html-concat.js:13:3:13:8 | buffer |
| html-concat.js:13:3:13:18 | buffer += '<li>' |
| html-concat.js:13:13:13:18 | '<li>' |
| html-concat.js:14:3:14:8 | buffer |
| html-concat.js:14:3:14:13 | buffer |
| html-concat.js:14:3:14:8 | buffer |
| html-concat.js:14:3:14:13 | buffer += x |
| html-concat.js:14:13:14:13 | x |
| html-concat.js:15:3:15:8 | buffer |
| html-concat.js:15:3:15:15 | buffer |
| html-concat.js:15:3:15:8 | buffer |
| html-concat.js:15:3:15:15 | buffer += '!' |
| html-concat.js:15:13:15:15 | '!' |
| tst.js:3:3:3:3 | x |
| tst.js:3:3:3:12 | x |
| tst.js:3:3:3:3 | x |
| tst.js:3:3:3:12 | x += "two" |
| tst.js:3:8:3:12 | "two" |
| tst.js:4:3:4:3 | x |
| tst.js:4:3:4:14 | x |
| tst.js:4:3:4:3 | x |
| tst.js:4:3:4:14 | x += "three" |
| tst.js:4:8:4:14 | "three" |
| tst.js:5:3:5:3 | x |
| tst.js:5:3:5:13 | x |
| tst.js:5:3:5:3 | x |
| tst.js:5:3:5:13 | x += "four" |
| tst.js:5:8:5:13 | "four" |
| tst.js:12:5:12:5 | x |
| tst.js:12:5:12:26 | x |
| tst.js:12:5:12:5 | x |
| tst.js:12:5:12:26 | x += "o ... + "two" |
| tst.js:12:10:12:14 | "one" |
| tst.js:12:10:12:18 | "one" + y |
@@ -294,14 +294,14 @@ concatenationNode
| tst.js:12:18:12:18 | y |
| tst.js:12:22:12:26 | "two" |
| tst.js:14:3:14:3 | x |
| tst.js:14:3:14:13 | x |
| tst.js:14:3:14:3 | x |
| tst.js:14:3:14:13 | x += "last" |
| tst.js:14:8:14:13 | "last" |
| tst.js:19:11:19:15 | "one" |
| tst.js:19:11:19:23 | "one" + "two" |
| tst.js:19:19:19:23 | "two" |
| tst.js:20:3:20:3 | x |
| tst.js:20:3:20:25 | x |
| tst.js:20:3:20:3 | x |
| tst.js:20:3:20:25 | x += (" ... "four") |
| tst.js:20:8:20:25 | ("three" + "four") |
| tst.js:20:9:20:15 | "three" |
@@ -349,11 +349,11 @@ concatenationNode
| tst.js:77:30:77:36 | "three" |
| tst.js:79:12:79:23 | array.join() |
| tst.js:87:5:87:5 | x |
| tst.js:87:5:87:14 | x |
| tst.js:87:5:87:5 | x |
| tst.js:87:5:87:14 | x += 'two' |
| tst.js:87:10:87:14 | 'two' |
| tst.js:89:3:89:3 | x |
| tst.js:89:3:89:14 | x |
| tst.js:89:3:89:3 | x |
| tst.js:89:3:89:14 | x += 'three' |
| tst.js:89:8:89:14 | 'three' |
| tst.js:95:7:95:7 | x |
@@ -396,46 +396,46 @@ operand
| html-concat.js:7:18:10:24 | `\\n H ... m!</i>` | 0 | html-concat.js:7:19:8:10 | \\n Hello |
| html-concat.js:7:18:10:24 | `\\n H ... m!</i>` | 1 | html-concat.js:8:13:8:13 | x |
| html-concat.js:7:18:10:24 | `\\n H ... m!</i>` | 2 | html-concat.js:8:15:10:23 | .\\n \\n ... um!</i> |
| html-concat.js:13:3:13:18 | buffer | 0 | html-concat.js:13:3:13:8 | buffer |
| html-concat.js:13:3:13:18 | buffer | 1 | html-concat.js:13:13:13:18 | '<li>' |
| html-concat.js:13:3:13:8 | buffer | 0 | html-concat.js:13:3:13:8 | buffer |
| html-concat.js:13:3:13:8 | buffer | 1 | html-concat.js:13:13:13:18 | '<li>' |
| html-concat.js:13:3:13:18 | buffer += '<li>' | 0 | html-concat.js:13:3:13:8 | buffer |
| html-concat.js:13:3:13:18 | buffer += '<li>' | 1 | html-concat.js:13:13:13:18 | '<li>' |
| html-concat.js:14:3:14:13 | buffer | 0 | html-concat.js:14:3:14:8 | buffer |
| html-concat.js:14:3:14:13 | buffer | 1 | html-concat.js:14:13:14:13 | x |
| html-concat.js:14:3:14:8 | buffer | 0 | html-concat.js:14:3:14:8 | buffer |
| html-concat.js:14:3:14:8 | buffer | 1 | html-concat.js:14:13:14:13 | x |
| html-concat.js:14:3:14:13 | buffer += x | 0 | html-concat.js:14:3:14:8 | buffer |
| html-concat.js:14:3:14:13 | buffer += x | 1 | html-concat.js:14:13:14:13 | x |
| html-concat.js:15:3:15:15 | buffer | 0 | html-concat.js:15:3:15:8 | buffer |
| html-concat.js:15:3:15:15 | buffer | 1 | html-concat.js:15:13:15:15 | '!' |
| html-concat.js:15:3:15:8 | buffer | 0 | html-concat.js:15:3:15:8 | buffer |
| html-concat.js:15:3:15:8 | buffer | 1 | html-concat.js:15:13:15:15 | '!' |
| html-concat.js:15:3:15:15 | buffer += '!' | 0 | html-concat.js:15:3:15:8 | buffer |
| html-concat.js:15:3:15:15 | buffer += '!' | 1 | html-concat.js:15:13:15:15 | '!' |
| tst.js:3:3:3:12 | x | 0 | tst.js:3:3:3:3 | x |
| tst.js:3:3:3:12 | x | 1 | tst.js:3:8:3:12 | "two" |
| tst.js:3:3:3:3 | x | 0 | tst.js:3:3:3:3 | x |
| tst.js:3:3:3:3 | x | 1 | tst.js:3:8:3:12 | "two" |
| tst.js:3:3:3:12 | x += "two" | 0 | tst.js:3:3:3:3 | x |
| tst.js:3:3:3:12 | x += "two" | 1 | tst.js:3:8:3:12 | "two" |
| tst.js:4:3:4:14 | x | 0 | tst.js:4:3:4:3 | x |
| tst.js:4:3:4:14 | x | 1 | tst.js:4:8:4:14 | "three" |
| tst.js:4:3:4:3 | x | 0 | tst.js:4:3:4:3 | x |
| tst.js:4:3:4:3 | x | 1 | tst.js:4:8:4:14 | "three" |
| tst.js:4:3:4:14 | x += "three" | 0 | tst.js:4:3:4:3 | x |
| tst.js:4:3:4:14 | x += "three" | 1 | tst.js:4:8:4:14 | "three" |
| tst.js:5:3:5:13 | x | 0 | tst.js:5:3:5:3 | x |
| tst.js:5:3:5:13 | x | 1 | tst.js:5:8:5:13 | "four" |
| tst.js:5:3:5:3 | x | 0 | tst.js:5:3:5:3 | x |
| tst.js:5:3:5:3 | x | 1 | tst.js:5:8:5:13 | "four" |
| tst.js:5:3:5:13 | x += "four" | 0 | tst.js:5:3:5:3 | x |
| tst.js:5:3:5:13 | x += "four" | 1 | tst.js:5:8:5:13 | "four" |
| tst.js:12:5:12:26 | x | 0 | tst.js:12:5:12:5 | x |
| tst.js:12:5:12:26 | x | 1 | tst.js:12:10:12:26 | "one" + y + "two" |
| tst.js:12:5:12:5 | x | 0 | tst.js:12:5:12:5 | x |
| tst.js:12:5:12:5 | x | 1 | tst.js:12:10:12:26 | "one" + y + "two" |
| tst.js:12:5:12:26 | x += "o ... + "two" | 0 | tst.js:12:5:12:5 | x |
| tst.js:12:5:12:26 | x += "o ... + "two" | 1 | tst.js:12:10:12:26 | "one" + y + "two" |
| tst.js:12:10:12:18 | "one" + y | 0 | tst.js:12:10:12:14 | "one" |
| tst.js:12:10:12:18 | "one" + y | 1 | tst.js:12:18:12:18 | y |
| tst.js:12:10:12:26 | "one" + y + "two" | 0 | tst.js:12:10:12:18 | "one" + y |
| tst.js:12:10:12:26 | "one" + y + "two" | 1 | tst.js:12:22:12:26 | "two" |
| tst.js:14:3:14:13 | x | 0 | tst.js:14:3:14:3 | x |
| tst.js:14:3:14:13 | x | 1 | tst.js:14:8:14:13 | "last" |
| tst.js:14:3:14:3 | x | 0 | tst.js:14:3:14:3 | x |
| tst.js:14:3:14:3 | x | 1 | tst.js:14:8:14:13 | "last" |
| tst.js:14:3:14:13 | x += "last" | 0 | tst.js:14:3:14:3 | x |
| tst.js:14:3:14:13 | x += "last" | 1 | tst.js:14:8:14:13 | "last" |
| tst.js:19:11:19:23 | "one" + "two" | 0 | tst.js:19:11:19:15 | "one" |
| tst.js:19:11:19:23 | "one" + "two" | 1 | tst.js:19:19:19:23 | "two" |
| tst.js:20:3:20:25 | x | 0 | tst.js:20:3:20:3 | x |
| tst.js:20:3:20:25 | x | 1 | tst.js:20:8:20:25 | ("three" + "four") |
| tst.js:20:3:20:3 | x | 0 | tst.js:20:3:20:3 | x |
| tst.js:20:3:20:3 | x | 1 | tst.js:20:8:20:25 | ("three" + "four") |
| tst.js:20:3:20:25 | x += (" ... "four") | 0 | tst.js:20:3:20:3 | x |
| tst.js:20:3:20:25 | x += (" ... "four") | 1 | tst.js:20:8:20:25 | ("three" + "four") |
| tst.js:20:9:20:24 | "three" + "four" | 0 | tst.js:20:9:20:15 | "three" |
@@ -472,12 +472,12 @@ operand
| tst.js:77:15:77:37 | ["one", ... three"] | 1 | tst.js:77:23:77:27 | "two" |
| tst.js:77:15:77:37 | ["one", ... three"] | 2 | tst.js:77:30:77:36 | "three" |
| tst.js:79:12:79:23 | array.join() | 0 | tst.js:77:15:77:37 | ["one", ... three"] |
| tst.js:87:5:87:14 | x | 0 | tst.js:87:5:87:5 | x |
| tst.js:87:5:87:14 | x | 1 | tst.js:87:10:87:14 | 'two' |
| tst.js:87:5:87:5 | x | 0 | tst.js:87:5:87:5 | x |
| tst.js:87:5:87:5 | x | 1 | tst.js:87:10:87:14 | 'two' |
| tst.js:87:5:87:14 | x += 'two' | 0 | tst.js:87:5:87:5 | x |
| tst.js:87:5:87:14 | x += 'two' | 1 | tst.js:87:10:87:14 | 'two' |
| tst.js:89:3:89:14 | x | 0 | tst.js:89:3:89:3 | x |
| tst.js:89:3:89:14 | x | 1 | tst.js:89:8:89:14 | 'three' |
| tst.js:89:3:89:3 | x | 0 | tst.js:89:3:89:3 | x |
| tst.js:89:3:89:3 | x | 1 | tst.js:89:8:89:14 | 'three' |
| tst.js:89:3:89:14 | x += 'three' | 0 | tst.js:89:3:89:3 | x |
| tst.js:89:3:89:14 | x += 'three' | 1 | tst.js:89:8:89:14 | 'three' |
| tst.js:95:7:95:30 | x.conca ... three') | 0 | tst.js:95:7:95:7 | x |
@@ -553,7 +553,7 @@ htmlRoot
| html-concat.js:3:14:3:26 | `<B>${x}</B>` |
| html-concat.js:5:21:5:47 | `Hey <s ... trong>` |
| html-concat.js:7:18:10:24 | `\\n H ... m!</i>` |
| html-concat.js:13:3:13:18 | buffer |
| html-concat.js:13:3:13:8 | buffer |
| html-concat.js:13:3:13:18 | buffer += '<li>' |
htmlLeaf
| html-concat.js:2:15:2:17 | <b> |

View File

@@ -1,7 +1,7 @@
browserObject
| electron.js:3:5:3:48 | bw |
| electron.js:3:5:3:6 | bw |
| electron.js:3:10:3:48 | new Bro ... s: {}}) |
| electron.js:4:5:4:46 | bv |
| electron.js:4:5:4:6 | bv |
| electron.js:4:10:4:46 | new Bro ... s: {}}) |
| electron.js:35:1:37:1 | return of function foo |
| electron.js:35:14:35:14 | x |
@@ -11,7 +11,7 @@ browserObject
| electron.js:39:5:39:6 | bw |
| electron.js:40:1:40:7 | foo(bv) |
| electron.js:40:5:40:6 | bv |
| electron.js:62:7:62:59 | win |
| electron.js:62:7:62:9 | win |
| electron.js:62:13:62:59 | new Bro ... 1500 }) |
| electron.js:63:3:63:5 | win |
| electron.js:65:18:65:20 | win |

View File

@@ -225,7 +225,7 @@ reactComponentRef
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:7:9:7:12 | this |
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:10:23:10:22 | this |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:2:16:2:15 | this |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:3:13:3:22 | cmp |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:3:13:3:15 | cmp |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:3:19:3:22 | this |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:4:9:4:11 | cmp |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:6:9:6:11 | cmp |
@@ -241,7 +241,7 @@ reactComponentRef
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | statePropertyWrites.js:40:20:40:19 | this |
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | thisAccesses.js:2:17:2:16 | this |
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | thisAccesses.js:3:9:3:12 | this |
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | thisAccesses.js:5:13:5:22 | dis |
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | thisAccesses.js:5:13:5:15 | dis |
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | thisAccesses.js:5:19:5:22 | this |
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | thisAccesses.js:6:9:6:11 | dis |
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | thisAccesses.js:8:10:8:9 | this |

View File

@@ -67,7 +67,7 @@ test_HeaderAccess
test_ResponseExpr
| src/koa.js:12:3:12:15 | this.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
| src/koa.js:14:3:14:14 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
| src/koa.js:15:7:15:24 | rsp | src/koa.js:10:10:28:1 | functio ... az');\\n} |
| src/koa.js:15:7:15:9 | rsp | src/koa.js:10:10:28:1 | functio ... az');\\n} |
| src/koa.js:15:13:15:24 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
| src/koa.js:16:3:16:5 | rsp | src/koa.js:10:10:28:1 | functio ... az');\\n} |
| src/koa.js:18:3:18:14 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
@@ -190,7 +190,7 @@ test_RouteHandler_getARequestExpr
test_RouteHandler_getAResponseExpr
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:12:3:12:15 | this.response |
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:14:3:14:14 | ctx.response |
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:7:15:24 | rsp |
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:7:15:9 | rsp |
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:13:15:24 | ctx.response |
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:16:3:16:5 | rsp |
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:18:3:18:14 | ctx.response |

View File

@@ -12,20 +12,20 @@
| tst-UntrustedDataToExternalAPI.js:41:7:41:8 | {} | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:41:7:41:8 | {} | Call to lodash.merge() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
| tst-UntrustedDataToExternalAPI.js:41:11:45:1 | { // $ ... usted\\n} | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:41:11:45:1 | { // $ ... usted\\n} | Call to lodash.merge() [param 1] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
edges
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:7:16:7:24 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:8:31:8:39 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:9:18:9:26 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:10:19:10:27 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:11:20:11:28 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:15:16:15:24 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:33:14:33:22 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:34:34:34:42 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:42:8:42:16 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:43:8:43:16 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:44:8:44:16 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:7:16:7:24 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:8:31:8:39 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:9:18:9:26 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:10:19:10:27 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:11:20:11:28 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:15:16:15:24 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:33:14:33:22 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:34:34:34:42 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:42:8:42:16 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:43:8:43:16 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | tst-UntrustedDataToExternalAPI.js:44:8:44:16 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | provenance | |
| tst-UntrustedDataToExternalAPI.js:10:19:10:27 | untrusted | tst-UntrustedDataToExternalAPI.js:10:13:10:33 | ['x', u ... d, 'y'] | provenance | |
| tst-UntrustedDataToExternalAPI.js:14:12:16:9 | {\\n ... } [z] | tst-UntrustedDataToExternalAPI.js:13:8:17:5 | {\\n ... }\\n } | provenance | |
| tst-UntrustedDataToExternalAPI.js:15:16:15:24 | untrusted | tst-UntrustedDataToExternalAPI.js:14:12:16:9 | {\\n ... } [z] | provenance | |
@@ -39,7 +39,7 @@ edges
| tst-UntrustedDataToExternalAPI.js:44:8:44:16 | untrusted | tst-UntrustedDataToExternalAPI.js:41:11:45:1 | { // $ ... usted\\n} | provenance | |
| tst-UntrustedDataToExternalAPI.js:44:8:44:16 | untrusted | tst-UntrustedDataToExternalAPI.js:41:11:45:1 | { // $ ... usted\\n} [z] | provenance | |
nodes
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | semmle.label | untrusted |
| tst-UntrustedDataToExternalAPI.js:3:5:3:13 | untrusted | semmle.label | untrusted |
| tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | semmle.label | window.name |
| tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | semmle.label | untrusted |
| tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | semmle.label | untrusted |

View File

@@ -10,41 +10,41 @@
| ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:35:26:35:29 | name | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:35:26:35:29 | name | file system operation |
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | file system operation |
edges
| ZipSlipBad2.js:5:9:5:46 | fileName | ZipSlipBad2.js:6:22:6:29 | fileName | provenance | |
| ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | ZipSlipBad2.js:5:9:5:46 | fileName | provenance | |
| ZipSlipBad2.js:5:9:5:16 | fileName | ZipSlipBad2.js:6:22:6:29 | fileName | provenance | |
| ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | ZipSlipBad2.js:5:9:5:16 | fileName | provenance | |
| ZipSlipBad2.js:5:37:5:46 | entry.path | ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | provenance | Config |
| ZipSlipBad.js:7:11:7:31 | fileName | ZipSlipBad.js:8:37:8:44 | fileName | provenance | |
| ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:7:11:7:31 | fileName | provenance | |
| ZipSlipBad.js:15:11:15:31 | fileName | ZipSlipBad.js:16:30:16:37 | fileName | provenance | |
| ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:15:11:15:31 | fileName | provenance | |
| ZipSlipBad.js:22:11:22:31 | fileName | ZipSlipBad.js:23:28:23:35 | fileName | provenance | |
| ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:22:11:22:31 | fileName | provenance | |
| ZipSlipBad.js:7:11:7:18 | fileName | ZipSlipBad.js:8:37:8:44 | fileName | provenance | |
| ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:7:11:7:18 | fileName | provenance | |
| ZipSlipBad.js:15:11:15:18 | fileName | ZipSlipBad.js:16:30:16:37 | fileName | provenance | |
| ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:15:11:15:18 | fileName | provenance | |
| ZipSlipBad.js:22:11:22:18 | fileName | ZipSlipBad.js:23:28:23:35 | fileName | provenance | |
| ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:22:11:22:18 | fileName | provenance | |
| ZipSlipBad.js:30:14:30:17 | name | ZipSlipBad.js:31:26:31:29 | name | provenance | |
| ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:35:26:35:29 | name | provenance | |
| ZipSlipBadUnzipper.js:7:9:7:29 | fileName | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | provenance | |
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:7:9:7:29 | fileName | provenance | |
| ZipSlipBadUnzipper.js:7:9:7:16 | fileName | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | provenance | |
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:7:9:7:16 | fileName | provenance | |
nodes
| AdmZipBad.js:6:24:6:41 | zipEntry.entryName | semmle.label | zipEntry.entryName |
| TarSlipBad.js:6:36:6:46 | header.name | semmle.label | header.name |
| TarSlipBad.js:9:17:9:31 | header.linkname | semmle.label | header.linkname |
| ZipSlipBad2.js:5:9:5:46 | fileName | semmle.label | fileName |
| ZipSlipBad2.js:5:9:5:16 | fileName | semmle.label | fileName |
| ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | semmle.label | 'output ... ry.path |
| ZipSlipBad2.js:5:37:5:46 | entry.path | semmle.label | entry.path |
| ZipSlipBad2.js:6:22:6:29 | fileName | semmle.label | fileName |
| ZipSlipBad.js:7:11:7:31 | fileName | semmle.label | fileName |
| ZipSlipBad.js:7:11:7:18 | fileName | semmle.label | fileName |
| ZipSlipBad.js:7:22:7:31 | entry.path | semmle.label | entry.path |
| ZipSlipBad.js:8:37:8:44 | fileName | semmle.label | fileName |
| ZipSlipBad.js:15:11:15:31 | fileName | semmle.label | fileName |
| ZipSlipBad.js:15:11:15:18 | fileName | semmle.label | fileName |
| ZipSlipBad.js:15:22:15:31 | entry.path | semmle.label | entry.path |
| ZipSlipBad.js:16:30:16:37 | fileName | semmle.label | fileName |
| ZipSlipBad.js:22:11:22:31 | fileName | semmle.label | fileName |
| ZipSlipBad.js:22:11:22:18 | fileName | semmle.label | fileName |
| ZipSlipBad.js:22:22:22:31 | entry.path | semmle.label | entry.path |
| ZipSlipBad.js:23:28:23:35 | fileName | semmle.label | fileName |
| ZipSlipBad.js:30:14:30:17 | name | semmle.label | name |
| ZipSlipBad.js:31:26:31:29 | name | semmle.label | name |
| ZipSlipBad.js:34:16:34:19 | name | semmle.label | name |
| ZipSlipBad.js:35:26:35:29 | name | semmle.label | name |
| ZipSlipBadUnzipper.js:7:9:7:29 | fileName | semmle.label | fileName |
| ZipSlipBadUnzipper.js:7:9:7:16 | fileName | semmle.label | fileName |
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | semmle.label | entry.path |
| ZipSlipBadUnzipper.js:8:37:8:44 | fileName | semmle.label | fileName |
subpaths

View File

@@ -10,67 +10,67 @@
| tst.js:24:28:24:30 | obj | tst.js:8:26:8:49 | req.que ... rameter | tst.js:24:28:24:30 | obj | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
| tst.js:29:28:29:42 | JSON.parse(str) | tst.js:8:26:8:49 | req.que ... rameter | tst.js:29:28:29:42 | JSON.parse(str) | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
edges
| tst2.js:6:9:6:46 | bodyParameter | tst2.js:7:28:7:40 | bodyParameter | provenance | |
| tst2.js:6:9:6:21 | bodyParameter | tst2.js:7:28:7:40 | bodyParameter | provenance | |
| tst2.js:6:25:6:32 | req.body | tst2.js:6:25:6:46 | req.bod ... rameter | provenance | Config |
| tst2.js:6:25:6:46 | req.bod ... rameter | tst2.js:6:9:6:46 | bodyParameter | provenance | |
| tst2.js:26:9:26:46 | bodyParameter | tst2.js:27:28:27:40 | bodyParameter | provenance | |
| tst2.js:6:25:6:46 | req.bod ... rameter | tst2.js:6:9:6:21 | bodyParameter | provenance | |
| tst2.js:26:9:26:21 | bodyParameter | tst2.js:27:28:27:40 | bodyParameter | provenance | |
| tst2.js:26:25:26:32 | req.body | tst2.js:26:25:26:46 | req.bod ... rameter | provenance | Config |
| tst2.js:26:25:26:46 | req.bod ... rameter | tst2.js:26:9:26:46 | bodyParameter | provenance | |
| tst2.js:34:9:34:46 | bodyParameter | tst2.js:35:28:35:40 | bodyParameter | provenance | |
| tst2.js:26:25:26:46 | req.bod ... rameter | tst2.js:26:9:26:21 | bodyParameter | provenance | |
| tst2.js:34:9:34:21 | bodyParameter | tst2.js:35:28:35:40 | bodyParameter | provenance | |
| tst2.js:34:25:34:32 | req.body | tst2.js:34:25:34:46 | req.bod ... rameter | provenance | Config |
| tst2.js:34:25:34:46 | req.bod ... rameter | tst2.js:34:9:34:46 | bodyParameter | provenance | |
| tst2.js:42:9:42:46 | bodyParameter | tst2.js:43:28:43:40 | bodyParameter | provenance | |
| tst2.js:34:25:34:46 | req.bod ... rameter | tst2.js:34:9:34:21 | bodyParameter | provenance | |
| tst2.js:42:9:42:21 | bodyParameter | tst2.js:43:28:43:40 | bodyParameter | provenance | |
| tst2.js:42:25:42:32 | req.body | tst2.js:42:25:42:46 | req.bod ... rameter | provenance | Config |
| tst2.js:42:25:42:46 | req.bod ... rameter | tst2.js:42:9:42:46 | bodyParameter | provenance | |
| tst2.js:51:9:51:46 | bodyParameter | tst2.js:52:28:52:40 | bodyParameter | provenance | |
| tst2.js:42:25:42:46 | req.bod ... rameter | tst2.js:42:9:42:21 | bodyParameter | provenance | |
| tst2.js:51:9:51:21 | bodyParameter | tst2.js:52:28:52:40 | bodyParameter | provenance | |
| tst2.js:51:25:51:32 | req.body | tst2.js:51:25:51:46 | req.bod ... rameter | provenance | Config |
| tst2.js:51:25:51:46 | req.bod ... rameter | tst2.js:51:9:51:46 | bodyParameter | provenance | |
| tst.js:7:9:7:46 | bodyParameter | tst.js:10:28:10:40 | bodyParameter | provenance | |
| tst2.js:51:25:51:46 | req.bod ... rameter | tst2.js:51:9:51:21 | bodyParameter | provenance | |
| tst.js:7:9:7:21 | bodyParameter | tst.js:10:28:10:40 | bodyParameter | provenance | |
| tst.js:7:25:7:32 | req.body | tst.js:7:25:7:46 | req.bod ... rameter | provenance | Config |
| tst.js:7:25:7:46 | req.bod ... rameter | tst.js:7:9:7:46 | bodyParameter | provenance | |
| tst.js:8:9:8:49 | queryParameter | tst.js:11:28:11:41 | queryParameter | provenance | |
| tst.js:8:9:8:49 | queryParameter | tst.js:20:19:20:32 | queryParameter | provenance | |
| tst.js:8:26:8:49 | req.que ... rameter | tst.js:8:9:8:49 | queryParameter | provenance | |
| tst.js:7:25:7:46 | req.bod ... rameter | tst.js:7:9:7:21 | bodyParameter | provenance | |
| tst.js:8:9:8:22 | queryParameter | tst.js:11:28:11:41 | queryParameter | provenance | |
| tst.js:8:9:8:22 | queryParameter | tst.js:20:19:20:32 | queryParameter | provenance | |
| tst.js:8:26:8:49 | req.que ... rameter | tst.js:8:9:8:22 | queryParameter | provenance | |
| tst.js:20:19:20:32 | queryParameter | tst.js:23:24:23:26 | obj | provenance | |
| tst.js:23:24:23:26 | obj | tst.js:24:28:24:30 | obj | provenance | |
| tst.js:23:24:23:26 | obj | tst.js:26:17:26:19 | obj | provenance | |
| tst.js:26:11:26:24 | str | tst.js:29:39:29:41 | str | provenance | |
| tst.js:26:11:26:13 | str | tst.js:29:39:29:41 | str | provenance | |
| tst.js:26:17:26:19 | obj | tst.js:26:17:26:24 | obj + "" | provenance | Config |
| tst.js:26:17:26:24 | obj + "" | tst.js:26:11:26:24 | str | provenance | |
| tst.js:26:17:26:24 | obj + "" | tst.js:26:11:26:13 | str | provenance | |
| tst.js:29:39:29:41 | str | tst.js:29:28:29:42 | JSON.parse(str) | provenance | Config |
nodes
| routes.js:2:23:2:30 | req.body | semmle.label | req.body |
| tst2.js:6:9:6:46 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:6:9:6:21 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:6:25:6:32 | req.body | semmle.label | req.body |
| tst2.js:6:25:6:46 | req.bod ... rameter | semmle.label | req.bod ... rameter |
| tst2.js:7:28:7:40 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:26:9:26:46 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:26:9:26:21 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:26:25:26:32 | req.body | semmle.label | req.body |
| tst2.js:26:25:26:46 | req.bod ... rameter | semmle.label | req.bod ... rameter |
| tst2.js:27:28:27:40 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:34:9:34:46 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:34:9:34:21 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:34:25:34:32 | req.body | semmle.label | req.body |
| tst2.js:34:25:34:46 | req.bod ... rameter | semmle.label | req.bod ... rameter |
| tst2.js:35:28:35:40 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:42:9:42:46 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:42:9:42:21 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:42:25:42:32 | req.body | semmle.label | req.body |
| tst2.js:42:25:42:46 | req.bod ... rameter | semmle.label | req.bod ... rameter |
| tst2.js:43:28:43:40 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:51:9:51:46 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:51:9:51:21 | bodyParameter | semmle.label | bodyParameter |
| tst2.js:51:25:51:32 | req.body | semmle.label | req.body |
| tst2.js:51:25:51:46 | req.bod ... rameter | semmle.label | req.bod ... rameter |
| tst2.js:52:28:52:40 | bodyParameter | semmle.label | bodyParameter |
| tst.js:7:9:7:46 | bodyParameter | semmle.label | bodyParameter |
| tst.js:7:9:7:21 | bodyParameter | semmle.label | bodyParameter |
| tst.js:7:25:7:32 | req.body | semmle.label | req.body |
| tst.js:7:25:7:46 | req.bod ... rameter | semmle.label | req.bod ... rameter |
| tst.js:8:9:8:49 | queryParameter | semmle.label | queryParameter |
| tst.js:8:9:8:22 | queryParameter | semmle.label | queryParameter |
| tst.js:8:26:8:49 | req.que ... rameter | semmle.label | req.que ... rameter |
| tst.js:10:28:10:40 | bodyParameter | semmle.label | bodyParameter |
| tst.js:11:28:11:41 | queryParameter | semmle.label | queryParameter |
| tst.js:20:19:20:32 | queryParameter | semmle.label | queryParameter |
| tst.js:23:24:23:26 | obj | semmle.label | obj |
| tst.js:24:28:24:30 | obj | semmle.label | obj |
| tst.js:26:11:26:24 | str | semmle.label | str |
| tst.js:26:11:26:13 | str | semmle.label | str |
| tst.js:26:17:26:19 | obj | semmle.label | obj |
| tst.js:26:17:26:24 | obj + "" | semmle.label | obj + "" |
| tst.js:29:28:29:42 | JSON.parse(str) | semmle.label | JSON.parse(str) |

View File

@@ -84,32 +84,32 @@
| other.js:34:44:34:46 | cmd | other.js:5:25:5:31 | req.url | other.js:34:44:34:46 | cmd | This command line depends on a $@. | other.js:5:25:5:31 | req.url | user-provided value |
| third-party-command-injection.js:6:21:6:27 | command | third-party-command-injection.js:5:20:5:26 | command | third-party-command-injection.js:6:21:6:27 | command | This command line depends on a $@. | third-party-command-injection.js:5:20:5:26 | command | user-provided value |
edges
| actions.js:8:9:8:57 | title | actions.js:9:16:9:20 | title | provenance | |
| actions.js:8:17:8:57 | github. ... t.title | actions.js:8:9:8:57 | title | provenance | |
| actions.js:8:9:8:13 | title | actions.js:9:16:9:20 | title | provenance | |
| actions.js:8:17:8:57 | github. ... t.title | actions.js:8:9:8:13 | title | provenance | |
| actions.js:9:16:9:20 | title | actions.js:9:8:9:22 | `echo ${title}` | provenance | |
| actions.js:18:9:18:63 | head_ref | actions.js:19:22:19:29 | head_ref | provenance | |
| actions.js:18:20:18:63 | github. ... ead.ref | actions.js:18:9:18:63 | head_ref | provenance | |
| actions.js:18:9:18:16 | head_ref | actions.js:19:22:19:29 | head_ref | provenance | |
| actions.js:18:20:18:63 | github. ... ead.ref | actions.js:18:9:18:16 | head_ref | provenance | |
| actions.js:19:22:19:29 | head_ref | actions.js:19:14:19:31 | `echo ${head_ref}` | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:17:13:17:15 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:18:17:18:19 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:19:17:19:19 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:20:21:20:23 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:21:14:21:16 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:22:18:22:20 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:23:13:23:15 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:25:21:25:23 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:39:26:39:28 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:43:15:43:17 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:48:15:48:17 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:48:15:48:17 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:53:15:53:17 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:56:54:56:56 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:56:54:56:56 | cmd | provenance | |
| child_process-test.js:6:9:6:49 | cmd | child_process-test.js:57:46:57:48 | cmd | provenance | |
| child_process-test.js:6:15:6:38 | url.par ... , true) | child_process-test.js:6:9:6:49 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:17:13:17:15 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:18:17:18:19 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:19:17:19:19 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:20:21:20:23 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:21:14:21:16 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:22:18:22:20 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:23:13:23:15 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:25:21:25:23 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:39:26:39:28 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:43:15:43:17 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:48:15:48:17 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:48:15:48:17 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:53:15:53:17 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:56:54:56:56 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:56:54:56:56 | cmd | provenance | |
| child_process-test.js:6:9:6:11 | cmd | child_process-test.js:57:46:57:48 | cmd | provenance | |
| child_process-test.js:6:15:6:38 | url.par ... , true) | child_process-test.js:6:9:6:11 | cmd | provenance | |
| child_process-test.js:6:15:6:38 | url.par ... , true) | child_process-test.js:6:15:6:49 | url.par ... ry.path | provenance | |
| child_process-test.js:6:15:6:38 | url.par ... , true) | child_process-test.js:6:15:6:49 | url.par ... ry.path | provenance | |
| child_process-test.js:6:15:6:49 | url.par ... ry.path | child_process-test.js:6:9:6:49 | cmd | provenance | |
| child_process-test.js:6:15:6:49 | url.par ... ry.path | child_process-test.js:6:9:6:11 | cmd | provenance | |
| child_process-test.js:6:25:6:31 | req.url | child_process-test.js:6:15:6:38 | url.par ... , true) | provenance | |
| child_process-test.js:25:21:25:23 | cmd | child_process-test.js:25:13:25:31 | "foo" + cmd + "bar" | provenance | |
| child_process-test.js:48:5:48:8 | [post update] args [1] | child_process-test.js:49:15:49:18 | args [1] | provenance | |
@@ -118,47 +118,47 @@ edges
| child_process-test.js:56:46:56:57 | ["bar", cmd] [1] | child_process-test.js:56:25:56:58 | ['/C', ... , cmd]) | provenance | |
| child_process-test.js:56:54:56:56 | cmd | child_process-test.js:56:46:56:57 | ["bar", cmd] [1] | provenance | |
| child_process-test.js:57:46:57:48 | cmd | child_process-test.js:57:25:57:49 | ['/C', ... at(cmd) | provenance | |
| child_process-test.js:73:9:73:49 | cmd | child_process-test.js:75:29:75:31 | cmd | provenance | |
| child_process-test.js:73:15:73:38 | url.par ... , true) | child_process-test.js:73:9:73:49 | cmd | provenance | |
| child_process-test.js:73:9:73:11 | cmd | child_process-test.js:75:29:75:31 | cmd | provenance | |
| child_process-test.js:73:15:73:38 | url.par ... , true) | child_process-test.js:73:9:73:11 | cmd | provenance | |
| child_process-test.js:73:25:73:31 | req.url | child_process-test.js:73:15:73:38 | url.par ... , true) | provenance | |
| child_process-test.js:94:21:94:30 | ctx.params | child_process-test.js:94:11:94:35 | "ping " ... ms.host | provenance | |
| command-line-libs.js:9:9:9:34 | args | command-line-libs.js:12:17:12:20 | args | provenance | |
| command-line-libs.js:9:9:9:34 | args | command-line-libs.js:23:29:23:32 | args | provenance | |
| command-line-libs.js:9:16:9:23 | req.body | command-line-libs.js:9:9:9:34 | args | provenance | |
| command-line-libs.js:9:9:9:12 | args | command-line-libs.js:12:17:12:20 | args | provenance | |
| command-line-libs.js:9:9:9:12 | args | command-line-libs.js:23:29:23:32 | args | provenance | |
| command-line-libs.js:9:16:9:23 | req.body | command-line-libs.js:9:9:9:12 | args | provenance | |
| command-line-libs.js:12:17:12:20 | args | command-line-libs.js:13:19:13:32 | program.opts() | provenance | |
| command-line-libs.js:12:17:12:20 | args | command-line-libs.js:15:8:15:18 | program.cmd | provenance | |
| command-line-libs.js:12:17:12:20 | args | command-line-libs.js:20:14:20:19 | script | provenance | |
| command-line-libs.js:13:9:13:32 | options | command-line-libs.js:14:8:14:14 | options | provenance | |
| command-line-libs.js:13:19:13:32 | program.opts() | command-line-libs.js:13:9:13:32 | options | provenance | |
| command-line-libs.js:13:9:13:15 | options | command-line-libs.js:14:8:14:14 | options | provenance | |
| command-line-libs.js:13:19:13:32 | program.opts() | command-line-libs.js:13:9:13:15 | options | provenance | |
| command-line-libs.js:14:8:14:14 | options | command-line-libs.js:14:8:14:18 | options.cmd | provenance | |
| command-line-libs.js:20:14:20:19 | script | command-line-libs.js:21:12:21:17 | script | provenance | |
| command-line-libs.js:23:29:23:32 | args | command-line-libs.js:20:14:20:19 | script | provenance | |
| command-line-libs.js:27:11:27:41 | argsArray | command-line-libs.js:28:53:28:61 | argsArray | provenance | |
| command-line-libs.js:27:23:27:30 | req.body | command-line-libs.js:27:11:27:41 | argsArray | provenance | |
| command-line-libs.js:28:11:28:64 | parsed | command-line-libs.js:29:10:29:15 | parsed | provenance | |
| command-line-libs.js:28:20:28:64 | arg({ ' ... rray }) | command-line-libs.js:28:11:28:64 | parsed | provenance | |
| command-line-libs.js:27:11:27:19 | argsArray | command-line-libs.js:28:53:28:61 | argsArray | provenance | |
| command-line-libs.js:27:23:27:30 | req.body | command-line-libs.js:27:11:27:19 | argsArray | provenance | |
| command-line-libs.js:28:11:28:16 | parsed | command-line-libs.js:29:10:29:15 | parsed | provenance | |
| command-line-libs.js:28:20:28:64 | arg({ ' ... rray }) | command-line-libs.js:28:11:28:16 | parsed | provenance | |
| command-line-libs.js:28:53:28:61 | argsArray | command-line-libs.js:28:20:28:64 | arg({ ' ... rray }) | provenance | |
| command-line-libs.js:29:10:29:15 | parsed | command-line-libs.js:29:10:29:24 | parsed['--cmd'] | provenance | |
| command-line-libs.js:35:9:35:83 | options | command-line-libs.js:37:8:37:14 | options | provenance | |
| command-line-libs.js:35:19:35:83 | command ... \| [] }) | command-line-libs.js:35:9:35:83 | options | provenance | |
| command-line-libs.js:35:9:35:15 | options | command-line-libs.js:37:8:37:14 | options | provenance | |
| command-line-libs.js:35:19:35:83 | command ... \| [] }) | command-line-libs.js:35:9:35:15 | options | provenance | |
| command-line-libs.js:35:62:35:69 | req.body | command-line-libs.js:35:19:35:83 | command ... \| [] }) | provenance | |
| command-line-libs.js:37:8:37:14 | options | command-line-libs.js:37:8:37:18 | options.cmd | provenance | |
| command-line-libs.js:42:9:42:34 | args | command-line-libs.js:43:24:43:27 | args | provenance | |
| command-line-libs.js:42:16:42:23 | req.body | command-line-libs.js:42:9:42:34 | args | provenance | |
| command-line-libs.js:43:9:47:12 | parsed | command-line-libs.js:49:8:49:13 | parsed | provenance | |
| command-line-libs.js:42:9:42:12 | args | command-line-libs.js:43:24:43:27 | args | provenance | |
| command-line-libs.js:42:16:42:23 | req.body | command-line-libs.js:42:9:42:12 | args | provenance | |
| command-line-libs.js:43:9:43:14 | parsed | command-line-libs.js:49:8:49:13 | parsed | provenance | |
| command-line-libs.js:43:18:43:28 | yargs(args) | command-line-libs.js:43:18:47:4 | yargs(a ... ue\\n }) | provenance | |
| command-line-libs.js:43:18:47:4 | yargs(a ... ue\\n }) | command-line-libs.js:43:18:47:12 | yargs(a ... parse() | provenance | |
| command-line-libs.js:43:18:47:12 | yargs(a ... parse() | command-line-libs.js:43:9:47:12 | parsed | provenance | |
| command-line-libs.js:43:18:47:12 | yargs(a ... parse() | command-line-libs.js:43:9:43:14 | parsed | provenance | |
| command-line-libs.js:43:24:43:27 | args | command-line-libs.js:43:18:43:28 | yargs(args) | provenance | |
| command-line-libs.js:49:8:49:13 | parsed | command-line-libs.js:49:8:49:17 | parsed.cmd | provenance | |
| exec-sh2.js:9:17:9:23 | command | exec-sh2.js:10:40:10:46 | command | provenance | |
| exec-sh2.js:14:9:14:49 | cmd | exec-sh2.js:15:12:15:14 | cmd | provenance | |
| exec-sh2.js:14:15:14:38 | url.par ... , true) | exec-sh2.js:14:9:14:49 | cmd | provenance | |
| exec-sh2.js:14:9:14:11 | cmd | exec-sh2.js:15:12:15:14 | cmd | provenance | |
| exec-sh2.js:14:15:14:38 | url.par ... , true) | exec-sh2.js:14:9:14:11 | cmd | provenance | |
| exec-sh2.js:14:25:14:31 | req.url | exec-sh2.js:14:15:14:38 | url.par ... , true) | provenance | |
| exec-sh2.js:15:12:15:14 | cmd | exec-sh2.js:9:17:9:23 | command | provenance | |
| exec-sh.js:13:17:13:23 | command | exec-sh.js:15:44:15:50 | command | provenance | |
| exec-sh.js:19:9:19:49 | cmd | exec-sh.js:20:12:20:14 | cmd | provenance | |
| exec-sh.js:19:15:19:38 | url.par ... , true) | exec-sh.js:19:9:19:49 | cmd | provenance | |
| exec-sh.js:19:9:19:11 | cmd | exec-sh.js:20:12:20:14 | cmd | provenance | |
| exec-sh.js:19:15:19:38 | url.par ... , true) | exec-sh.js:19:9:19:11 | cmd | provenance | |
| exec-sh.js:19:25:19:31 | req.url | exec-sh.js:19:15:19:38 | url.par ... , true) | provenance | |
| exec-sh.js:20:12:20:14 | cmd | exec-sh.js:13:17:13:23 | command | provenance | |
| execSeries.js:3:20:3:22 | arr [0] | execSeries.js:5:3:10:4 | (functi ... );\\n }) [arr, 0] | provenance | |
@@ -169,45 +169,45 @@ edges
| execSeries.js:13:19:13:26 | commands [0] | execSeries.js:14:13:14:20 | commands [0] | provenance | |
| execSeries.js:14:13:14:20 | commands [0] | execSeries.js:3:20:3:22 | arr [0] | provenance | |
| execSeries.js:14:24:14:30 | command | execSeries.js:14:41:14:47 | command | provenance | |
| execSeries.js:18:7:18:58 | cmd | execSeries.js:19:13:19:15 | cmd | provenance | |
| execSeries.js:18:13:18:47 | require ... , true) | execSeries.js:18:7:18:58 | cmd | provenance | |
| execSeries.js:18:7:18:9 | cmd | execSeries.js:19:13:19:15 | cmd | provenance | |
| execSeries.js:18:13:18:47 | require ... , true) | execSeries.js:18:7:18:9 | cmd | provenance | |
| execSeries.js:18:34:18:40 | req.url | execSeries.js:18:13:18:47 | require ... , true) | provenance | |
| execSeries.js:19:12:19:16 | [cmd] [0] | execSeries.js:13:19:13:26 | commands [0] | provenance | |
| execSeries.js:19:13:19:15 | cmd | execSeries.js:19:12:19:16 | [cmd] [0] | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:11:15:11:17 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:13:32:13:34 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:14:31:14:33 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:17:14:17:16 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:19:32:19:34 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:20:33:20:35 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:23:17:23:19 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:24:17:24:19 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:25:17:25:19 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:27:15:27:17 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:28:15:28:17 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:30:24:30:26 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:31:24:31:26 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:33:22:33:24 | cmd | provenance | |
| execa.js:6:9:6:54 | cmd | execa.js:34:22:34:24 | cmd | provenance | |
| execa.js:6:15:6:38 | url.par ... , true) | execa.js:6:9:6:54 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:11:15:11:17 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:13:32:13:34 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:14:31:14:33 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:17:14:17:16 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:19:32:19:34 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:20:33:20:35 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:23:17:23:19 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:24:17:24:19 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:25:17:25:19 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:27:15:27:17 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:28:15:28:17 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:30:24:30:26 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:31:24:31:26 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:33:22:33:24 | cmd | provenance | |
| execa.js:6:9:6:11 | cmd | execa.js:34:22:34:24 | cmd | provenance | |
| execa.js:6:15:6:38 | url.par ... , true) | execa.js:6:9:6:11 | cmd | provenance | |
| execa.js:6:25:6:31 | req.url | execa.js:6:15:6:38 | url.par ... , true) | provenance | |
| execa.js:7:9:7:53 | arg1 | execa.js:30:30:30:33 | arg1 | provenance | |
| execa.js:7:9:7:53 | arg1 | execa.js:31:30:31:33 | arg1 | provenance | |
| execa.js:7:9:7:53 | arg1 | execa.js:33:28:33:31 | arg1 | provenance | |
| execa.js:7:9:7:53 | arg1 | execa.js:34:28:34:31 | arg1 | provenance | |
| execa.js:7:16:7:39 | url.par ... , true) | execa.js:7:9:7:53 | arg1 | provenance | |
| execa.js:7:9:7:12 | arg1 | execa.js:30:30:30:33 | arg1 | provenance | |
| execa.js:7:9:7:12 | arg1 | execa.js:31:30:31:33 | arg1 | provenance | |
| execa.js:7:9:7:12 | arg1 | execa.js:33:28:33:31 | arg1 | provenance | |
| execa.js:7:9:7:12 | arg1 | execa.js:34:28:34:31 | arg1 | provenance | |
| execa.js:7:16:7:39 | url.par ... , true) | execa.js:7:9:7:12 | arg1 | provenance | |
| execa.js:7:26:7:32 | req.url | execa.js:7:16:7:39 | url.par ... , true) | provenance | |
| execa.js:8:9:8:53 | arg2 | execa.js:30:37:30:40 | arg2 | provenance | |
| execa.js:8:9:8:53 | arg2 | execa.js:31:37:31:40 | arg2 | provenance | |
| execa.js:8:9:8:53 | arg2 | execa.js:33:35:33:38 | arg2 | provenance | |
| execa.js:8:9:8:53 | arg2 | execa.js:34:35:34:38 | arg2 | provenance | |
| execa.js:8:16:8:39 | url.par ... , true) | execa.js:8:9:8:53 | arg2 | provenance | |
| execa.js:8:9:8:12 | arg2 | execa.js:30:37:30:40 | arg2 | provenance | |
| execa.js:8:9:8:12 | arg2 | execa.js:31:37:31:40 | arg2 | provenance | |
| execa.js:8:9:8:12 | arg2 | execa.js:33:35:33:38 | arg2 | provenance | |
| execa.js:8:9:8:12 | arg2 | execa.js:34:35:34:38 | arg2 | provenance | |
| execa.js:8:16:8:39 | url.par ... , true) | execa.js:8:9:8:12 | arg2 | provenance | |
| execa.js:8:26:8:32 | req.url | execa.js:8:16:8:39 | url.par ... , true) | provenance | |
| execa.js:9:9:9:53 | arg3 | execa.js:30:44:30:47 | arg3 | provenance | |
| execa.js:9:9:9:53 | arg3 | execa.js:31:44:31:47 | arg3 | provenance | |
| execa.js:9:9:9:53 | arg3 | execa.js:33:42:33:45 | arg3 | provenance | |
| execa.js:9:9:9:53 | arg3 | execa.js:34:42:34:45 | arg3 | provenance | |
| execa.js:9:16:9:39 | url.par ... , true) | execa.js:9:9:9:53 | arg3 | provenance | |
| execa.js:9:9:9:12 | arg3 | execa.js:30:44:30:47 | arg3 | provenance | |
| execa.js:9:9:9:12 | arg3 | execa.js:31:44:31:47 | arg3 | provenance | |
| execa.js:9:9:9:12 | arg3 | execa.js:33:42:33:45 | arg3 | provenance | |
| execa.js:9:9:9:12 | arg3 | execa.js:34:42:34:45 | arg3 | provenance | |
| execa.js:9:16:9:39 | url.par ... , true) | execa.js:9:9:9:12 | arg3 | provenance | |
| execa.js:9:26:9:32 | req.url | execa.js:9:16:9:39 | url.par ... , true) | provenance | |
| execa.js:30:24:30:26 | cmd | execa.js:30:24:30:47 | cmd + a ... + arg3 | provenance | |
| execa.js:30:30:30:33 | arg1 | execa.js:30:24:30:47 | cmd + a ... + arg3 | provenance | |
@@ -239,37 +239,37 @@ edges
| form-parsers.js:53:21:53:26 | fields | form-parsers.js:53:10:53:31 | "touch ... ds.name | provenance | |
| form-parsers.js:58:30:58:33 | part | form-parsers.js:59:21:59:24 | part | provenance | |
| form-parsers.js:59:21:59:24 | part | form-parsers.js:59:10:59:33 | "touch ... ilename | provenance | |
| other.js:5:9:5:49 | cmd | other.js:7:33:7:35 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:8:28:8:30 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:9:32:9:34 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:10:29:10:31 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:11:29:11:31 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:12:27:12:29 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:14:28:14:30 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:15:34:15:36 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:16:21:16:23 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:17:27:17:29 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:18:22:18:24 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:19:36:19:38 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:22:21:22:23 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:23:28:23:30 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:26:34:26:36 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:28:27:28:29 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:30:33:30:35 | cmd | provenance | |
| other.js:5:9:5:49 | cmd | other.js:34:44:34:46 | cmd | provenance | |
| other.js:5:15:5:38 | url.par ... , true) | other.js:5:9:5:49 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:7:33:7:35 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:8:28:8:30 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:9:32:9:34 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:10:29:10:31 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:11:29:11:31 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:12:27:12:29 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:14:28:14:30 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:15:34:15:36 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:16:21:16:23 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:17:27:17:29 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:18:22:18:24 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:19:36:19:38 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:22:21:22:23 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:23:28:23:30 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:26:34:26:36 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:28:27:28:29 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:30:33:30:35 | cmd | provenance | |
| other.js:5:9:5:11 | cmd | other.js:34:44:34:46 | cmd | provenance | |
| other.js:5:15:5:38 | url.par ... , true) | other.js:5:9:5:11 | cmd | provenance | |
| other.js:5:25:5:31 | req.url | other.js:5:15:5:38 | url.par ... , true) | provenance | |
| third-party-command-injection.js:5:20:5:26 | command | third-party-command-injection.js:6:21:6:27 | command | provenance | |
nodes
| actions.js:8:9:8:57 | title | semmle.label | title |
| actions.js:8:9:8:13 | title | semmle.label | title |
| actions.js:8:17:8:57 | github. ... t.title | semmle.label | github. ... t.title |
| actions.js:9:8:9:22 | `echo ${title}` | semmle.label | `echo ${title}` |
| actions.js:9:16:9:20 | title | semmle.label | title |
| actions.js:18:9:18:63 | head_ref | semmle.label | head_ref |
| actions.js:18:9:18:16 | head_ref | semmle.label | head_ref |
| actions.js:18:20:18:63 | github. ... ead.ref | semmle.label | github. ... ead.ref |
| actions.js:19:14:19:31 | `echo ${head_ref}` | semmle.label | `echo ${head_ref}` |
| actions.js:19:22:19:29 | head_ref | semmle.label | head_ref |
| child_process-test.js:6:9:6:49 | cmd | semmle.label | cmd |
| child_process-test.js:6:9:6:11 | cmd | semmle.label | cmd |
| child_process-test.js:6:15:6:38 | url.par ... , true) | semmle.label | url.par ... , true) |
| child_process-test.js:6:15:6:49 | url.par ... ry.path | semmle.label | url.par ... ry.path |
| child_process-test.js:6:15:6:49 | url.par ... ry.path | semmle.label | url.par ... ry.path |
@@ -297,17 +297,17 @@ nodes
| child_process-test.js:57:25:57:49 | ['/C', ... at(cmd) | semmle.label | ['/C', ... at(cmd) |
| child_process-test.js:57:46:57:48 | cmd | semmle.label | cmd |
| child_process-test.js:66:19:66:22 | args | semmle.label | args |
| child_process-test.js:73:9:73:49 | cmd | semmle.label | cmd |
| child_process-test.js:73:9:73:11 | cmd | semmle.label | cmd |
| child_process-test.js:73:15:73:38 | url.par ... , true) | semmle.label | url.par ... , true) |
| child_process-test.js:73:25:73:31 | req.url | semmle.label | req.url |
| child_process-test.js:75:29:75:31 | cmd | semmle.label | cmd |
| child_process-test.js:83:19:83:36 | req.query.fileName | semmle.label | req.query.fileName |
| child_process-test.js:94:11:94:35 | "ping " ... ms.host | semmle.label | "ping " ... ms.host |
| child_process-test.js:94:21:94:30 | ctx.params | semmle.label | ctx.params |
| command-line-libs.js:9:9:9:34 | args | semmle.label | args |
| command-line-libs.js:9:9:9:12 | args | semmle.label | args |
| command-line-libs.js:9:16:9:23 | req.body | semmle.label | req.body |
| command-line-libs.js:12:17:12:20 | args | semmle.label | args |
| command-line-libs.js:13:9:13:32 | options | semmle.label | options |
| command-line-libs.js:13:9:13:15 | options | semmle.label | options |
| command-line-libs.js:13:19:13:32 | program.opts() | semmle.label | program.opts() |
| command-line-libs.js:14:8:14:14 | options | semmle.label | options |
| command-line-libs.js:14:8:14:18 | options.cmd | semmle.label | options.cmd |
@@ -315,21 +315,21 @@ nodes
| command-line-libs.js:20:14:20:19 | script | semmle.label | script |
| command-line-libs.js:21:12:21:17 | script | semmle.label | script |
| command-line-libs.js:23:29:23:32 | args | semmle.label | args |
| command-line-libs.js:27:11:27:41 | argsArray | semmle.label | argsArray |
| command-line-libs.js:27:11:27:19 | argsArray | semmle.label | argsArray |
| command-line-libs.js:27:23:27:30 | req.body | semmle.label | req.body |
| command-line-libs.js:28:11:28:64 | parsed | semmle.label | parsed |
| command-line-libs.js:28:11:28:16 | parsed | semmle.label | parsed |
| command-line-libs.js:28:20:28:64 | arg({ ' ... rray }) | semmle.label | arg({ ' ... rray }) |
| command-line-libs.js:28:53:28:61 | argsArray | semmle.label | argsArray |
| command-line-libs.js:29:10:29:15 | parsed | semmle.label | parsed |
| command-line-libs.js:29:10:29:24 | parsed['--cmd'] | semmle.label | parsed['--cmd'] |
| command-line-libs.js:35:9:35:83 | options | semmle.label | options |
| command-line-libs.js:35:9:35:15 | options | semmle.label | options |
| command-line-libs.js:35:19:35:83 | command ... \| [] }) | semmle.label | command ... \| [] }) |
| command-line-libs.js:35:62:35:69 | req.body | semmle.label | req.body |
| command-line-libs.js:37:8:37:14 | options | semmle.label | options |
| command-line-libs.js:37:8:37:18 | options.cmd | semmle.label | options.cmd |
| command-line-libs.js:42:9:42:34 | args | semmle.label | args |
| command-line-libs.js:42:9:42:12 | args | semmle.label | args |
| command-line-libs.js:42:16:42:23 | req.body | semmle.label | req.body |
| command-line-libs.js:43:9:47:12 | parsed | semmle.label | parsed |
| command-line-libs.js:43:9:43:14 | parsed | semmle.label | parsed |
| command-line-libs.js:43:18:43:28 | yargs(args) | semmle.label | yargs(args) |
| command-line-libs.js:43:18:47:4 | yargs(a ... ue\\n }) | semmle.label | yargs(a ... ue\\n }) |
| command-line-libs.js:43:18:47:12 | yargs(a ... parse() | semmle.label | yargs(a ... parse() |
@@ -338,13 +338,13 @@ nodes
| command-line-libs.js:49:8:49:17 | parsed.cmd | semmle.label | parsed.cmd |
| exec-sh2.js:9:17:9:23 | command | semmle.label | command |
| exec-sh2.js:10:40:10:46 | command | semmle.label | command |
| exec-sh2.js:14:9:14:49 | cmd | semmle.label | cmd |
| exec-sh2.js:14:9:14:11 | cmd | semmle.label | cmd |
| exec-sh2.js:14:15:14:38 | url.par ... , true) | semmle.label | url.par ... , true) |
| exec-sh2.js:14:25:14:31 | req.url | semmle.label | req.url |
| exec-sh2.js:15:12:15:14 | cmd | semmle.label | cmd |
| exec-sh.js:13:17:13:23 | command | semmle.label | command |
| exec-sh.js:15:44:15:50 | command | semmle.label | command |
| exec-sh.js:19:9:19:49 | cmd | semmle.label | cmd |
| exec-sh.js:19:9:19:11 | cmd | semmle.label | cmd |
| exec-sh.js:19:15:19:38 | url.par ... , true) | semmle.label | url.par ... , true) |
| exec-sh.js:19:25:19:31 | req.url | semmle.label | req.url |
| exec-sh.js:20:12:20:14 | cmd | semmle.label | cmd |
@@ -356,21 +356,21 @@ nodes
| execSeries.js:14:13:14:20 | commands [0] | semmle.label | commands [0] |
| execSeries.js:14:24:14:30 | command | semmle.label | command |
| execSeries.js:14:41:14:47 | command | semmle.label | command |
| execSeries.js:18:7:18:58 | cmd | semmle.label | cmd |
| execSeries.js:18:7:18:9 | cmd | semmle.label | cmd |
| execSeries.js:18:13:18:47 | require ... , true) | semmle.label | require ... , true) |
| execSeries.js:18:34:18:40 | req.url | semmle.label | req.url |
| execSeries.js:19:12:19:16 | [cmd] [0] | semmle.label | [cmd] [0] |
| execSeries.js:19:13:19:15 | cmd | semmle.label | cmd |
| execa.js:6:9:6:54 | cmd | semmle.label | cmd |
| execa.js:6:9:6:11 | cmd | semmle.label | cmd |
| execa.js:6:15:6:38 | url.par ... , true) | semmle.label | url.par ... , true) |
| execa.js:6:25:6:31 | req.url | semmle.label | req.url |
| execa.js:7:9:7:53 | arg1 | semmle.label | arg1 |
| execa.js:7:9:7:12 | arg1 | semmle.label | arg1 |
| execa.js:7:16:7:39 | url.par ... , true) | semmle.label | url.par ... , true) |
| execa.js:7:26:7:32 | req.url | semmle.label | req.url |
| execa.js:8:9:8:53 | arg2 | semmle.label | arg2 |
| execa.js:8:9:8:12 | arg2 | semmle.label | arg2 |
| execa.js:8:16:8:39 | url.par ... , true) | semmle.label | url.par ... , true) |
| execa.js:8:26:8:32 | req.url | semmle.label | req.url |
| execa.js:9:9:9:53 | arg3 | semmle.label | arg3 |
| execa.js:9:9:9:12 | arg3 | semmle.label | arg3 |
| execa.js:9:16:9:39 | url.par ... , true) | semmle.label | url.par ... , true) |
| execa.js:9:26:9:32 | req.url | semmle.label | req.url |
| execa.js:11:15:11:17 | cmd | semmle.label | cmd |
@@ -425,7 +425,7 @@ nodes
| form-parsers.js:58:30:58:33 | part | semmle.label | part |
| form-parsers.js:59:10:59:33 | "touch ... ilename | semmle.label | "touch ... ilename |
| form-parsers.js:59:21:59:24 | part | semmle.label | part |
| other.js:5:9:5:49 | cmd | semmle.label | cmd |
| other.js:5:9:5:11 | cmd | semmle.label | cmd |
| other.js:5:15:5:38 | url.par ... , true) | semmle.label | url.par ... , true) |
| other.js:5:25:5:31 | req.url | semmle.label | req.url |
| other.js:7:33:7:35 | cmd | semmle.label | cmd |

View File

@@ -51,51 +51,51 @@ edges
| actions.js:19:22:19:32 | shelljs.env | actions.js:19:10:19:37 | 'rm -rf ... nv.SOME | provenance | |
| actions.js:20:22:20:32 | shelljs.env | actions.js:20:10:20:32 | 'rm -rf ... ljs.env | provenance | |
| command-line-parameter-command-injection.js:8:22:8:33 | process.argv | command-line-parameter-command-injection.js:8:10:8:36 | "cmd.sh ... argv[2] | provenance | |
| command-line-parameter-command-injection.js:10:6:10:33 | args | command-line-parameter-command-injection.js:11:14:11:17 | args | provenance | |
| command-line-parameter-command-injection.js:10:6:10:33 | args | command-line-parameter-command-injection.js:12:26:12:29 | args | provenance | |
| command-line-parameter-command-injection.js:10:6:10:33 | args | command-line-parameter-command-injection.js:14:18:14:21 | args | provenance | |
| command-line-parameter-command-injection.js:10:6:10:33 | args [ArrayElement] | command-line-parameter-command-injection.js:11:14:11:17 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:6:10:33 | args [ArrayElement] | command-line-parameter-command-injection.js:12:26:12:29 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:6:10:33 | args [ArrayElement] | command-line-parameter-command-injection.js:14:18:14:21 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:6:10:9 | args | command-line-parameter-command-injection.js:11:14:11:17 | args | provenance | |
| command-line-parameter-command-injection.js:10:6:10:9 | args | command-line-parameter-command-injection.js:12:26:12:29 | args | provenance | |
| command-line-parameter-command-injection.js:10:6:10:9 | args | command-line-parameter-command-injection.js:14:18:14:21 | args | provenance | |
| command-line-parameter-command-injection.js:10:6:10:9 | args [ArrayElement] | command-line-parameter-command-injection.js:11:14:11:17 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:6:10:9 | args [ArrayElement] | command-line-parameter-command-injection.js:12:26:12:29 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:6:10:9 | args [ArrayElement] | command-line-parameter-command-injection.js:14:18:14:21 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:13:10:24 | process.argv | command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) | provenance | |
| command-line-parameter-command-injection.js:10:13:10:24 | process.argv | command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) | command-line-parameter-command-injection.js:10:6:10:33 | args | provenance | |
| command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) [ArrayElement] | command-line-parameter-command-injection.js:10:6:10:33 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) | command-line-parameter-command-injection.js:10:6:10:9 | args | provenance | |
| command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) [ArrayElement] | command-line-parameter-command-injection.js:10:6:10:9 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:11:14:11:17 | args | command-line-parameter-command-injection.js:11:14:11:20 | args[0] | provenance | |
| command-line-parameter-command-injection.js:11:14:11:17 | args [ArrayElement] | command-line-parameter-command-injection.js:11:14:11:20 | args[0] | provenance | |
| command-line-parameter-command-injection.js:12:26:12:29 | args | command-line-parameter-command-injection.js:12:14:12:32 | "cmd.sh " + args[0] | provenance | |
| command-line-parameter-command-injection.js:12:26:12:29 | args [ArrayElement] | command-line-parameter-command-injection.js:12:26:12:32 | args[0] | provenance | |
| command-line-parameter-command-injection.js:12:26:12:32 | args[0] | command-line-parameter-command-injection.js:12:14:12:32 | "cmd.sh " + args[0] | provenance | |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs | command-line-parameter-command-injection.js:15:14:15:22 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs | command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs | command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:15:14:15:22 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs | command-line-parameter-command-injection.js:15:14:15:22 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs | command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs | command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:15:14:15:22 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:18:14:21 | args | command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) | provenance | |
| command-line-parameter-command-injection.js:14:18:14:21 | args | command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:18:14:21 | args [ArrayElement] | command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) | command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) [ArrayElement] | command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) | command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs | provenance | |
| command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) [ArrayElement] | command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:15:14:15:22 | fewerArgs | command-line-parameter-command-injection.js:15:14:15:25 | fewerArgs[0] | provenance | |
| command-line-parameter-command-injection.js:15:14:15:22 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:15:14:15:25 | fewerArgs[0] | provenance | |
| command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs | command-line-parameter-command-injection.js:16:14:16:37 | "cmd.sh ... Args[0] | provenance | |
| command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:16:26:16:37 | fewerArgs[0] | provenance | |
| command-line-parameter-command-injection.js:16:26:16:37 | fewerArgs[0] | command-line-parameter-command-injection.js:16:14:16:37 | "cmd.sh ... Args[0] | provenance | |
| command-line-parameter-command-injection.js:18:6:18:24 | arg0 | command-line-parameter-command-injection.js:19:14:19:17 | arg0 | provenance | |
| command-line-parameter-command-injection.js:18:6:18:24 | arg0 | command-line-parameter-command-injection.js:20:26:20:29 | arg0 | provenance | |
| command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs | command-line-parameter-command-injection.js:18:6:18:24 | arg0 | provenance | |
| command-line-parameter-command-injection.js:18:6:18:9 | arg0 | command-line-parameter-command-injection.js:19:14:19:17 | arg0 | provenance | |
| command-line-parameter-command-injection.js:18:6:18:9 | arg0 | command-line-parameter-command-injection.js:20:26:20:29 | arg0 | provenance | |
| command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs | command-line-parameter-command-injection.js:18:6:18:9 | arg0 | provenance | |
| command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs [ArrayElement] | command-line-parameter-command-injection.js:18:13:18:24 | fewerArgs[0] | provenance | |
| command-line-parameter-command-injection.js:18:13:18:24 | fewerArgs[0] | command-line-parameter-command-injection.js:18:6:18:24 | arg0 | provenance | |
| command-line-parameter-command-injection.js:18:13:18:24 | fewerArgs[0] | command-line-parameter-command-injection.js:18:6:18:9 | arg0 | provenance | |
| command-line-parameter-command-injection.js:20:26:20:29 | arg0 | command-line-parameter-command-injection.js:20:14:20:29 | "cmd.sh " + arg0 | provenance | |
| command-line-parameter-command-injection.js:24:8:24:35 | args | command-line-parameter-command-injection.js:26:32:26:35 | args | provenance | |
| command-line-parameter-command-injection.js:24:8:24:35 | args | command-line-parameter-command-injection.js:27:32:27:35 | args | provenance | |
| command-line-parameter-command-injection.js:24:8:24:35 | args [ArrayElement] | command-line-parameter-command-injection.js:26:32:26:35 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:24:8:24:35 | args [ArrayElement] | command-line-parameter-command-injection.js:27:32:27:35 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:24:8:24:11 | args | command-line-parameter-command-injection.js:26:32:26:35 | args | provenance | |
| command-line-parameter-command-injection.js:24:8:24:11 | args | command-line-parameter-command-injection.js:27:32:27:35 | args | provenance | |
| command-line-parameter-command-injection.js:24:8:24:11 | args [ArrayElement] | command-line-parameter-command-injection.js:26:32:26:35 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:24:8:24:11 | args [ArrayElement] | command-line-parameter-command-injection.js:27:32:27:35 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:24:15:24:26 | process.argv | command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) | provenance | |
| command-line-parameter-command-injection.js:24:15:24:26 | process.argv | command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) | command-line-parameter-command-injection.js:24:8:24:35 | args | provenance | |
| command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) [ArrayElement] | command-line-parameter-command-injection.js:24:8:24:35 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) | command-line-parameter-command-injection.js:24:8:24:11 | args | provenance | |
| command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) [ArrayElement] | command-line-parameter-command-injection.js:24:8:24:11 | args [ArrayElement] | provenance | |
| command-line-parameter-command-injection.js:26:32:26:35 | args | command-line-parameter-command-injection.js:26:14:26:50 | `node $ ... ption"` | provenance | |
| command-line-parameter-command-injection.js:26:32:26:35 | args [ArrayElement] | command-line-parameter-command-injection.js:26:32:26:38 | args[0] | provenance | |
| command-line-parameter-command-injection.js:26:32:26:38 | args[0] | command-line-parameter-command-injection.js:26:14:26:50 | `node $ ... ption"` | provenance | |
@@ -105,43 +105,43 @@ edges
| command-line-parameter-command-injection.js:30:21:30:46 | require ... rgs")() | command-line-parameter-command-injection.js:30:9:30:50 | "cmd.sh ... )().foo | provenance | |
| command-line-parameter-command-injection.js:32:21:32:41 | require ... ").argv | command-line-parameter-command-injection.js:32:9:32:45 | "cmd.sh ... rgv.foo | provenance | |
| command-line-parameter-command-injection.js:33:21:33:44 | require ... ").argv | command-line-parameter-command-injection.js:33:9:33:48 | "cmd.sh ... rgv.foo | provenance | |
| command-line-parameter-command-injection.js:36:6:39:7 | args | command-line-parameter-command-injection.js:41:22:41:25 | args | provenance | |
| command-line-parameter-command-injection.js:36:13:39:7 | require ... \\t\\t.argv | command-line-parameter-command-injection.js:36:6:39:7 | args | provenance | |
| command-line-parameter-command-injection.js:36:6:36:9 | args | command-line-parameter-command-injection.js:41:22:41:25 | args | provenance | |
| command-line-parameter-command-injection.js:36:13:39:7 | require ... \\t\\t.argv | command-line-parameter-command-injection.js:36:6:36:9 | args | provenance | |
| command-line-parameter-command-injection.js:41:22:41:25 | args | command-line-parameter-command-injection.js:41:10:41:25 | "cmd.sh " + args | provenance | |
| command-line-parameter-command-injection.js:43:22:43:58 | require ... parse() | command-line-parameter-command-injection.js:43:10:43:62 | "cmd.sh ... e().foo | provenance | |
| command-line-parameter-command-injection.js:47:8:53:12 | args | command-line-parameter-command-injection.js:55:22:55:25 | args | provenance | |
| command-line-parameter-command-injection.js:48:3:50:3 | argv: { ... rgs\\n\\t\\t} | command-line-parameter-command-injection.js:48:9:50:3 | {\\n\\t\\t\\t...args\\n\\t\\t} | provenance | |
| command-line-parameter-command-injection.js:48:9:50:3 | {\\n\\t\\t\\t...args\\n\\t\\t} | command-line-parameter-command-injection.js:47:8:53:12 | args | provenance | |
| command-line-parameter-command-injection.js:48:9:50:3 | {\\n\\t\\t\\t...args\\n\\t\\t} | command-line-parameter-command-injection.js:49:7:49:10 | args | provenance | |
| command-line-parameter-command-injection.js:49:7:49:10 | args | command-line-parameter-command-injection.js:55:22:55:25 | args | provenance | |
| command-line-parameter-command-injection.js:55:22:55:25 | args | command-line-parameter-command-injection.js:55:10:55:25 | "cmd.sh " + args | provenance | |
| command-line-parameter-command-injection.js:57:6:57:37 | tainted1 | command-line-parameter-command-injection.js:61:11:61:18 | tainted1 | provenance | |
| command-line-parameter-command-injection.js:57:17:57:37 | require ... ').argv | command-line-parameter-command-injection.js:57:6:57:37 | tainted1 | provenance | |
| command-line-parameter-command-injection.js:58:6:58:40 | tainted2 | command-line-parameter-command-injection.js:62:11:62:18 | tainted2 | provenance | |
| command-line-parameter-command-injection.js:58:17:58:40 | require ... parse() | command-line-parameter-command-injection.js:58:6:58:40 | tainted2 | provenance | |
| command-line-parameter-command-injection.js:57:6:57:13 | tainted1 | command-line-parameter-command-injection.js:61:11:61:18 | tainted1 | provenance | |
| command-line-parameter-command-injection.js:57:17:57:37 | require ... ').argv | command-line-parameter-command-injection.js:57:6:57:13 | tainted1 | provenance | |
| command-line-parameter-command-injection.js:58:6:58:13 | tainted2 | command-line-parameter-command-injection.js:62:11:62:18 | tainted2 | provenance | |
| command-line-parameter-command-injection.js:58:17:58:40 | require ... parse() | command-line-parameter-command-injection.js:58:6:58:13 | tainted2 | provenance | |
| command-line-parameter-command-injection.js:60:8:60:56 | {taint1 ... 2rest}} [taint1] | command-line-parameter-command-injection.js:60:9:60:31 | taint1: ... t1rest} | provenance | |
| command-line-parameter-command-injection.js:60:8:60:56 | {taint1 ... 2rest}} [taint2] | command-line-parameter-command-injection.js:60:33:60:55 | taint2: ... t2rest} | provenance | |
| command-line-parameter-command-injection.js:60:8:63:2 | taint1rest | command-line-parameter-command-injection.js:65:22:65:31 | taint1rest | provenance | |
| command-line-parameter-command-injection.js:60:8:63:2 | taint2rest | command-line-parameter-command-injection.js:66:22:66:31 | taint2rest | provenance | |
| command-line-parameter-command-injection.js:60:9:60:31 | taint1: ... t1rest} | command-line-parameter-command-injection.js:60:17:60:31 | {...taint1rest} | provenance | |
| command-line-parameter-command-injection.js:60:17:60:31 | {...taint1rest} | command-line-parameter-command-injection.js:60:8:63:2 | taint1rest | provenance | |
| command-line-parameter-command-injection.js:60:17:60:31 | {...taint1rest} | command-line-parameter-command-injection.js:60:21:60:30 | taint1rest | provenance | |
| command-line-parameter-command-injection.js:60:21:60:30 | taint1rest | command-line-parameter-command-injection.js:65:22:65:31 | taint1rest | provenance | |
| command-line-parameter-command-injection.js:60:33:60:55 | taint2: ... t2rest} | command-line-parameter-command-injection.js:60:41:60:55 | {...taint2rest} | provenance | |
| command-line-parameter-command-injection.js:60:41:60:55 | {...taint2rest} | command-line-parameter-command-injection.js:60:8:63:2 | taint2rest | provenance | |
| command-line-parameter-command-injection.js:60:41:60:55 | {...taint2rest} | command-line-parameter-command-injection.js:60:45:60:54 | taint2rest | provenance | |
| command-line-parameter-command-injection.js:60:45:60:54 | taint2rest | command-line-parameter-command-injection.js:66:22:66:31 | taint2rest | provenance | |
| command-line-parameter-command-injection.js:60:60:63:2 | {\\n\\t\\ttai ... ted2\\n\\t} [taint1] | command-line-parameter-command-injection.js:60:8:60:56 | {taint1 ... 2rest}} [taint1] | provenance | |
| command-line-parameter-command-injection.js:60:60:63:2 | {\\n\\t\\ttai ... ted2\\n\\t} [taint2] | command-line-parameter-command-injection.js:60:8:60:56 | {taint1 ... 2rest}} [taint2] | provenance | |
| command-line-parameter-command-injection.js:61:11:61:18 | tainted1 | command-line-parameter-command-injection.js:60:60:63:2 | {\\n\\t\\ttai ... ted2\\n\\t} [taint1] | provenance | |
| command-line-parameter-command-injection.js:62:11:62:18 | tainted2 | command-line-parameter-command-injection.js:60:60:63:2 | {\\n\\t\\ttai ... ted2\\n\\t} [taint2] | provenance | |
| command-line-parameter-command-injection.js:65:22:65:31 | taint1rest | command-line-parameter-command-injection.js:65:10:65:31 | "cmd.sh ... nt1rest | provenance | |
| command-line-parameter-command-injection.js:66:22:66:31 | taint2rest | command-line-parameter-command-injection.js:66:10:66:31 | "cmd.sh ... nt2rest | provenance | |
| command-line-parameter-command-injection.js:68:6:68:16 | {...taint3} | command-line-parameter-command-injection.js:68:6:68:40 | taint3 | provenance | |
| command-line-parameter-command-injection.js:68:6:68:40 | taint3 | command-line-parameter-command-injection.js:69:22:69:27 | taint3 | provenance | |
| command-line-parameter-command-injection.js:68:6:68:16 | {...taint3} | command-line-parameter-command-injection.js:68:10:68:15 | taint3 | provenance | |
| command-line-parameter-command-injection.js:68:10:68:15 | taint3 | command-line-parameter-command-injection.js:69:22:69:27 | taint3 | provenance | |
| command-line-parameter-command-injection.js:68:20:68:40 | require ... ').argv | command-line-parameter-command-injection.js:68:6:68:16 | {...taint3} | provenance | |
| command-line-parameter-command-injection.js:69:22:69:27 | taint3 | command-line-parameter-command-injection.js:69:10:69:27 | "cmd.sh " + taint3 | provenance | |
| command-line-parameter-command-injection.js:71:6:71:16 | [...taint4] | command-line-parameter-command-injection.js:71:6:71:40 | taint4 | provenance | |
| command-line-parameter-command-injection.js:71:6:71:40 | taint4 | command-line-parameter-command-injection.js:72:22:72:27 | taint4 | provenance | |
| command-line-parameter-command-injection.js:71:6:71:16 | [...taint4] | command-line-parameter-command-injection.js:71:10:71:15 | taint4 | provenance | |
| command-line-parameter-command-injection.js:71:10:71:15 | taint4 | command-line-parameter-command-injection.js:72:22:72:27 | taint4 | provenance | |
| command-line-parameter-command-injection.js:71:20:71:40 | require ... ').argv | command-line-parameter-command-injection.js:71:6:71:16 | [...taint4] | provenance | |
| command-line-parameter-command-injection.js:72:22:72:27 | taint4 | command-line-parameter-command-injection.js:72:10:72:27 | "cmd.sh " + taint4 | provenance | |
| command-line-parameter-command-injection.js:76:8:76:35 | argv | command-line-parameter-command-injection.js:79:31:79:34 | argv | provenance | |
| command-line-parameter-command-injection.js:76:8:76:11 | argv | command-line-parameter-command-injection.js:79:31:79:34 | argv | provenance | |
| command-line-parameter-command-injection.js:76:15:76:26 | process.argv | command-line-parameter-command-injection.js:76:15:76:35 | process ... lice(2) | provenance | |
| command-line-parameter-command-injection.js:76:15:76:35 | process ... lice(2) | command-line-parameter-command-injection.js:76:8:76:35 | argv | provenance | |
| command-line-parameter-command-injection.js:76:15:76:35 | process ... lice(2) | command-line-parameter-command-injection.js:76:8:76:11 | argv | provenance | |
| command-line-parameter-command-injection.js:79:22:79:35 | minimist(argv) | command-line-parameter-command-injection.js:79:10:79:39 | "cmd.sh ... gv).foo | provenance | |
| command-line-parameter-command-injection.js:79:31:79:34 | argv | command-line-parameter-command-injection.js:79:22:79:35 | minimist(argv) | provenance | |
| command-line-parameter-command-injection.js:82:22:82:50 | subarg( ... ice(2)) | command-line-parameter-command-injection.js:82:10:82:54 | "cmd.sh ... 2)).foo | provenance | |
@@ -150,28 +150,28 @@ edges
| command-line-parameter-command-injection.js:85:22:85:55 | yargsPa ... ice(2)) | command-line-parameter-command-injection.js:85:10:85:59 | "cmd.sh ... 2)).foo | provenance | |
| command-line-parameter-command-injection.js:85:34:85:45 | process.argv | command-line-parameter-command-injection.js:85:34:85:54 | process ... lice(2) | provenance | |
| command-line-parameter-command-injection.js:85:34:85:54 | process ... lice(2) | command-line-parameter-command-injection.js:85:22:85:55 | yargsPa ... ice(2)) | provenance | |
| command-line-parameter-command-injection.js:88:6:88:37 | flags | command-line-parameter-command-injection.js:89:22:89:26 | flags | provenance | |
| command-line-parameter-command-injection.js:88:14:88:37 | args.pa ... s.argv) | command-line-parameter-command-injection.js:88:6:88:37 | flags | provenance | |
| command-line-parameter-command-injection.js:88:6:88:10 | flags | command-line-parameter-command-injection.js:89:22:89:26 | flags | provenance | |
| command-line-parameter-command-injection.js:88:14:88:37 | args.pa ... s.argv) | command-line-parameter-command-injection.js:88:6:88:10 | flags | provenance | |
| command-line-parameter-command-injection.js:88:25:88:36 | process.argv | command-line-parameter-command-injection.js:88:14:88:37 | args.pa ... s.argv) | provenance | |
| command-line-parameter-command-injection.js:89:22:89:26 | flags | command-line-parameter-command-injection.js:89:10:89:30 | "cmd.sh ... ags.foo | provenance | |
| command-line-parameter-command-injection.js:91:6:91:38 | flags | command-line-parameter-command-injection.js:92:22:92:26 | flags | provenance | |
| command-line-parameter-command-injection.js:91:14:91:38 | require ... .spec}) | command-line-parameter-command-injection.js:91:6:91:38 | flags | provenance | |
| command-line-parameter-command-injection.js:91:6:91:10 | flags | command-line-parameter-command-injection.js:92:22:92:26 | flags | provenance | |
| command-line-parameter-command-injection.js:91:14:91:38 | require ... .spec}) | command-line-parameter-command-injection.js:91:6:91:10 | flags | provenance | |
| command-line-parameter-command-injection.js:92:22:92:26 | flags | command-line-parameter-command-injection.js:92:10:92:30 | "cmd.sh ... ags.foo | provenance | |
| command-line-parameter-command-injection.js:102:22:102:40 | parser.parse_args() | command-line-parameter-command-injection.js:102:10:102:44 | "cmd.sh ... s().foo | provenance | |
| command-line-parameter-command-injection.js:107:8:107:51 | options | command-line-parameter-command-injection.js:108:22:108:28 | options | provenance | |
| command-line-parameter-command-injection.js:107:18:107:51 | command ... itions) | command-line-parameter-command-injection.js:107:8:107:51 | options | provenance | |
| command-line-parameter-command-injection.js:107:8:107:14 | options | command-line-parameter-command-injection.js:108:22:108:28 | options | provenance | |
| command-line-parameter-command-injection.js:107:18:107:51 | command ... itions) | command-line-parameter-command-injection.js:107:8:107:14 | options | provenance | |
| command-line-parameter-command-injection.js:108:22:108:28 | options | command-line-parameter-command-injection.js:108:10:108:32 | "cmd.sh ... ons.foo | provenance | |
| command-line-parameter-command-injection.js:114:8:114:52 | cli | command-line-parameter-command-injection.js:116:22:116:24 | cli | provenance | |
| command-line-parameter-command-injection.js:114:14:114:52 | meow(`h ... lags}}) | command-line-parameter-command-injection.js:114:8:114:52 | cli | provenance | |
| command-line-parameter-command-injection.js:114:8:114:10 | cli | command-line-parameter-command-injection.js:116:22:116:24 | cli | provenance | |
| command-line-parameter-command-injection.js:114:14:114:52 | meow(`h ... lags}}) | command-line-parameter-command-injection.js:114:8:114:10 | cli | provenance | |
| command-line-parameter-command-injection.js:116:22:116:24 | cli | command-line-parameter-command-injection.js:116:10:116:33 | "cmd.sh ... nput[0] | provenance | |
| command-line-parameter-command-injection.js:122:6:122:46 | opts | command-line-parameter-command-injection.js:124:22:124:25 | opts | provenance | |
| command-line-parameter-command-injection.js:122:13:122:46 | dashdas ... tions}) | command-line-parameter-command-injection.js:122:6:122:46 | opts | provenance | |
| command-line-parameter-command-injection.js:122:6:122:9 | opts | command-line-parameter-command-injection.js:124:22:124:25 | opts | provenance | |
| command-line-parameter-command-injection.js:122:13:122:46 | dashdas ... tions}) | command-line-parameter-command-injection.js:122:6:122:9 | opts | provenance | |
| command-line-parameter-command-injection.js:124:22:124:25 | opts | command-line-parameter-command-injection.js:124:10:124:29 | "cmd.sh " + opts.foo | provenance | |
| command-line-parameter-command-injection.js:127:6:127:26 | opts | command-line-parameter-command-injection.js:129:22:129:25 | opts | provenance | |
| command-line-parameter-command-injection.js:127:13:127:26 | parser.parse() | command-line-parameter-command-injection.js:127:6:127:26 | opts | provenance | |
| command-line-parameter-command-injection.js:127:6:127:9 | opts | command-line-parameter-command-injection.js:129:22:129:25 | opts | provenance | |
| command-line-parameter-command-injection.js:127:13:127:26 | parser.parse() | command-line-parameter-command-injection.js:127:6:127:9 | opts | provenance | |
| command-line-parameter-command-injection.js:129:22:129:25 | opts | command-line-parameter-command-injection.js:129:10:129:29 | "cmd.sh " + opts.foo | provenance | |
| command-line-parameter-command-injection.js:133:8:133:41 | program | command-line-parameter-command-injection.js:137:22:137:28 | program | provenance | |
| command-line-parameter-command-injection.js:133:10:133:16 | program | command-line-parameter-command-injection.js:133:8:133:41 | program | provenance | |
| command-line-parameter-command-injection.js:133:10:133:16 | program | command-line-parameter-command-injection.js:133:10:133:16 | program | provenance | |
| command-line-parameter-command-injection.js:133:10:133:16 | program | command-line-parameter-command-injection.js:137:22:137:28 | program | provenance | |
| command-line-parameter-command-injection.js:136:22:136:35 | program.opts() | command-line-parameter-command-injection.js:136:10:136:45 | "cmd.sh ... zzaType | provenance | |
| command-line-parameter-command-injection.js:136:22:136:45 | program ... zzaType | command-line-parameter-command-injection.js:136:10:136:45 | "cmd.sh ... zzaType | provenance | |
| command-line-parameter-command-injection.js:137:22:137:28 | program | command-line-parameter-command-injection.js:137:10:137:38 | "cmd.sh ... zzaType | provenance | |
@@ -196,8 +196,8 @@ nodes
| command-line-parameter-command-injection.js:4:10:4:21 | process.argv | semmle.label | process.argv |
| command-line-parameter-command-injection.js:8:10:8:36 | "cmd.sh ... argv[2] | semmle.label | "cmd.sh ... argv[2] |
| command-line-parameter-command-injection.js:8:22:8:33 | process.argv | semmle.label | process.argv |
| command-line-parameter-command-injection.js:10:6:10:33 | args | semmle.label | args |
| command-line-parameter-command-injection.js:10:6:10:33 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| command-line-parameter-command-injection.js:10:6:10:9 | args | semmle.label | args |
| command-line-parameter-command-injection.js:10:6:10:9 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| command-line-parameter-command-injection.js:10:13:10:24 | process.argv | semmle.label | process.argv |
| command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) | semmle.label | process ... lice(2) |
| command-line-parameter-command-injection.js:10:13:10:33 | process ... lice(2) [ArrayElement] | semmle.label | process ... lice(2) [ArrayElement] |
@@ -208,8 +208,8 @@ nodes
| command-line-parameter-command-injection.js:12:26:12:29 | args | semmle.label | args |
| command-line-parameter-command-injection.js:12:26:12:29 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| command-line-parameter-command-injection.js:12:26:12:32 | args[0] | semmle.label | args[0] |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs | semmle.label | fewerArgs |
| command-line-parameter-command-injection.js:14:6:14:30 | fewerArgs [ArrayElement] | semmle.label | fewerArgs [ArrayElement] |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs | semmle.label | fewerArgs |
| command-line-parameter-command-injection.js:14:6:14:14 | fewerArgs [ArrayElement] | semmle.label | fewerArgs [ArrayElement] |
| command-line-parameter-command-injection.js:14:18:14:21 | args | semmle.label | args |
| command-line-parameter-command-injection.js:14:18:14:21 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| command-line-parameter-command-injection.js:14:18:14:30 | args.slice(1) | semmle.label | args.slice(1) |
@@ -221,15 +221,15 @@ nodes
| command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs | semmle.label | fewerArgs |
| command-line-parameter-command-injection.js:16:26:16:34 | fewerArgs [ArrayElement] | semmle.label | fewerArgs [ArrayElement] |
| command-line-parameter-command-injection.js:16:26:16:37 | fewerArgs[0] | semmle.label | fewerArgs[0] |
| command-line-parameter-command-injection.js:18:6:18:24 | arg0 | semmle.label | arg0 |
| command-line-parameter-command-injection.js:18:6:18:9 | arg0 | semmle.label | arg0 |
| command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs | semmle.label | fewerArgs |
| command-line-parameter-command-injection.js:18:13:18:21 | fewerArgs [ArrayElement] | semmle.label | fewerArgs [ArrayElement] |
| command-line-parameter-command-injection.js:18:13:18:24 | fewerArgs[0] | semmle.label | fewerArgs[0] |
| command-line-parameter-command-injection.js:19:14:19:17 | arg0 | semmle.label | arg0 |
| command-line-parameter-command-injection.js:20:14:20:29 | "cmd.sh " + arg0 | semmle.label | "cmd.sh " + arg0 |
| command-line-parameter-command-injection.js:20:26:20:29 | arg0 | semmle.label | arg0 |
| command-line-parameter-command-injection.js:24:8:24:35 | args | semmle.label | args |
| command-line-parameter-command-injection.js:24:8:24:35 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| command-line-parameter-command-injection.js:24:8:24:11 | args | semmle.label | args |
| command-line-parameter-command-injection.js:24:8:24:11 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| command-line-parameter-command-injection.js:24:15:24:26 | process.argv | semmle.label | process.argv |
| command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) | semmle.label | process ... lice(2) |
| command-line-parameter-command-injection.js:24:15:24:35 | process ... lice(2) [ArrayElement] | semmle.label | process ... lice(2) [ArrayElement] |
@@ -247,29 +247,29 @@ nodes
| command-line-parameter-command-injection.js:32:21:32:41 | require ... ").argv | semmle.label | require ... ").argv |
| command-line-parameter-command-injection.js:33:9:33:48 | "cmd.sh ... rgv.foo | semmle.label | "cmd.sh ... rgv.foo |
| command-line-parameter-command-injection.js:33:21:33:44 | require ... ").argv | semmle.label | require ... ").argv |
| command-line-parameter-command-injection.js:36:6:39:7 | args | semmle.label | args |
| command-line-parameter-command-injection.js:36:6:36:9 | args | semmle.label | args |
| command-line-parameter-command-injection.js:36:13:39:7 | require ... \\t\\t.argv | semmle.label | require ... \\t\\t.argv |
| command-line-parameter-command-injection.js:41:10:41:25 | "cmd.sh " + args | semmle.label | "cmd.sh " + args |
| command-line-parameter-command-injection.js:41:22:41:25 | args | semmle.label | args |
| command-line-parameter-command-injection.js:43:10:43:62 | "cmd.sh ... e().foo | semmle.label | "cmd.sh ... e().foo |
| command-line-parameter-command-injection.js:43:22:43:58 | require ... parse() | semmle.label | require ... parse() |
| command-line-parameter-command-injection.js:47:8:53:12 | args | semmle.label | args |
| command-line-parameter-command-injection.js:48:3:50:3 | argv: { ... rgs\\n\\t\\t} | semmle.label | argv: { ... rgs\\n\\t\\t} |
| command-line-parameter-command-injection.js:48:9:50:3 | {\\n\\t\\t\\t...args\\n\\t\\t} | semmle.label | {\\n\\t\\t\\t...args\\n\\t\\t} |
| command-line-parameter-command-injection.js:49:7:49:10 | args | semmle.label | args |
| command-line-parameter-command-injection.js:55:10:55:25 | "cmd.sh " + args | semmle.label | "cmd.sh " + args |
| command-line-parameter-command-injection.js:55:22:55:25 | args | semmle.label | args |
| command-line-parameter-command-injection.js:57:6:57:37 | tainted1 | semmle.label | tainted1 |
| command-line-parameter-command-injection.js:57:6:57:13 | tainted1 | semmle.label | tainted1 |
| command-line-parameter-command-injection.js:57:17:57:37 | require ... ').argv | semmle.label | require ... ').argv |
| command-line-parameter-command-injection.js:58:6:58:40 | tainted2 | semmle.label | tainted2 |
| command-line-parameter-command-injection.js:58:6:58:13 | tainted2 | semmle.label | tainted2 |
| command-line-parameter-command-injection.js:58:17:58:40 | require ... parse() | semmle.label | require ... parse() |
| command-line-parameter-command-injection.js:60:8:60:56 | {taint1 ... 2rest}} [taint1] | semmle.label | {taint1 ... 2rest}} [taint1] |
| command-line-parameter-command-injection.js:60:8:60:56 | {taint1 ... 2rest}} [taint2] | semmle.label | {taint1 ... 2rest}} [taint2] |
| command-line-parameter-command-injection.js:60:8:63:2 | taint1rest | semmle.label | taint1rest |
| command-line-parameter-command-injection.js:60:8:63:2 | taint2rest | semmle.label | taint2rest |
| command-line-parameter-command-injection.js:60:9:60:31 | taint1: ... t1rest} | semmle.label | taint1: ... t1rest} |
| command-line-parameter-command-injection.js:60:17:60:31 | {...taint1rest} | semmle.label | {...taint1rest} |
| command-line-parameter-command-injection.js:60:21:60:30 | taint1rest | semmle.label | taint1rest |
| command-line-parameter-command-injection.js:60:33:60:55 | taint2: ... t2rest} | semmle.label | taint2: ... t2rest} |
| command-line-parameter-command-injection.js:60:41:60:55 | {...taint2rest} | semmle.label | {...taint2rest} |
| command-line-parameter-command-injection.js:60:45:60:54 | taint2rest | semmle.label | taint2rest |
| command-line-parameter-command-injection.js:60:60:63:2 | {\\n\\t\\ttai ... ted2\\n\\t} [taint1] | semmle.label | {\\n\\t\\ttai ... ted2\\n\\t} [taint1] |
| command-line-parameter-command-injection.js:60:60:63:2 | {\\n\\t\\ttai ... ted2\\n\\t} [taint2] | semmle.label | {\\n\\t\\ttai ... ted2\\n\\t} [taint2] |
| command-line-parameter-command-injection.js:61:11:61:18 | tainted1 | semmle.label | tainted1 |
@@ -279,16 +279,16 @@ nodes
| command-line-parameter-command-injection.js:66:10:66:31 | "cmd.sh ... nt2rest | semmle.label | "cmd.sh ... nt2rest |
| command-line-parameter-command-injection.js:66:22:66:31 | taint2rest | semmle.label | taint2rest |
| command-line-parameter-command-injection.js:68:6:68:16 | {...taint3} | semmle.label | {...taint3} |
| command-line-parameter-command-injection.js:68:6:68:40 | taint3 | semmle.label | taint3 |
| command-line-parameter-command-injection.js:68:10:68:15 | taint3 | semmle.label | taint3 |
| command-line-parameter-command-injection.js:68:20:68:40 | require ... ').argv | semmle.label | require ... ').argv |
| command-line-parameter-command-injection.js:69:10:69:27 | "cmd.sh " + taint3 | semmle.label | "cmd.sh " + taint3 |
| command-line-parameter-command-injection.js:69:22:69:27 | taint3 | semmle.label | taint3 |
| command-line-parameter-command-injection.js:71:6:71:16 | [...taint4] | semmle.label | [...taint4] |
| command-line-parameter-command-injection.js:71:6:71:40 | taint4 | semmle.label | taint4 |
| command-line-parameter-command-injection.js:71:10:71:15 | taint4 | semmle.label | taint4 |
| command-line-parameter-command-injection.js:71:20:71:40 | require ... ').argv | semmle.label | require ... ').argv |
| command-line-parameter-command-injection.js:72:10:72:27 | "cmd.sh " + taint4 | semmle.label | "cmd.sh " + taint4 |
| command-line-parameter-command-injection.js:72:22:72:27 | taint4 | semmle.label | taint4 |
| command-line-parameter-command-injection.js:76:8:76:35 | argv | semmle.label | argv |
| command-line-parameter-command-injection.js:76:8:76:11 | argv | semmle.label | argv |
| command-line-parameter-command-injection.js:76:15:76:26 | process.argv | semmle.label | process.argv |
| command-line-parameter-command-injection.js:76:15:76:35 | process ... lice(2) | semmle.label | process ... lice(2) |
| command-line-parameter-command-injection.js:79:10:79:39 | "cmd.sh ... gv).foo | semmle.label | "cmd.sh ... gv).foo |
@@ -302,34 +302,34 @@ nodes
| command-line-parameter-command-injection.js:85:22:85:55 | yargsPa ... ice(2)) | semmle.label | yargsPa ... ice(2)) |
| command-line-parameter-command-injection.js:85:34:85:45 | process.argv | semmle.label | process.argv |
| command-line-parameter-command-injection.js:85:34:85:54 | process ... lice(2) | semmle.label | process ... lice(2) |
| command-line-parameter-command-injection.js:88:6:88:37 | flags | semmle.label | flags |
| command-line-parameter-command-injection.js:88:6:88:10 | flags | semmle.label | flags |
| command-line-parameter-command-injection.js:88:14:88:37 | args.pa ... s.argv) | semmle.label | args.pa ... s.argv) |
| command-line-parameter-command-injection.js:88:25:88:36 | process.argv | semmle.label | process.argv |
| command-line-parameter-command-injection.js:89:10:89:30 | "cmd.sh ... ags.foo | semmle.label | "cmd.sh ... ags.foo |
| command-line-parameter-command-injection.js:89:22:89:26 | flags | semmle.label | flags |
| command-line-parameter-command-injection.js:91:6:91:38 | flags | semmle.label | flags |
| command-line-parameter-command-injection.js:91:6:91:10 | flags | semmle.label | flags |
| command-line-parameter-command-injection.js:91:14:91:38 | require ... .spec}) | semmle.label | require ... .spec}) |
| command-line-parameter-command-injection.js:92:10:92:30 | "cmd.sh ... ags.foo | semmle.label | "cmd.sh ... ags.foo |
| command-line-parameter-command-injection.js:92:22:92:26 | flags | semmle.label | flags |
| command-line-parameter-command-injection.js:102:10:102:44 | "cmd.sh ... s().foo | semmle.label | "cmd.sh ... s().foo |
| command-line-parameter-command-injection.js:102:22:102:40 | parser.parse_args() | semmle.label | parser.parse_args() |
| command-line-parameter-command-injection.js:107:8:107:51 | options | semmle.label | options |
| command-line-parameter-command-injection.js:107:8:107:14 | options | semmle.label | options |
| command-line-parameter-command-injection.js:107:18:107:51 | command ... itions) | semmle.label | command ... itions) |
| command-line-parameter-command-injection.js:108:10:108:32 | "cmd.sh ... ons.foo | semmle.label | "cmd.sh ... ons.foo |
| command-line-parameter-command-injection.js:108:22:108:28 | options | semmle.label | options |
| command-line-parameter-command-injection.js:114:8:114:52 | cli | semmle.label | cli |
| command-line-parameter-command-injection.js:114:8:114:10 | cli | semmle.label | cli |
| command-line-parameter-command-injection.js:114:14:114:52 | meow(`h ... lags}}) | semmle.label | meow(`h ... lags}}) |
| command-line-parameter-command-injection.js:116:10:116:33 | "cmd.sh ... nput[0] | semmle.label | "cmd.sh ... nput[0] |
| command-line-parameter-command-injection.js:116:22:116:24 | cli | semmle.label | cli |
| command-line-parameter-command-injection.js:122:6:122:46 | opts | semmle.label | opts |
| command-line-parameter-command-injection.js:122:6:122:9 | opts | semmle.label | opts |
| command-line-parameter-command-injection.js:122:13:122:46 | dashdas ... tions}) | semmle.label | dashdas ... tions}) |
| command-line-parameter-command-injection.js:124:10:124:29 | "cmd.sh " + opts.foo | semmle.label | "cmd.sh " + opts.foo |
| command-line-parameter-command-injection.js:124:22:124:25 | opts | semmle.label | opts |
| command-line-parameter-command-injection.js:127:6:127:26 | opts | semmle.label | opts |
| command-line-parameter-command-injection.js:127:6:127:9 | opts | semmle.label | opts |
| command-line-parameter-command-injection.js:127:13:127:26 | parser.parse() | semmle.label | parser.parse() |
| command-line-parameter-command-injection.js:129:10:129:29 | "cmd.sh " + opts.foo | semmle.label | "cmd.sh " + opts.foo |
| command-line-parameter-command-injection.js:129:22:129:25 | opts | semmle.label | opts |
| command-line-parameter-command-injection.js:133:8:133:41 | program | semmle.label | program |
| command-line-parameter-command-injection.js:133:10:133:16 | program | semmle.label | program |
| command-line-parameter-command-injection.js:133:10:133:16 | program | semmle.label | program |
| command-line-parameter-command-injection.js:136:10:136:45 | "cmd.sh ... zzaType | semmle.label | "cmd.sh ... zzaType |
| command-line-parameter-command-injection.js:136:22:136:35 | program.opts() | semmle.label | program.opts() |

View File

@@ -9,20 +9,20 @@
| second-order.js:42:31:42:46 | req.query.remote | second-order.js:42:31:42:46 | req.query.remote | second-order.js:42:31:42:46 | req.query.remote | Command line argument that depends on $@ can execute an arbitrary command if --config=alias.<alias>=<command> is used with hg. | second-order.js:42:31:42:46 | req.query.remote | a user-provided value |
| second-order.js:44:18:44:31 | req.query.args | second-order.js:44:18:44:31 | req.query.args | second-order.js:44:18:44:31 | req.query.args | Command line argument that depends on $@ can execute an arbitrary command if --config=alias.<alias>=<command> is used with hg. | second-order.js:44:18:44:31 | req.query.args | a user-provided value |
edges
| second-order.js:6:9:6:33 | remote | second-order.js:7:33:7:38 | remote | provenance | |
| second-order.js:6:9:6:33 | remote | second-order.js:9:29:9:34 | remote | provenance | |
| second-order.js:6:9:6:33 | remote | second-order.js:11:33:11:38 | remote | provenance | |
| second-order.js:6:9:6:33 | remote | second-order.js:26:35:26:40 | remote | provenance | |
| second-order.js:6:18:6:33 | req.query.remote | second-order.js:6:9:6:33 | remote | provenance | |
| second-order.js:13:9:13:31 | myArgs | second-order.js:15:19:15:24 | myArgs | provenance | |
| second-order.js:13:18:13:31 | req.query.args | second-order.js:13:9:13:31 | myArgs | provenance | |
| second-order.js:6:9:6:14 | remote | second-order.js:7:33:7:38 | remote | provenance | |
| second-order.js:6:9:6:14 | remote | second-order.js:9:29:9:34 | remote | provenance | |
| second-order.js:6:9:6:14 | remote | second-order.js:11:33:11:38 | remote | provenance | |
| second-order.js:6:9:6:14 | remote | second-order.js:26:35:26:40 | remote | provenance | |
| second-order.js:6:18:6:33 | req.query.remote | second-order.js:6:9:6:14 | remote | provenance | |
| second-order.js:13:9:13:14 | myArgs | second-order.js:15:19:15:24 | myArgs | provenance | |
| second-order.js:13:18:13:31 | req.query.args | second-order.js:13:9:13:14 | myArgs | provenance | |
nodes
| second-order.js:6:9:6:33 | remote | semmle.label | remote |
| second-order.js:6:9:6:14 | remote | semmle.label | remote |
| second-order.js:6:18:6:33 | req.query.remote | semmle.label | req.query.remote |
| second-order.js:7:33:7:38 | remote | semmle.label | remote |
| second-order.js:9:29:9:34 | remote | semmle.label | remote |
| second-order.js:11:33:11:38 | remote | semmle.label | remote |
| second-order.js:13:9:13:31 | myArgs | semmle.label | myArgs |
| second-order.js:13:9:13:14 | myArgs | semmle.label | myArgs |
| second-order.js:13:18:13:31 | req.query.args | semmle.label | req.query.args |
| second-order.js:15:19:15:24 | myArgs | semmle.label | myArgs |
| second-order.js:26:35:26:40 | remote | semmle.label | remote |

View File

@@ -142,10 +142,10 @@ edges
| lib/lib.js:155:38:155:41 | name | lib/lib.js:161:25:161:28 | name | provenance | |
| lib/lib.js:170:41:170:44 | name | lib/lib.js:173:20:173:23 | name | provenance | |
| lib/lib.js:177:38:177:41 | name | lib/lib.js:181:21:181:24 | name | provenance | |
| lib/lib.js:181:6:181:52 | broken | lib/lib.js:182:22:182:27 | broken | provenance | |
| lib/lib.js:181:6:181:11 | broken | lib/lib.js:182:22:182:27 | broken | provenance | |
| lib/lib.js:181:21:181:24 | name | lib/lib.js:181:21:181:46 | name.re ... "'\\''") | provenance | |
| lib/lib.js:181:21:181:24 | name | lib/lib.js:181:21:181:46 | name.re ... "'\\''") | provenance | |
| lib/lib.js:181:21:181:46 | name.re ... "'\\''") | lib/lib.js:181:6:181:52 | broken | provenance | |
| lib/lib.js:181:21:181:46 | name.re ... "'\\''") | lib/lib.js:181:6:181:11 | broken | provenance | |
| lib/lib.js:186:34:186:37 | name | lib/lib.js:187:22:187:25 | name | provenance | |
| lib/lib.js:186:34:186:37 | name | lib/lib.js:190:23:190:26 | name | provenance | |
| lib/lib.js:196:45:196:48 | name | lib/lib.js:197:22:197:25 | name | provenance | |
@@ -160,8 +160,8 @@ edges
| lib/lib.js:239:28:239:28 | s | lib/lib.js:245:9:245:9 | s | provenance | |
| lib/lib.js:248:42:248:45 | name | lib/lib.js:249:22:249:25 | name | provenance | |
| lib/lib.js:248:42:248:45 | name | lib/lib.js:251:27:251:30 | name | provenance | |
| lib/lib.js:251:6:251:31 | cleaned | lib/lib.js:253:22:253:28 | cleaned | provenance | |
| lib/lib.js:251:16:251:31 | cleanInput(name) | lib/lib.js:251:6:251:31 | cleaned | provenance | |
| lib/lib.js:251:6:251:12 | cleaned | lib/lib.js:253:22:253:28 | cleaned | provenance | |
| lib/lib.js:251:16:251:31 | cleanInput(name) | lib/lib.js:251:6:251:12 | cleaned | provenance | |
| lib/lib.js:251:27:251:30 | name | lib/lib.js:239:28:239:28 | s | provenance | |
| lib/lib.js:251:27:251:30 | name | lib/lib.js:251:16:251:31 | cleanInput(name) | provenance | |
| lib/lib.js:257:35:257:38 | name | lib/lib.js:258:22:258:25 | name | provenance | |
@@ -235,10 +235,10 @@ edges
| lib/lib.js:608:42:608:45 | name | lib/lib.js:626:29:626:32 | name | provenance | |
| lib/lib.js:608:42:608:45 | name | lib/lib.js:629:25:629:28 | name | provenance | |
| lib/lib.js:632:38:632:41 | name | lib/lib.js:633:24:633:27 | name | provenance | |
| lib/lib.js:633:6:633:68 | sanitized | lib/lib.js:634:22:634:30 | sanitized | provenance | |
| lib/lib.js:633:6:633:14 | sanitized | lib/lib.js:634:22:634:30 | sanitized | provenance | |
| lib/lib.js:633:24:633:27 | name | lib/lib.js:633:24:633:62 | name.re ... '\\\\''") | provenance | |
| lib/lib.js:633:24:633:27 | name | lib/lib.js:633:24:633:62 | name.re ... '\\\\''") | provenance | |
| lib/lib.js:633:24:633:62 | name.re ... '\\\\''") | lib/lib.js:633:6:633:68 | sanitized | provenance | |
| lib/lib.js:633:24:633:62 | name.re ... '\\\\''") | lib/lib.js:633:6:633:14 | sanitized | provenance | |
| lib/subLib2/compiled-file.ts:3:26:3:29 | name | lib/subLib2/compiled-file.ts:4:25:4:28 | name | provenance | |
| lib/subLib2/special-file.js:3:28:3:31 | name | lib/subLib2/special-file.js:4:22:4:25 | name | provenance | |
| lib/subLib3/my-file.ts:3:28:3:31 | name | lib/subLib3/my-file.ts:4:22:4:25 | name | provenance | |
@@ -308,7 +308,7 @@ nodes
| lib/lib.js:170:41:170:44 | name | semmle.label | name |
| lib/lib.js:173:20:173:23 | name | semmle.label | name |
| lib/lib.js:177:38:177:41 | name | semmle.label | name |
| lib/lib.js:181:6:181:52 | broken | semmle.label | broken |
| lib/lib.js:181:6:181:11 | broken | semmle.label | broken |
| lib/lib.js:181:21:181:24 | name | semmle.label | name |
| lib/lib.js:181:21:181:46 | name.re ... "'\\''") | semmle.label | name.re ... "'\\''") |
| lib/lib.js:181:21:181:46 | name.re ... "'\\''") | semmle.label | name.re ... "'\\''") |
@@ -333,7 +333,7 @@ nodes
| lib/lib.js:245:9:245:9 | s | semmle.label | s |
| lib/lib.js:248:42:248:45 | name | semmle.label | name |
| lib/lib.js:249:22:249:25 | name | semmle.label | name |
| lib/lib.js:251:6:251:31 | cleaned | semmle.label | cleaned |
| lib/lib.js:251:6:251:12 | cleaned | semmle.label | cleaned |
| lib/lib.js:251:16:251:31 | cleanInput(name) | semmle.label | cleanInput(name) |
| lib/lib.js:251:27:251:30 | name | semmle.label | name |
| lib/lib.js:253:22:253:28 | cleaned | semmle.label | cleaned |
@@ -428,7 +428,7 @@ nodes
| lib/lib.js:626:29:626:32 | name | semmle.label | name |
| lib/lib.js:629:25:629:28 | name | semmle.label | name |
| lib/lib.js:632:38:632:41 | name | semmle.label | name |
| lib/lib.js:633:6:633:68 | sanitized | semmle.label | sanitized |
| lib/lib.js:633:6:633:14 | sanitized | semmle.label | sanitized |
| lib/lib.js:633:24:633:27 | name | semmle.label | name |
| lib/lib.js:633:24:633:62 | name.re ... '\\\\''") | semmle.label | name.re ... '\\\\''") |
| lib/lib.js:633:24:633:62 | name.re ... '\\\\''") | semmle.label | name.re ... '\\\\''") |

View File

@@ -20,18 +20,18 @@
| testUseQueries.vue:25:10:25:23 | v-html=data2 | testUseQueries.vue:11:36:11:49 | fetch("${id}") | testUseQueries.vue:25:10:25:23 | v-html=data2 | Cross-site scripting vulnerability due to $@. | testUseQueries.vue:11:36:11:49 | fetch("${id}") | user-provided value |
edges
| interceptors.js:7:6:7:13 | response | interceptors.js:8:35:8:42 | response | provenance | |
| interceptors.js:8:15:8:47 | userGeneratedHtml | interceptors.js:9:56:9:72 | userGeneratedHtml | provenance | |
| interceptors.js:8:35:8:42 | response | interceptors.js:8:15:8:47 | userGeneratedHtml | provenance | |
| test.jsx:5:11:5:63 | response | test.jsx:6:24:6:31 | response | provenance | |
| test.jsx:5:22:5:63 | await f ... ntent") | test.jsx:5:11:5:63 | response | provenance | |
| interceptors.js:8:15:8:31 | userGeneratedHtml | interceptors.js:9:56:9:72 | userGeneratedHtml | provenance | |
| interceptors.js:8:35:8:42 | response | interceptors.js:8:15:8:31 | userGeneratedHtml | provenance | |
| test.jsx:5:11:5:18 | response | test.jsx:6:24:6:31 | response | provenance | |
| test.jsx:5:22:5:63 | await f ... ntent") | test.jsx:5:11:5:18 | response | provenance | |
| test.jsx:5:28:5:63 | fetch(" ... ntent") | test.jsx:5:22:5:63 | await f ... ntent") | provenance | |
| test.jsx:6:11:6:38 | data | test.jsx:7:12:7:15 | data | provenance | |
| test.jsx:6:18:6:38 | await r ... .json() | test.jsx:6:11:6:38 | data | provenance | |
| test.jsx:6:11:6:14 | data | test.jsx:7:12:7:15 | data | provenance | |
| test.jsx:6:18:6:38 | await r ... .json() | test.jsx:6:11:6:14 | data | provenance | |
| test.jsx:6:24:6:31 | response | test.jsx:6:24:6:38 | response.json() | provenance | |
| test.jsx:6:24:6:38 | response.json() | test.jsx:6:18:6:38 | await r ... .json() | provenance | |
| test.jsx:7:12:7:15 | data | test.jsx:15:13:15:16 | data | provenance | |
| test.jsx:15:11:17:5 | data | test.jsx:27:29:27:32 | data | provenance | |
| test.jsx:15:13:15:16 | data | test.jsx:15:11:17:5 | data | provenance | |
| test.jsx:15:13:15:16 | data | test.jsx:15:13:15:16 | data | provenance | |
| test.jsx:15:13:15:16 | data | test.jsx:27:29:27:32 | data | provenance | |
| test.ts:8:9:8:79 | this.#h ... query') | test.ts:20:28:20:35 | response | provenance | |
| test.ts:20:28:20:35 | response | test.ts:21:57:21:64 | response | provenance | |
| test.ts:20:28:20:35 | response | test.ts:24:43:24:50 | response | provenance | |
@@ -41,78 +41,78 @@ edges
| test.ts:24:43:24:55 | response.name | test.ts:24:36:24:90 | `<h2>${ ... o}</p>` | provenance | |
| test.ts:24:67:24:74 | response | test.ts:24:67:24:84 | response.owner.bio | provenance | |
| test.ts:24:67:24:84 | response.owner.bio | test.ts:24:36:24:90 | `<h2>${ ... o}</p>` | provenance | |
| test.vue:7:11:13:6 | data | test.vue:15:21:15:24 | data | provenance | |
| test.vue:7:45:7:48 | data | test.vue:7:11:13:6 | data | provenance | |
| test.vue:10:15:10:84 | response | test.vue:11:16:11:23 | response | provenance | |
| test.vue:10:26:10:84 | await f ... sts/1") | test.vue:10:15:10:84 | response | provenance | |
| test.vue:7:45:7:48 | data | test.vue:7:45:7:48 | data | provenance | |
| test.vue:7:45:7:48 | data | test.vue:15:21:15:24 | data | provenance | |
| test.vue:10:15:10:22 | response | test.vue:11:16:11:23 | response | provenance | |
| test.vue:10:26:10:84 | await f ... sts/1") | test.vue:10:15:10:22 | response | provenance | |
| test.vue:10:32:10:84 | fetch(" ... sts/1") | test.vue:10:26:10:84 | await f ... sts/1") | provenance | |
| test.vue:11:16:11:23 | response | test.vue:11:16:11:30 | response.json() | provenance | |
| test.vue:11:16:11:30 | response.json() | test.vue:7:45:7:48 | data | provenance | |
| test.vue:15:21:15:24 | data | test.vue:22:10:22:22 | v-html=data | provenance | |
| testReactRelay.tsx:5:9:5:52 | commentData | testReactRelay.tsx:7:43:7:53 | commentData | provenance | |
| testReactRelay.tsx:5:23:5:52 | useFrag ... entRef) | testReactRelay.tsx:5:9:5:52 | commentData | provenance | |
| testReactRelay.tsx:5:9:5:19 | commentData | testReactRelay.tsx:7:43:7:53 | commentData | provenance | |
| testReactRelay.tsx:5:23:5:52 | useFrag ... entRef) | testReactRelay.tsx:5:9:5:19 | commentData | provenance | |
| testReactRelay.tsx:7:43:7:53 | commentData | testReactRelay.tsx:7:43:7:58 | commentData.text | provenance | |
| testReactRelay.tsx:17:9:17:42 | data | testReactRelay.tsx:18:48:18:51 | data | provenance | |
| testReactRelay.tsx:17:16:17:42 | useLazy ... ry, {}) | testReactRelay.tsx:17:9:17:42 | data | provenance | |
| testReactRelay.tsx:17:9:17:12 | data | testReactRelay.tsx:18:48:18:51 | data | provenance | |
| testReactRelay.tsx:17:16:17:42 | useLazy ... ry, {}) | testReactRelay.tsx:17:9:17:12 | data | provenance | |
| testReactRelay.tsx:18:48:18:51 | data | testReactRelay.tsx:18:48:18:68 | data.co ... 0].text | provenance | |
| testReactRelay.tsx:28:17:28:56 | usePrel ... erence) | testReactRelay.tsx:28:17:28:67 | usePrel ... r?.name | provenance | |
| testReactRelay.tsx:37:9:37:40 | data | testReactRelay.tsx:38:49:38:52 | data | provenance | |
| testReactRelay.tsx:37:16:37:40 | useClie ... ry, {}) | testReactRelay.tsx:37:9:37:40 | data | provenance | |
| testReactRelay.tsx:44:9:44:70 | data | testReactRelay.tsx:47:46:47:49 | data | provenance | |
| testReactRelay.tsx:44:10:44:13 | data | testReactRelay.tsx:44:9:44:70 | data | provenance | |
| testReactRelay.tsx:61:9:70:38 | data | testReactRelay.tsx:71:49:71:52 | data | provenance | |
| testReactRelay.tsx:62:5:62:8 | data | testReactRelay.tsx:61:9:70:38 | data | provenance | |
| testReactRelay.tsx:80:9:80:54 | feedbackText | testReactRelay.tsx:88:50:88:61 | feedbackText | provenance | |
| testReactRelay.tsx:80:10:80:21 | feedbackText | testReactRelay.tsx:80:9:80:54 | feedbackText | provenance | |
| testReactRelay.tsx:37:9:37:12 | data | testReactRelay.tsx:38:49:38:52 | data | provenance | |
| testReactRelay.tsx:37:16:37:40 | useClie ... ry, {}) | testReactRelay.tsx:37:9:37:12 | data | provenance | |
| testReactRelay.tsx:44:10:44:13 | data | testReactRelay.tsx:44:10:44:13 | data | provenance | |
| testReactRelay.tsx:44:10:44:13 | data | testReactRelay.tsx:47:46:47:49 | data | provenance | |
| testReactRelay.tsx:62:5:62:8 | data | testReactRelay.tsx:62:5:62:8 | data | provenance | |
| testReactRelay.tsx:62:5:62:8 | data | testReactRelay.tsx:71:49:71:52 | data | provenance | |
| testReactRelay.tsx:80:10:80:21 | feedbackText | testReactRelay.tsx:80:10:80:21 | feedbackText | provenance | |
| testReactRelay.tsx:80:10:80:21 | feedbackText | testReactRelay.tsx:88:50:88:61 | feedbackText | provenance | |
| testReactRelay.tsx:83:17:83:20 | data | testReactRelay.tsx:84:23:84:26 | data | provenance | |
| testReactRelay.tsx:84:23:84:26 | data | testReactRelay.tsx:80:10:80:21 | feedbackText | provenance | |
| testReactRelay.tsx:95:9:95:50 | fragmentRef | testReactRelay.tsx:113:48:113:58 | fragmentRef | provenance | |
| testReactRelay.tsx:95:10:95:20 | fragmentRef | testReactRelay.tsx:95:9:95:50 | fragmentRef | provenance | |
| testReactRelay.tsx:95:10:95:20 | fragmentRef | testReactRelay.tsx:95:10:95:20 | fragmentRef | provenance | |
| testReactRelay.tsx:95:10:95:20 | fragmentRef | testReactRelay.tsx:113:48:113:58 | fragmentRef | provenance | |
| testReactRelay.tsx:100:14:100:16 | res | testReactRelay.tsx:101:22:101:24 | res | provenance | |
| testReactRelay.tsx:101:22:101:24 | res | testReactRelay.tsx:95:10:95:20 | fragmentRef | provenance | |
| testReactRelay.tsx:124:12:124:15 | data | testReactRelay.tsx:127:35:127:38 | data | provenance | |
| testReactRelay.tsx:127:35:127:38 | data | testReactRelay.tsx:127:35:127:43 | data.user | provenance | |
| testReactRelay.tsx:136:9:136:39 | data | testReactRelay.tsx:137:50:137:53 | data | provenance | |
| testReactRelay.tsx:136:16:136:39 | readFra ... y, key) | testReactRelay.tsx:136:9:136:39 | data | provenance | |
| testReactUseQueries.jsx:4:9:4:53 | response | testReactUseQueries.jsx:5:10:5:17 | response | provenance | |
| testReactUseQueries.jsx:4:20:4:53 | await f ... e.com') | testReactUseQueries.jsx:4:9:4:53 | response | provenance | |
| testReactRelay.tsx:136:9:136:12 | data | testReactRelay.tsx:137:50:137:53 | data | provenance | |
| testReactRelay.tsx:136:16:136:39 | readFra ... y, key) | testReactRelay.tsx:136:9:136:12 | data | provenance | |
| testReactUseQueries.jsx:4:9:4:16 | response | testReactUseQueries.jsx:5:10:5:17 | response | provenance | |
| testReactUseQueries.jsx:4:20:4:53 | await f ... e.com') | testReactUseQueries.jsx:4:9:4:16 | response | provenance | |
| testReactUseQueries.jsx:4:26:4:53 | fetch(' ... e.com') | testReactUseQueries.jsx:4:20:4:53 | await f ... e.com') | provenance | |
| testReactUseQueries.jsx:5:10:5:17 | response | testReactUseQueries.jsx:5:10:5:24 | response.json() | provenance | |
| testReactUseQueries.jsx:5:10:5:24 | response.json() | testReactUseQueries.jsx:37:25:37:38 | repoQuery.data | provenance | |
| testUseQueries2.vue:6:11:6:63 | response | testUseQueries2.vue:7:24:7:31 | response | provenance | |
| testUseQueries2.vue:6:22:6:63 | await f ... ntent") | testUseQueries2.vue:6:11:6:63 | response | provenance | |
| testUseQueries2.vue:6:11:6:18 | response | testUseQueries2.vue:7:24:7:31 | response | provenance | |
| testUseQueries2.vue:6:22:6:63 | await f ... ntent") | testUseQueries2.vue:6:11:6:18 | response | provenance | |
| testUseQueries2.vue:6:28:6:63 | fetch(" ... ntent") | testUseQueries2.vue:6:22:6:63 | await f ... ntent") | provenance | |
| testUseQueries2.vue:7:11:7:38 | data | testUseQueries2.vue:8:12:8:15 | data | provenance | |
| testUseQueries2.vue:7:18:7:38 | await r ... .json() | testUseQueries2.vue:7:11:7:38 | data | provenance | |
| testUseQueries2.vue:7:11:7:14 | data | testUseQueries2.vue:8:12:8:15 | data | provenance | |
| testUseQueries2.vue:7:18:7:38 | await r ... .json() | testUseQueries2.vue:7:11:7:14 | data | provenance | |
| testUseQueries2.vue:7:24:7:31 | response | testUseQueries2.vue:7:24:7:38 | response.json() | provenance | |
| testUseQueries2.vue:7:24:7:38 | response.json() | testUseQueries2.vue:7:18:7:38 | await r ... .json() | provenance | |
| testUseQueries2.vue:8:12:8:15 | data | testUseQueries2.vue:33:22:33:36 | results[0].data | provenance | |
| testUseQueries2.vue:12:11:12:41 | response | testUseQueries2.vue:13:12:13:19 | response | provenance | |
| testUseQueries2.vue:12:22:12:41 | await fetch("${id}") | testUseQueries2.vue:12:11:12:41 | response | provenance | |
| testUseQueries2.vue:12:11:12:18 | response | testUseQueries2.vue:13:12:13:19 | response | provenance | |
| testUseQueries2.vue:12:22:12:41 | await fetch("${id}") | testUseQueries2.vue:12:11:12:18 | response | provenance | |
| testUseQueries2.vue:12:28:12:41 | fetch("${id}") | testUseQueries2.vue:12:22:12:41 | await fetch("${id}") | provenance | |
| testUseQueries2.vue:13:12:13:19 | response | testUseQueries2.vue:13:12:13:26 | response.json() | provenance | |
| testUseQueries2.vue:13:12:13:26 | response.json() | testUseQueries2.vue:33:22:33:36 | results[0].data | provenance | |
| testUseQueries2.vue:33:22:33:36 | results[0].data | testUseQueries2.vue:40:10:40:23 | v-html=data3 | provenance | |
| testUseQueries.vue:11:19:11:49 | response | testUseQueries.vue:12:20:12:27 | response | provenance | |
| testUseQueries.vue:11:30:11:49 | await fetch("${id}") | testUseQueries.vue:11:19:11:49 | response | provenance | |
| testUseQueries.vue:11:19:11:26 | response | testUseQueries.vue:12:20:12:27 | response | provenance | |
| testUseQueries.vue:11:30:11:49 | await fetch("${id}") | testUseQueries.vue:11:19:11:26 | response | provenance | |
| testUseQueries.vue:11:36:11:49 | fetch("${id}") | testUseQueries.vue:11:30:11:49 | await fetch("${id}") | provenance | |
| testUseQueries.vue:12:20:12:27 | response | testUseQueries.vue:12:20:12:34 | response.json() | provenance | |
| testUseQueries.vue:12:20:12:34 | response.json() | testUseQueries.vue:18:22:18:36 | results[0].data | provenance | |
| testUseQueries.vue:18:22:18:36 | results[0].data | testUseQueries.vue:25:10:25:23 | v-html=data2 | provenance | |
nodes
| interceptors.js:7:6:7:13 | response | semmle.label | response |
| interceptors.js:8:15:8:47 | userGeneratedHtml | semmle.label | userGeneratedHtml |
| interceptors.js:8:15:8:31 | userGeneratedHtml | semmle.label | userGeneratedHtml |
| interceptors.js:8:35:8:42 | response | semmle.label | response |
| interceptors.js:9:56:9:72 | userGeneratedHtml | semmle.label | userGeneratedHtml |
| test.jsx:5:11:5:63 | response | semmle.label | response |
| test.jsx:5:11:5:18 | response | semmle.label | response |
| test.jsx:5:22:5:63 | await f ... ntent") | semmle.label | await f ... ntent") |
| test.jsx:5:28:5:63 | fetch(" ... ntent") | semmle.label | fetch(" ... ntent") |
| test.jsx:6:11:6:38 | data | semmle.label | data |
| test.jsx:6:11:6:14 | data | semmle.label | data |
| test.jsx:6:18:6:38 | await r ... .json() | semmle.label | await r ... .json() |
| test.jsx:6:24:6:31 | response | semmle.label | response |
| test.jsx:6:24:6:38 | response.json() | semmle.label | response.json() |
| test.jsx:7:12:7:15 | data | semmle.label | data |
| test.jsx:15:11:17:5 | data | semmle.label | data |
| test.jsx:15:13:15:16 | data | semmle.label | data |
| test.jsx:15:13:15:16 | data | semmle.label | data |
| test.jsx:27:29:27:32 | data | semmle.label | data |
| test.ts:8:9:8:79 | this.#h ... query') | semmle.label | this.#h ... query') |
@@ -124,40 +124,40 @@ nodes
| test.ts:24:43:24:55 | response.name | semmle.label | response.name |
| test.ts:24:67:24:74 | response | semmle.label | response |
| test.ts:24:67:24:84 | response.owner.bio | semmle.label | response.owner.bio |
| test.vue:7:11:13:6 | data | semmle.label | data |
| test.vue:7:45:7:48 | data | semmle.label | data |
| test.vue:10:15:10:84 | response | semmle.label | response |
| test.vue:7:45:7:48 | data | semmle.label | data |
| test.vue:10:15:10:22 | response | semmle.label | response |
| test.vue:10:26:10:84 | await f ... sts/1") | semmle.label | await f ... sts/1") |
| test.vue:10:32:10:84 | fetch(" ... sts/1") | semmle.label | fetch(" ... sts/1") |
| test.vue:11:16:11:23 | response | semmle.label | response |
| test.vue:11:16:11:30 | response.json() | semmle.label | response.json() |
| test.vue:15:21:15:24 | data | semmle.label | data |
| test.vue:22:10:22:22 | v-html=data | semmle.label | v-html=data |
| testReactRelay.tsx:5:9:5:52 | commentData | semmle.label | commentData |
| testReactRelay.tsx:5:9:5:19 | commentData | semmle.label | commentData |
| testReactRelay.tsx:5:23:5:52 | useFrag ... entRef) | semmle.label | useFrag ... entRef) |
| testReactRelay.tsx:7:43:7:53 | commentData | semmle.label | commentData |
| testReactRelay.tsx:7:43:7:58 | commentData.text | semmle.label | commentData.text |
| testReactRelay.tsx:17:9:17:42 | data | semmle.label | data |
| testReactRelay.tsx:17:9:17:12 | data | semmle.label | data |
| testReactRelay.tsx:17:16:17:42 | useLazy ... ry, {}) | semmle.label | useLazy ... ry, {}) |
| testReactRelay.tsx:18:48:18:51 | data | semmle.label | data |
| testReactRelay.tsx:18:48:18:68 | data.co ... 0].text | semmle.label | data.co ... 0].text |
| testReactRelay.tsx:28:17:28:56 | usePrel ... erence) | semmle.label | usePrel ... erence) |
| testReactRelay.tsx:28:17:28:67 | usePrel ... r?.name | semmle.label | usePrel ... r?.name |
| testReactRelay.tsx:37:9:37:40 | data | semmle.label | data |
| testReactRelay.tsx:37:9:37:12 | data | semmle.label | data |
| testReactRelay.tsx:37:16:37:40 | useClie ... ry, {}) | semmle.label | useClie ... ry, {}) |
| testReactRelay.tsx:38:49:38:52 | data | semmle.label | data |
| testReactRelay.tsx:44:9:44:70 | data | semmle.label | data |
| testReactRelay.tsx:44:10:44:13 | data | semmle.label | data |
| testReactRelay.tsx:44:10:44:13 | data | semmle.label | data |
| testReactRelay.tsx:47:46:47:49 | data | semmle.label | data |
| testReactRelay.tsx:61:9:70:38 | data | semmle.label | data |
| testReactRelay.tsx:62:5:62:8 | data | semmle.label | data |
| testReactRelay.tsx:62:5:62:8 | data | semmle.label | data |
| testReactRelay.tsx:71:49:71:52 | data | semmle.label | data |
| testReactRelay.tsx:80:9:80:54 | feedbackText | semmle.label | feedbackText |
| testReactRelay.tsx:80:10:80:21 | feedbackText | semmle.label | feedbackText |
| testReactRelay.tsx:80:10:80:21 | feedbackText | semmle.label | feedbackText |
| testReactRelay.tsx:83:17:83:20 | data | semmle.label | data |
| testReactRelay.tsx:84:23:84:26 | data | semmle.label | data |
| testReactRelay.tsx:88:50:88:61 | feedbackText | semmle.label | feedbackText |
| testReactRelay.tsx:95:9:95:50 | fragmentRef | semmle.label | fragmentRef |
| testReactRelay.tsx:95:10:95:20 | fragmentRef | semmle.label | fragmentRef |
| testReactRelay.tsx:95:10:95:20 | fragmentRef | semmle.label | fragmentRef |
| testReactRelay.tsx:100:14:100:16 | res | semmle.label | res |
| testReactRelay.tsx:101:22:101:24 | res | semmle.label | res |
@@ -165,31 +165,31 @@ nodes
| testReactRelay.tsx:124:12:124:15 | data | semmle.label | data |
| testReactRelay.tsx:127:35:127:38 | data | semmle.label | data |
| testReactRelay.tsx:127:35:127:43 | data.user | semmle.label | data.user |
| testReactRelay.tsx:136:9:136:39 | data | semmle.label | data |
| testReactRelay.tsx:136:9:136:12 | data | semmle.label | data |
| testReactRelay.tsx:136:16:136:39 | readFra ... y, key) | semmle.label | readFra ... y, key) |
| testReactRelay.tsx:137:50:137:53 | data | semmle.label | data |
| testReactUseQueries.jsx:4:9:4:53 | response | semmle.label | response |
| testReactUseQueries.jsx:4:9:4:16 | response | semmle.label | response |
| testReactUseQueries.jsx:4:20:4:53 | await f ... e.com') | semmle.label | await f ... e.com') |
| testReactUseQueries.jsx:4:26:4:53 | fetch(' ... e.com') | semmle.label | fetch(' ... e.com') |
| testReactUseQueries.jsx:5:10:5:17 | response | semmle.label | response |
| testReactUseQueries.jsx:5:10:5:24 | response.json() | semmle.label | response.json() |
| testReactUseQueries.jsx:37:25:37:38 | repoQuery.data | semmle.label | repoQuery.data |
| testUseQueries2.vue:6:11:6:63 | response | semmle.label | response |
| testUseQueries2.vue:6:11:6:18 | response | semmle.label | response |
| testUseQueries2.vue:6:22:6:63 | await f ... ntent") | semmle.label | await f ... ntent") |
| testUseQueries2.vue:6:28:6:63 | fetch(" ... ntent") | semmle.label | fetch(" ... ntent") |
| testUseQueries2.vue:7:11:7:38 | data | semmle.label | data |
| testUseQueries2.vue:7:11:7:14 | data | semmle.label | data |
| testUseQueries2.vue:7:18:7:38 | await r ... .json() | semmle.label | await r ... .json() |
| testUseQueries2.vue:7:24:7:31 | response | semmle.label | response |
| testUseQueries2.vue:7:24:7:38 | response.json() | semmle.label | response.json() |
| testUseQueries2.vue:8:12:8:15 | data | semmle.label | data |
| testUseQueries2.vue:12:11:12:41 | response | semmle.label | response |
| testUseQueries2.vue:12:11:12:18 | response | semmle.label | response |
| testUseQueries2.vue:12:22:12:41 | await fetch("${id}") | semmle.label | await fetch("${id}") |
| testUseQueries2.vue:12:28:12:41 | fetch("${id}") | semmle.label | fetch("${id}") |
| testUseQueries2.vue:13:12:13:19 | response | semmle.label | response |
| testUseQueries2.vue:13:12:13:26 | response.json() | semmle.label | response.json() |
| testUseQueries2.vue:33:22:33:36 | results[0].data | semmle.label | results[0].data |
| testUseQueries2.vue:40:10:40:23 | v-html=data3 | semmle.label | v-html=data3 |
| testUseQueries.vue:11:19:11:49 | response | semmle.label | response |
| testUseQueries.vue:11:19:11:26 | response | semmle.label | response |
| testUseQueries.vue:11:30:11:49 | await fetch("${id}") | semmle.label | await fetch("${id}") |
| testUseQueries.vue:11:36:11:49 | fetch("${id}") | semmle.label | fetch("${id}") |
| testUseQueries.vue:12:20:12:27 | response | semmle.label | response |

View File

@@ -18,16 +18,16 @@
| exception-xss.js:175:18:175:18 | e | exception-xss.js:146:12:146:35 | documen ... .search | exception-xss.js:175:18:175:18 | e | $@ is reinterpreted as HTML without escaping meta-characters. | exception-xss.js:146:12:146:35 | documen ... .search | Exception text |
| exception-xss.js:182:19:182:23 | error | exception-xss.js:180:10:180:22 | req.params.id | exception-xss.js:182:19:182:23 | error | $@ is reinterpreted as HTML without escaping meta-characters. | exception-xss.js:180:10:180:22 | req.params.id | Exception text |
edges
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:9:11:9:13 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:15:9:15:11 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:21:11:21:13 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:33:19:33:21 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:46:16:46:18 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:81:16:81:18 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:89:11:89:13 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:95:12:95:14 | foo | provenance | |
| exception-xss.js:2:6:2:28 | foo | exception-xss.js:102:12:102:14 | foo | provenance | |
| exception-xss.js:2:12:2:28 | document.location | exception-xss.js:2:6:2:28 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:9:11:9:13 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:15:9:15:11 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:21:11:21:13 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:33:19:33:21 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:46:16:46:18 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:81:16:81:18 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:89:11:89:13 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:95:12:95:14 | foo | provenance | |
| exception-xss.js:2:6:2:8 | foo | exception-xss.js:102:12:102:14 | foo | provenance | |
| exception-xss.js:2:12:2:28 | document.location | exception-xss.js:2:6:2:8 | foo | provenance | |
| exception-xss.js:4:17:4:17 | x | exception-xss.js:5:11:5:11 | x | provenance | |
| exception-xss.js:9:11:9:13 | foo | exception-xss.js:10:11:10:11 | e | provenance | Config |
| exception-xss.js:10:11:10:11 | e | exception-xss.js:11:18:11:18 | e | provenance | |
@@ -75,10 +75,10 @@ edges
| exception-xss.js:129:11:129:11 | e | exception-xss.js:130:18:130:18 | e | provenance | |
| exception-xss.js:136:10:136:22 | req.params.id | exception-xss.js:136:26:136:30 | error | provenance | Config |
| exception-xss.js:136:26:136:30 | error | exception-xss.js:138:19:138:23 | error | provenance | |
| exception-xss.js:146:6:146:35 | foo | exception-xss.js:148:33:148:35 | foo | provenance | |
| exception-xss.js:146:6:146:35 | foo | exception-xss.js:153:8:153:10 | foo | provenance | |
| exception-xss.js:146:6:146:35 | foo | exception-xss.js:174:31:174:33 | foo | provenance | |
| exception-xss.js:146:12:146:35 | documen ... .search | exception-xss.js:146:6:146:35 | foo | provenance | |
| exception-xss.js:146:6:146:8 | foo | exception-xss.js:148:33:148:35 | foo | provenance | |
| exception-xss.js:146:6:146:8 | foo | exception-xss.js:153:8:153:10 | foo | provenance | |
| exception-xss.js:146:6:146:8 | foo | exception-xss.js:174:31:174:33 | foo | provenance | |
| exception-xss.js:146:12:146:35 | documen ... .search | exception-xss.js:146:6:146:8 | foo | provenance | |
| exception-xss.js:148:2:148:46 | new Pro ... solve)) [PromiseError] | exception-xss.js:148:55:148:55 | e | provenance | |
| exception-xss.js:148:33:148:35 | foo | exception-xss.js:148:2:148:46 | new Pro ... solve)) [PromiseError] | provenance | Config |
| exception-xss.js:148:55:148:55 | e | exception-xss.js:149:18:149:18 | e | provenance | |
@@ -95,7 +95,7 @@ edges
nodes
| ajv.js:11:18:11:33 | ajv.errorsText() | semmle.label | ajv.errorsText() |
| ajv.js:24:18:24:26 | val.error | semmle.label | val.error |
| exception-xss.js:2:6:2:28 | foo | semmle.label | foo |
| exception-xss.js:2:6:2:8 | foo | semmle.label | foo |
| exception-xss.js:2:12:2:28 | document.location | semmle.label | document.location |
| exception-xss.js:4:17:4:17 | x | semmle.label | x |
| exception-xss.js:5:11:5:11 | x | semmle.label | x |
@@ -154,7 +154,7 @@ nodes
| exception-xss.js:136:10:136:22 | req.params.id | semmle.label | req.params.id |
| exception-xss.js:136:26:136:30 | error | semmle.label | error |
| exception-xss.js:138:19:138:23 | error | semmle.label | error |
| exception-xss.js:146:6:146:35 | foo | semmle.label | foo |
| exception-xss.js:146:6:146:8 | foo | semmle.label | foo |
| exception-xss.js:146:12:146:35 | documen ... .search | semmle.label | documen ... .search |
| exception-xss.js:148:2:148:46 | new Pro ... solve)) [PromiseError] | semmle.label | new Pro ... solve)) [PromiseError] |
| exception-xss.js:148:33:148:35 | foo | semmle.label | foo |

View File

@@ -78,8 +78,8 @@ edges
| ReflectedXss.js:7:33:7:45 | req.params.id | ReflectedXss.js:7:14:7:45 | "Unknow ... rams.id | provenance | |
| ReflectedXss.js:16:31:16:39 | params.id | ReflectedXss.js:16:12:16:39 | "Unknow ... rams.id | provenance | |
| ReflectedXss.js:22:19:22:26 | req.body | ReflectedXss.js:22:12:22:27 | marked(req.body) | provenance | |
| ReflectedXss.js:29:7:32:4 | mytable | ReflectedXss.js:33:12:33:18 | mytable | provenance | |
| ReflectedXss.js:29:17:32:4 | table([ ... ce\\n ]) | ReflectedXss.js:29:7:32:4 | mytable | provenance | |
| ReflectedXss.js:29:7:29:13 | mytable | ReflectedXss.js:33:12:33:18 | mytable | provenance | |
| ReflectedXss.js:29:17:32:4 | table([ ... ce\\n ]) | ReflectedXss.js:29:7:29:13 | mytable | provenance | |
| ReflectedXss.js:29:23:32:3 | [\\n [ ... rce\\n ] [1, 1] | ReflectedXss.js:29:17:32:4 | table([ ... ce\\n ]) | provenance | |
| ReflectedXss.js:31:5:31:22 | ['body', req.body] [1] | ReflectedXss.js:29:23:32:3 | [\\n [ ... rce\\n ] [1, 1] | provenance | |
| ReflectedXss.js:31:14:31:21 | req.body | ReflectedXss.js:31:5:31:22 | ['body', req.body] [1] | provenance | |
@@ -97,23 +97,23 @@ edges
| ReflectedXss.js:97:30:97:37 | req.body | ReflectedXss.js:97:12:97:38 | markdow ... q.body) | provenance | |
| ReflectedXss.js:99:31:99:38 | req.body | ReflectedXss.js:99:12:99:39 | markdow ... q.body) | provenance | |
| ReflectedXss.js:102:76:102:83 | req.body | ReflectedXss.js:102:12:102:84 | markdow ... q.body) | provenance | |
| ReflectedXss.js:113:11:113:41 | queryKeys | ReflectedXss.js:115:18:115:26 | queryKeys | provenance | |
| ReflectedXss.js:113:13:113:27 | keys: queryKeys | ReflectedXss.js:113:11:113:41 | queryKeys | provenance | |
| ReflectedXss.js:115:11:115:45 | keys | ReflectedXss.js:117:50:117:53 | keys | provenance | |
| ReflectedXss.js:115:11:115:45 | keys | ReflectedXss.js:117:58:117:61 | keys | provenance | |
| ReflectedXss.js:115:18:115:26 | queryKeys | ReflectedXss.js:115:11:115:45 | keys | provenance | |
| ReflectedXss.js:115:31:115:45 | paramKeys?.keys | ReflectedXss.js:115:11:115:45 | keys | provenance | |
| ReflectedXss.js:117:11:117:61 | keyArray | ReflectedXss.js:118:25:118:32 | keyArray | provenance | |
| ReflectedXss.js:117:11:117:61 | keyArray [0] | ReflectedXss.js:118:25:118:32 | keyArray [0] | provenance | |
| ReflectedXss.js:117:49:117:54 | [keys] [0] | ReflectedXss.js:117:11:117:61 | keyArray [0] | provenance | |
| ReflectedXss.js:113:13:113:27 | keys: queryKeys | ReflectedXss.js:113:19:113:27 | queryKeys | provenance | |
| ReflectedXss.js:113:19:113:27 | queryKeys | ReflectedXss.js:115:18:115:26 | queryKeys | provenance | |
| ReflectedXss.js:115:11:115:14 | keys | ReflectedXss.js:117:50:117:53 | keys | provenance | |
| ReflectedXss.js:115:11:115:14 | keys | ReflectedXss.js:117:58:117:61 | keys | provenance | |
| ReflectedXss.js:115:18:115:26 | queryKeys | ReflectedXss.js:115:11:115:14 | keys | provenance | |
| ReflectedXss.js:115:31:115:45 | paramKeys?.keys | ReflectedXss.js:115:11:115:14 | keys | provenance | |
| ReflectedXss.js:117:11:117:18 | keyArray | ReflectedXss.js:118:25:118:32 | keyArray | provenance | |
| ReflectedXss.js:117:11:117:18 | keyArray [0] | ReflectedXss.js:118:25:118:32 | keyArray [0] | provenance | |
| ReflectedXss.js:117:49:117:54 | [keys] [0] | ReflectedXss.js:117:11:117:18 | keyArray [0] | provenance | |
| ReflectedXss.js:117:50:117:53 | keys | ReflectedXss.js:117:49:117:54 | [keys] [0] | provenance | |
| ReflectedXss.js:117:58:117:61 | keys | ReflectedXss.js:117:11:117:61 | keyArray | provenance | |
| ReflectedXss.js:118:11:118:72 | invalidKeys | ReflectedXss.js:121:33:121:43 | invalidKeys | provenance | |
| ReflectedXss.js:118:11:118:72 | invalidKeys [0] | ReflectedXss.js:121:33:121:43 | invalidKeys [0] | provenance | |
| ReflectedXss.js:117:58:117:61 | keys | ReflectedXss.js:117:11:117:18 | keyArray | provenance | |
| ReflectedXss.js:118:11:118:21 | invalidKeys | ReflectedXss.js:121:33:121:43 | invalidKeys | provenance | |
| ReflectedXss.js:118:11:118:21 | invalidKeys [0] | ReflectedXss.js:121:33:121:43 | invalidKeys [0] | provenance | |
| ReflectedXss.js:118:25:118:32 | keyArray | ReflectedXss.js:118:25:118:72 | keyArra ... s(key)) | provenance | |
| ReflectedXss.js:118:25:118:32 | keyArray [0] | ReflectedXss.js:118:25:118:72 | keyArra ... s(key)) [0] | provenance | |
| ReflectedXss.js:118:25:118:72 | keyArra ... s(key)) | ReflectedXss.js:118:11:118:72 | invalidKeys | provenance | |
| ReflectedXss.js:118:25:118:72 | keyArra ... s(key)) [0] | ReflectedXss.js:118:11:118:72 | invalidKeys [0] | provenance | |
| ReflectedXss.js:118:25:118:72 | keyArra ... s(key)) | ReflectedXss.js:118:11:118:21 | invalidKeys | provenance | |
| ReflectedXss.js:118:25:118:72 | keyArra ... s(key)) [0] | ReflectedXss.js:118:11:118:21 | invalidKeys [0] | provenance | |
| ReflectedXss.js:121:33:121:43 | invalidKeys | ReflectedXss.js:121:33:121:54 | invalid ... n(', ') | provenance | |
| ReflectedXss.js:121:33:121:43 | invalidKeys [0] | ReflectedXss.js:121:33:121:54 | invalid ... n(', ') | provenance | |
| ReflectedXss.js:121:33:121:54 | invalid ... n(', ') | ReflectedXss.js:121:30:121:73 | `${inva ... telist` | provenance | |
@@ -123,11 +123,11 @@ edges
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id | ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id | provenance | |
| ReflectedXssGood3.js:68:22:68:26 | value | ReflectedXssGood3.js:77:16:77:20 | value | provenance | |
| ReflectedXssGood3.js:68:22:68:26 | value | ReflectedXssGood3.js:105:18:105:22 | value | provenance | |
| ReflectedXssGood3.js:77:7:77:37 | parts | ReflectedXssGood3.js:108:10:108:14 | parts | provenance | |
| ReflectedXssGood3.js:77:7:77:37 | parts [0] | ReflectedXssGood3.js:108:10:108:14 | parts [0] | provenance | |
| ReflectedXssGood3.js:77:15:77:37 | [value. ... (0, i)] [0] | ReflectedXssGood3.js:77:7:77:37 | parts [0] | provenance | |
| ReflectedXssGood3.js:77:7:77:11 | parts | ReflectedXssGood3.js:108:10:108:14 | parts | provenance | |
| ReflectedXssGood3.js:77:7:77:11 | parts [0] | ReflectedXssGood3.js:108:10:108:14 | parts [0] | provenance | |
| ReflectedXssGood3.js:77:15:77:37 | [value. ... (0, i)] [0] | ReflectedXssGood3.js:77:7:77:11 | parts [0] | provenance | |
| ReflectedXssGood3.js:77:16:77:20 | value | ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | provenance | |
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | ReflectedXssGood3.js:77:7:77:37 | parts | provenance | |
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | ReflectedXssGood3.js:77:7:77:11 | parts | provenance | |
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | ReflectedXssGood3.js:77:15:77:37 | [value. ... (0, i)] [0] | provenance | |
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | ReflectedXssGood3.js:108:10:108:23 | parts.join('') | provenance | |
| ReflectedXssGood3.js:105:7:105:11 | [post update] parts [ArrayElement] | ReflectedXssGood3.js:108:10:108:14 | parts [ArrayElement] | provenance | |
@@ -136,34 +136,34 @@ edges
| ReflectedXssGood3.js:108:10:108:14 | parts | ReflectedXssGood3.js:108:10:108:23 | parts.join('') | provenance | |
| ReflectedXssGood3.js:108:10:108:14 | parts [0] | ReflectedXssGood3.js:108:10:108:23 | parts.join('') | provenance | |
| ReflectedXssGood3.js:108:10:108:14 | parts [ArrayElement] | ReflectedXssGood3.js:108:10:108:23 | parts.join('') | provenance | |
| ReflectedXssGood3.js:135:9:135:27 | url | ReflectedXssGood3.js:139:24:139:26 | url | provenance | |
| ReflectedXssGood3.js:135:15:135:27 | req.params.id | ReflectedXssGood3.js:135:9:135:27 | url | provenance | |
| ReflectedXssGood3.js:135:9:135:11 | url | ReflectedXssGood3.js:139:24:139:26 | url | provenance | |
| ReflectedXssGood3.js:135:15:135:27 | req.params.id | ReflectedXssGood3.js:135:9:135:11 | url | provenance | |
| ReflectedXssGood3.js:139:24:139:26 | url | ReflectedXssGood3.js:68:22:68:26 | value | provenance | |
| ReflectedXssGood3.js:139:24:139:26 | url | ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) | provenance | |
| app/api/route.ts:2:11:2:33 | body | app/api/route.ts:5:18:5:21 | body | provenance | |
| app/api/route.ts:2:11:2:33 | body | app/api/route.ts:13:18:13:21 | body | provenance | |
| app/api/route.ts:2:11:2:33 | body | app/api/route.ts:25:18:25:21 | body | provenance | |
| app/api/route.ts:2:11:2:33 | body | app/api/route.ts:29:25:29:28 | body | provenance | |
| app/api/route.ts:2:18:2:33 | await req.json() | app/api/route.ts:2:11:2:33 | body | provenance | |
| app/api/route.ts:2:11:2:14 | body | app/api/route.ts:5:18:5:21 | body | provenance | |
| app/api/route.ts:2:11:2:14 | body | app/api/route.ts:13:18:13:21 | body | provenance | |
| app/api/route.ts:2:11:2:14 | body | app/api/route.ts:25:18:25:21 | body | provenance | |
| app/api/route.ts:2:11:2:14 | body | app/api/route.ts:29:25:29:28 | body | provenance | |
| app/api/route.ts:2:18:2:33 | await req.json() | app/api/route.ts:2:11:2:14 | body | provenance | |
| app/api/route.ts:2:24:2:33 | req.json() | app/api/route.ts:2:18:2:33 | await req.json() | provenance | |
| app/api/routeNextRequest.ts:4:9:4:31 | body | app/api/routeNextRequest.ts:7:20:7:23 | body | provenance | |
| app/api/routeNextRequest.ts:4:9:4:31 | body | app/api/routeNextRequest.ts:15:20:15:23 | body | provenance | |
| app/api/routeNextRequest.ts:4:9:4:31 | body | app/api/routeNextRequest.ts:27:20:27:23 | body | provenance | |
| app/api/routeNextRequest.ts:4:9:4:31 | body | app/api/routeNextRequest.ts:31:27:31:30 | body | provenance | |
| app/api/routeNextRequest.ts:4:16:4:31 | await req.json() | app/api/routeNextRequest.ts:4:9:4:31 | body | provenance | |
| app/api/routeNextRequest.ts:4:9:4:12 | body | app/api/routeNextRequest.ts:7:20:7:23 | body | provenance | |
| app/api/routeNextRequest.ts:4:9:4:12 | body | app/api/routeNextRequest.ts:15:20:15:23 | body | provenance | |
| app/api/routeNextRequest.ts:4:9:4:12 | body | app/api/routeNextRequest.ts:27:20:27:23 | body | provenance | |
| app/api/routeNextRequest.ts:4:9:4:12 | body | app/api/routeNextRequest.ts:31:27:31:30 | body | provenance | |
| app/api/routeNextRequest.ts:4:16:4:31 | await req.json() | app/api/routeNextRequest.ts:4:9:4:12 | body | provenance | |
| app/api/routeNextRequest.ts:4:22:4:31 | req.json() | app/api/routeNextRequest.ts:4:16:4:31 | await req.json() | provenance | |
| etherpad.js:9:5:9:53 | response | etherpad.js:11:12:11:19 | response | provenance | |
| etherpad.js:9:16:9:30 | req.query.jsonp | etherpad.js:9:5:9:53 | response | provenance | |
| formatting.js:4:9:4:29 | evil | formatting.js:6:43:6:46 | evil | provenance | |
| formatting.js:4:9:4:29 | evil | formatting.js:7:49:7:52 | evil | provenance | |
| formatting.js:4:16:4:29 | req.query.evil | formatting.js:4:9:4:29 | evil | provenance | |
| etherpad.js:9:5:9:12 | response | etherpad.js:11:12:11:19 | response | provenance | |
| etherpad.js:9:16:9:30 | req.query.jsonp | etherpad.js:9:5:9:12 | response | provenance | |
| formatting.js:4:9:4:12 | evil | formatting.js:6:43:6:46 | evil | provenance | |
| formatting.js:4:9:4:12 | evil | formatting.js:7:49:7:52 | evil | provenance | |
| formatting.js:4:16:4:29 | req.query.evil | formatting.js:4:9:4:12 | evil | provenance | |
| formatting.js:6:43:6:46 | evil | formatting.js:6:14:6:47 | util.fo ... , evil) | provenance | |
| formatting.js:7:49:7:52 | evil | formatting.js:7:14:7:53 | require ... , evil) | provenance | |
| live-server.js:4:11:4:27 | tainted | live-server.js:6:28:6:34 | tainted | provenance | |
| live-server.js:4:21:4:27 | req.url | live-server.js:4:11:4:27 | tainted | provenance | |
| live-server.js:4:11:4:17 | tainted | live-server.js:6:28:6:34 | tainted | provenance | |
| live-server.js:4:21:4:27 | req.url | live-server.js:4:11:4:17 | tainted | provenance | |
| live-server.js:6:28:6:34 | tainted | live-server.js:6:13:6:50 | `<html> ... /html>` | provenance | |
| live-server.js:10:11:10:27 | tainted | live-server.js:12:28:12:34 | tainted | provenance | |
| live-server.js:10:21:10:27 | req.url | live-server.js:10:11:10:27 | tainted | provenance | |
| live-server.js:10:11:10:17 | tainted | live-server.js:12:28:12:34 | tainted | provenance | |
| live-server.js:10:21:10:27 | req.url | live-server.js:10:11:10:17 | tainted | provenance | |
| live-server.js:12:28:12:34 | tainted | live-server.js:12:13:12:50 | `<html> ... /html>` | provenance | |
| partial.js:9:25:9:25 | x | partial.js:10:14:10:14 | x | provenance | |
| partial.js:10:14:10:14 | x | partial.js:10:14:10:18 | x + y | provenance | |
@@ -182,85 +182,85 @@ edges
| promises.js:5:36:5:42 | [post update] resolve [resolve-value] | promises.js:5:16:5:22 | resolve [Return] [resolve-value] | provenance | |
| promises.js:5:44:5:57 | req.query.data | promises.js:5:36:5:42 | [post update] resolve [resolve-value] | provenance | |
| promises.js:6:11:6:11 | x | promises.js:6:25:6:25 | x | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:9:18:9:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:10:18:10:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:11:18:11:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:14:18:14:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:17:18:17:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:23:18:23:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:26:18:26:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:34:18:34:21 | data | provenance | |
| response-object.js:7:11:7:25 | data | response-object.js:38:18:38:21 | data | provenance | |
| response-object.js:7:18:7:25 | req.body | response-object.js:7:11:7:25 | data | provenance | |
| tst2.js:6:7:6:30 | p | tst2.js:7:12:7:12 | p | provenance | |
| tst2.js:6:7:6:30 | r | tst2.js:8:12:8:12 | r | provenance | |
| tst2.js:6:9:6:9 | p | tst2.js:6:7:6:30 | p | provenance | |
| tst2.js:6:12:6:15 | q: r | tst2.js:6:7:6:30 | r | provenance | |
| tst2.js:14:7:14:24 | p | tst2.js:18:12:18:12 | p | provenance | |
| tst2.js:14:7:14:24 | p | tst2.js:21:14:21:14 | p | provenance | |
| tst2.js:14:9:14:9 | p | tst2.js:14:7:14:24 | p | provenance | |
| tst2.js:30:7:30:24 | p | tst2.js:33:11:33:11 | p | provenance | |
| tst2.js:30:7:30:24 | p | tst2.js:36:12:36:12 | p | provenance | |
| tst2.js:30:9:30:9 | p | tst2.js:30:7:30:24 | p | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:9:18:9:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:10:18:10:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:11:18:11:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:14:18:14:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:17:18:17:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:23:18:23:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:26:18:26:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:34:18:34:21 | data | provenance | |
| response-object.js:7:11:7:14 | data | response-object.js:38:18:38:21 | data | provenance | |
| response-object.js:7:18:7:25 | req.body | response-object.js:7:11:7:14 | data | provenance | |
| tst2.js:6:9:6:9 | p | tst2.js:6:9:6:9 | p | provenance | |
| tst2.js:6:9:6:9 | p | tst2.js:7:12:7:12 | p | provenance | |
| tst2.js:6:12:6:15 | q: r | tst2.js:6:15:6:15 | r | provenance | |
| tst2.js:6:15:6:15 | r | tst2.js:8:12:8:12 | r | provenance | |
| tst2.js:14:9:14:9 | p | tst2.js:14:9:14:9 | p | provenance | |
| tst2.js:14:9:14:9 | p | tst2.js:18:12:18:12 | p | provenance | |
| tst2.js:14:9:14:9 | p | tst2.js:21:14:21:14 | p | provenance | |
| tst2.js:30:9:30:9 | p | tst2.js:30:9:30:9 | p | provenance | |
| tst2.js:30:9:30:9 | p | tst2.js:33:11:33:11 | p | provenance | |
| tst2.js:30:9:30:9 | p | tst2.js:36:12:36:12 | p | provenance | |
| tst2.js:33:3:33:5 | [post update] obj [p] | tst2.js:34:21:34:23 | obj [p] | provenance | |
| tst2.js:33:11:33:11 | p | tst2.js:33:3:33:5 | [post update] obj [p] | provenance | |
| tst2.js:34:7:34:24 | other [p] | tst2.js:37:12:37:16 | other [p] | provenance | |
| tst2.js:34:15:34:24 | clone(obj) [p] | tst2.js:34:7:34:24 | other [p] | provenance | |
| tst2.js:34:7:34:11 | other [p] | tst2.js:37:12:37:16 | other [p] | provenance | |
| tst2.js:34:15:34:24 | clone(obj) [p] | tst2.js:34:7:34:11 | other [p] | provenance | |
| tst2.js:34:21:34:23 | obj [p] | tst2.js:34:15:34:24 | clone(obj) [p] | provenance | |
| tst2.js:37:12:37:16 | other [p] | tst2.js:37:12:37:18 | other.p | provenance | |
| tst2.js:43:7:43:24 | p | tst2.js:49:36:49:36 | p | provenance | |
| tst2.js:43:9:43:9 | p | tst2.js:43:7:43:24 | p | provenance | |
| tst2.js:49:7:49:53 | unsafe | tst2.js:51:12:51:17 | unsafe | provenance | |
| tst2.js:49:16:49:53 | seriali ... true}) | tst2.js:49:7:49:53 | unsafe | provenance | |
| tst2.js:43:9:43:9 | p | tst2.js:43:9:43:9 | p | provenance | |
| tst2.js:43:9:43:9 | p | tst2.js:49:36:49:36 | p | provenance | |
| tst2.js:49:7:49:12 | unsafe | tst2.js:51:12:51:17 | unsafe | provenance | |
| tst2.js:49:16:49:53 | seriali ... true}) | tst2.js:49:7:49:12 | unsafe | provenance | |
| tst2.js:49:36:49:36 | p | tst2.js:49:16:49:53 | seriali ... true}) | provenance | |
| tst2.js:57:7:57:24 | p | tst2.js:60:11:60:11 | p | provenance | |
| tst2.js:57:7:57:24 | p | tst2.js:63:12:63:12 | p | provenance | |
| tst2.js:57:9:57:9 | p | tst2.js:57:7:57:24 | p | provenance | |
| tst2.js:57:9:57:9 | p | tst2.js:57:9:57:9 | p | provenance | |
| tst2.js:57:9:57:9 | p | tst2.js:60:11:60:11 | p | provenance | |
| tst2.js:57:9:57:9 | p | tst2.js:63:12:63:12 | p | provenance | |
| tst2.js:60:3:60:5 | [post update] obj [p] | tst2.js:61:22:61:24 | obj [p] | provenance | |
| tst2.js:60:11:60:11 | p | tst2.js:60:3:60:5 | [post update] obj [p] | provenance | |
| tst2.js:61:7:61:25 | other [p] | tst2.js:64:12:64:16 | other [p] | provenance | |
| tst2.js:61:15:61:25 | fclone(obj) [p] | tst2.js:61:7:61:25 | other [p] | provenance | |
| tst2.js:61:7:61:11 | other [p] | tst2.js:64:12:64:16 | other [p] | provenance | |
| tst2.js:61:15:61:25 | fclone(obj) [p] | tst2.js:61:7:61:11 | other [p] | provenance | |
| tst2.js:61:22:61:24 | obj [p] | tst2.js:61:15:61:25 | fclone(obj) [p] | provenance | |
| tst2.js:64:12:64:16 | other [p] | tst2.js:64:12:64:18 | other.p | provenance | |
| tst2.js:69:7:69:24 | p | tst2.js:72:11:72:11 | p | provenance | |
| tst2.js:69:7:69:24 | p | tst2.js:75:12:75:12 | p | provenance | |
| tst2.js:69:9:69:9 | p | tst2.js:69:7:69:24 | p | provenance | |
| tst2.js:69:9:69:9 | p | tst2.js:69:9:69:9 | p | provenance | |
| tst2.js:69:9:69:9 | p | tst2.js:72:11:72:11 | p | provenance | |
| tst2.js:69:9:69:9 | p | tst2.js:75:12:75:12 | p | provenance | |
| tst2.js:72:3:72:5 | [post update] obj [p] | tst2.js:73:40:73:42 | obj [p] | provenance | |
| tst2.js:72:11:72:11 | p | tst2.js:72:3:72:5 | [post update] obj [p] | provenance | |
| tst2.js:73:7:73:44 | other [p] | tst2.js:76:12:76:16 | other [p] | provenance | |
| tst2.js:73:15:73:44 | jc.retr ... e(obj)) [p] | tst2.js:73:7:73:44 | other [p] | provenance | |
| tst2.js:73:7:73:11 | other [p] | tst2.js:76:12:76:16 | other [p] | provenance | |
| tst2.js:73:15:73:44 | jc.retr ... e(obj)) [p] | tst2.js:73:7:73:11 | other [p] | provenance | |
| tst2.js:73:29:73:43 | jc.decycle(obj) [p] | tst2.js:73:15:73:44 | jc.retr ... e(obj)) [p] | provenance | |
| tst2.js:73:40:73:42 | obj [p] | tst2.js:73:29:73:43 | jc.decycle(obj) [p] | provenance | |
| tst2.js:76:12:76:16 | other [p] | tst2.js:76:12:76:18 | other.p | provenance | |
| tst2.js:82:7:82:24 | p | tst2.js:85:11:85:11 | p | provenance | |
| tst2.js:82:7:82:24 | p | tst2.js:88:12:88:12 | p | provenance | |
| tst2.js:82:9:82:9 | p | tst2.js:82:7:82:24 | p | provenance | |
| tst2.js:82:9:82:9 | p | tst2.js:82:9:82:9 | p | provenance | |
| tst2.js:82:9:82:9 | p | tst2.js:85:11:85:11 | p | provenance | |
| tst2.js:82:9:82:9 | p | tst2.js:88:12:88:12 | p | provenance | |
| tst2.js:85:3:85:5 | [post update] obj [p] | tst2.js:86:24:86:26 | obj [p] | provenance | |
| tst2.js:85:11:85:11 | p | tst2.js:85:3:85:5 | [post update] obj [p] | provenance | |
| tst2.js:86:7:86:27 | other [p] | tst2.js:89:12:89:16 | other [p] | provenance | |
| tst2.js:86:15:86:27 | sortKeys(obj) [p] | tst2.js:86:7:86:27 | other [p] | provenance | |
| tst2.js:86:7:86:11 | other [p] | tst2.js:89:12:89:16 | other [p] | provenance | |
| tst2.js:86:15:86:27 | sortKeys(obj) [p] | tst2.js:86:7:86:11 | other [p] | provenance | |
| tst2.js:86:24:86:26 | obj [p] | tst2.js:86:15:86:27 | sortKeys(obj) [p] | provenance | |
| tst2.js:89:12:89:16 | other [p] | tst2.js:89:12:89:18 | other.p | provenance | |
| tst2.js:93:7:93:24 | p | tst2.js:99:51:99:51 | p | provenance | |
| tst2.js:93:9:93:9 | p | tst2.js:93:7:93:24 | p | provenance | |
| tst2.js:99:7:99:69 | unsafe | tst2.js:101:12:101:17 | unsafe | provenance | |
| tst2.js:99:16:99:69 | seriali ... true}) | tst2.js:99:7:99:69 | unsafe | provenance | |
| tst2.js:93:9:93:9 | p | tst2.js:93:9:93:9 | p | provenance | |
| tst2.js:93:9:93:9 | p | tst2.js:99:51:99:51 | p | provenance | |
| tst2.js:99:7:99:12 | unsafe | tst2.js:101:12:101:17 | unsafe | provenance | |
| tst2.js:99:16:99:69 | seriali ... true}) | tst2.js:99:7:99:12 | unsafe | provenance | |
| tst2.js:99:36:99:52 | {someProperty: p} [someProperty] | tst2.js:99:16:99:69 | seriali ... true}) | provenance | |
| tst2.js:99:51:99:51 | p | tst2.js:99:16:99:69 | seriali ... true}) | provenance | |
| tst2.js:99:51:99:51 | p | tst2.js:99:36:99:52 | {someProperty: p} [someProperty] | provenance | |
| tst2.js:105:7:105:24 | p | tst2.js:110:28:110:28 | p | provenance | |
| tst2.js:105:9:105:9 | p | tst2.js:105:7:105:24 | p | provenance | |
| tst2.js:110:7:110:29 | obj [someProperty] | tst2.js:111:36:111:38 | obj [someProperty] | provenance | |
| tst2.js:110:13:110:29 | {someProperty: p} [someProperty] | tst2.js:110:7:110:29 | obj [someProperty] | provenance | |
| tst2.js:105:9:105:9 | p | tst2.js:105:9:105:9 | p | provenance | |
| tst2.js:105:9:105:9 | p | tst2.js:110:28:110:28 | p | provenance | |
| tst2.js:110:7:110:9 | obj [someProperty] | tst2.js:111:36:111:38 | obj [someProperty] | provenance | |
| tst2.js:110:13:110:29 | {someProperty: p} [someProperty] | tst2.js:110:7:110:9 | obj [someProperty] | provenance | |
| tst2.js:110:28:110:28 | p | tst2.js:110:13:110:29 | {someProperty: p} [someProperty] | provenance | |
| tst2.js:110:28:110:28 | p | tst2.js:111:16:111:55 | seriali ... true}) | provenance | |
| tst2.js:111:7:111:55 | unsafe | tst2.js:113:12:113:17 | unsafe | provenance | |
| tst2.js:111:16:111:55 | seriali ... true}) | tst2.js:111:7:111:55 | unsafe | provenance | |
| tst2.js:111:7:111:12 | unsafe | tst2.js:113:12:113:17 | unsafe | provenance | |
| tst2.js:111:16:111:55 | seriali ... true}) | tst2.js:111:7:111:12 | unsafe | provenance | |
| tst2.js:111:36:111:38 | obj [someProperty] | tst2.js:111:16:111:55 | seriali ... true}) | provenance | |
| tst3.js:5:7:5:24 | p | tst3.js:6:12:6:12 | p | provenance | |
| tst3.js:5:9:5:9 | p | tst3.js:5:7:5:24 | p | provenance | |
| tst3.js:11:9:11:74 | code | tst3.js:12:12:12:15 | code | provenance | |
| tst3.js:11:16:11:74 | prettie ... bel" }) | tst3.js:11:9:11:74 | code | provenance | |
| tst3.js:5:9:5:9 | p | tst3.js:5:9:5:9 | p | provenance | |
| tst3.js:5:9:5:9 | p | tst3.js:6:12:6:12 | p | provenance | |
| tst3.js:11:9:11:12 | code | tst3.js:12:12:12:15 | code | provenance | |
| tst3.js:11:16:11:74 | prettie ... bel" }) | tst3.js:11:9:11:12 | code | provenance | |
| tst3.js:11:32:11:39 | reg.body | tst3.js:11:16:11:74 | prettie ... bel" }) | provenance | |
nodes
| ReflectedXss.js:7:14:7:45 | "Unknow ... rams.id | semmle.label | "Unknow ... rams.id |
@@ -271,7 +271,7 @@ nodes
| ReflectedXss.js:22:12:22:27 | marked(req.body) | semmle.label | marked(req.body) |
| ReflectedXss.js:22:19:22:26 | req.body | semmle.label | req.body |
| ReflectedXss.js:28:12:28:19 | req.body | semmle.label | req.body |
| ReflectedXss.js:29:7:32:4 | mytable | semmle.label | mytable |
| ReflectedXss.js:29:7:29:13 | mytable | semmle.label | mytable |
| ReflectedXss.js:29:17:32:4 | table([ ... ce\\n ]) | semmle.label | table([ ... ce\\n ]) |
| ReflectedXss.js:29:23:32:3 | [\\n [ ... rce\\n ] [1, 1] | semmle.label | [\\n [ ... rce\\n ] [1, 1] |
| ReflectedXss.js:31:5:31:22 | ['body', req.body] [1] | semmle.label | ['body', req.body] [1] |
@@ -306,18 +306,18 @@ nodes
| ReflectedXss.js:102:12:102:84 | markdow ... q.body) | semmle.label | markdow ... q.body) |
| ReflectedXss.js:102:76:102:83 | req.body | semmle.label | req.body |
| ReflectedXss.js:109:16:109:30 | request.query.p | semmle.label | request.query.p |
| ReflectedXss.js:113:11:113:41 | queryKeys | semmle.label | queryKeys |
| ReflectedXss.js:113:13:113:27 | keys: queryKeys | semmle.label | keys: queryKeys |
| ReflectedXss.js:115:11:115:45 | keys | semmle.label | keys |
| ReflectedXss.js:113:19:113:27 | queryKeys | semmle.label | queryKeys |
| ReflectedXss.js:115:11:115:14 | keys | semmle.label | keys |
| ReflectedXss.js:115:18:115:26 | queryKeys | semmle.label | queryKeys |
| ReflectedXss.js:115:31:115:45 | paramKeys?.keys | semmle.label | paramKeys?.keys |
| ReflectedXss.js:117:11:117:61 | keyArray | semmle.label | keyArray |
| ReflectedXss.js:117:11:117:61 | keyArray [0] | semmle.label | keyArray [0] |
| ReflectedXss.js:117:11:117:18 | keyArray | semmle.label | keyArray |
| ReflectedXss.js:117:11:117:18 | keyArray [0] | semmle.label | keyArray [0] |
| ReflectedXss.js:117:49:117:54 | [keys] [0] | semmle.label | [keys] [0] |
| ReflectedXss.js:117:50:117:53 | keys | semmle.label | keys |
| ReflectedXss.js:117:58:117:61 | keys | semmle.label | keys |
| ReflectedXss.js:118:11:118:72 | invalidKeys | semmle.label | invalidKeys |
| ReflectedXss.js:118:11:118:72 | invalidKeys [0] | semmle.label | invalidKeys [0] |
| ReflectedXss.js:118:11:118:21 | invalidKeys | semmle.label | invalidKeys |
| ReflectedXss.js:118:11:118:21 | invalidKeys [0] | semmle.label | invalidKeys [0] |
| ReflectedXss.js:118:25:118:32 | keyArray | semmle.label | keyArray |
| ReflectedXss.js:118:25:118:32 | keyArray [0] | semmle.label | keyArray [0] |
| ReflectedXss.js:118:25:118:72 | keyArra ... s(key)) | semmle.label | keyArra ... s(key)) |
@@ -335,8 +335,8 @@ nodes
| ReflectedXssContentTypes.js:70:12:70:34 | "FOO: " ... rams.id | semmle.label | "FOO: " ... rams.id |
| ReflectedXssContentTypes.js:70:22:70:34 | req.params.id | semmle.label | req.params.id |
| ReflectedXssGood3.js:68:22:68:26 | value | semmle.label | value |
| ReflectedXssGood3.js:77:7:77:37 | parts | semmle.label | parts |
| ReflectedXssGood3.js:77:7:77:37 | parts [0] | semmle.label | parts [0] |
| ReflectedXssGood3.js:77:7:77:11 | parts | semmle.label | parts |
| ReflectedXssGood3.js:77:7:77:11 | parts [0] | semmle.label | parts [0] |
| ReflectedXssGood3.js:77:15:77:37 | [value. ... (0, i)] [0] | semmle.label | [value. ... (0, i)] [0] |
| ReflectedXssGood3.js:77:16:77:20 | value | semmle.label | value |
| ReflectedXssGood3.js:77:16:77:36 | value.s ... g(0, i) | semmle.label | value.s ... g(0, i) |
@@ -347,38 +347,38 @@ nodes
| ReflectedXssGood3.js:108:10:108:14 | parts [0] | semmle.label | parts [0] |
| ReflectedXssGood3.js:108:10:108:14 | parts [ArrayElement] | semmle.label | parts [ArrayElement] |
| ReflectedXssGood3.js:108:10:108:23 | parts.join('') | semmle.label | parts.join('') |
| ReflectedXssGood3.js:135:9:135:27 | url | semmle.label | url |
| ReflectedXssGood3.js:135:9:135:11 | url | semmle.label | url |
| ReflectedXssGood3.js:135:15:135:27 | req.params.id | semmle.label | req.params.id |
| ReflectedXssGood3.js:139:12:139:27 | escapeHtml3(url) | semmle.label | escapeHtml3(url) |
| ReflectedXssGood3.js:139:24:139:26 | url | semmle.label | url |
| app/api/route.ts:2:11:2:33 | body | semmle.label | body |
| app/api/route.ts:2:11:2:14 | body | semmle.label | body |
| app/api/route.ts:2:18:2:33 | await req.json() | semmle.label | await req.json() |
| app/api/route.ts:2:24:2:33 | req.json() | semmle.label | req.json() |
| app/api/route.ts:5:18:5:21 | body | semmle.label | body |
| app/api/route.ts:13:18:13:21 | body | semmle.label | body |
| app/api/route.ts:25:18:25:21 | body | semmle.label | body |
| app/api/route.ts:29:25:29:28 | body | semmle.label | body |
| app/api/routeNextRequest.ts:4:9:4:31 | body | semmle.label | body |
| app/api/routeNextRequest.ts:4:9:4:12 | body | semmle.label | body |
| app/api/routeNextRequest.ts:4:16:4:31 | await req.json() | semmle.label | await req.json() |
| app/api/routeNextRequest.ts:4:22:4:31 | req.json() | semmle.label | req.json() |
| app/api/routeNextRequest.ts:7:20:7:23 | body | semmle.label | body |
| app/api/routeNextRequest.ts:15:20:15:23 | body | semmle.label | body |
| app/api/routeNextRequest.ts:27:20:27:23 | body | semmle.label | body |
| app/api/routeNextRequest.ts:31:27:31:30 | body | semmle.label | body |
| etherpad.js:9:5:9:53 | response | semmle.label | response |
| etherpad.js:9:5:9:12 | response | semmle.label | response |
| etherpad.js:9:16:9:30 | req.query.jsonp | semmle.label | req.query.jsonp |
| etherpad.js:11:12:11:19 | response | semmle.label | response |
| formatting.js:4:9:4:29 | evil | semmle.label | evil |
| formatting.js:4:9:4:12 | evil | semmle.label | evil |
| formatting.js:4:16:4:29 | req.query.evil | semmle.label | req.query.evil |
| formatting.js:6:14:6:47 | util.fo ... , evil) | semmle.label | util.fo ... , evil) |
| formatting.js:6:43:6:46 | evil | semmle.label | evil |
| formatting.js:7:14:7:53 | require ... , evil) | semmle.label | require ... , evil) |
| formatting.js:7:49:7:52 | evil | semmle.label | evil |
| live-server.js:4:11:4:27 | tainted | semmle.label | tainted |
| live-server.js:4:11:4:17 | tainted | semmle.label | tainted |
| live-server.js:4:21:4:27 | req.url | semmle.label | req.url |
| live-server.js:6:13:6:50 | `<html> ... /html>` | semmle.label | `<html> ... /html>` |
| live-server.js:6:28:6:34 | tainted | semmle.label | tainted |
| live-server.js:10:11:10:27 | tainted | semmle.label | tainted |
| live-server.js:10:11:10:17 | tainted | semmle.label | tainted |
| live-server.js:10:21:10:27 | req.url | semmle.label | req.url |
| live-server.js:12:13:12:50 | `<html> ... /html>` | semmle.label | `<html> ... /html>` |
| live-server.js:12:28:12:34 | tainted | semmle.label | tainted |
@@ -407,7 +407,7 @@ nodes
| promises.js:5:44:5:57 | req.query.data | semmle.label | req.query.data |
| promises.js:6:11:6:11 | x | semmle.label | x |
| promises.js:6:25:6:25 | x | semmle.label | x |
| response-object.js:7:11:7:25 | data | semmle.label | data |
| response-object.js:7:11:7:14 | data | semmle.label | data |
| response-object.js:7:18:7:25 | req.body | semmle.label | req.body |
| response-object.js:9:18:9:21 | data | semmle.label | data |
| response-object.js:10:18:10:21 | data | semmle.label | data |
@@ -418,83 +418,83 @@ nodes
| response-object.js:26:18:26:21 | data | semmle.label | data |
| response-object.js:34:18:34:21 | data | semmle.label | data |
| response-object.js:38:18:38:21 | data | semmle.label | data |
| tst2.js:6:7:6:30 | p | semmle.label | p |
| tst2.js:6:7:6:30 | r | semmle.label | r |
| tst2.js:6:9:6:9 | p | semmle.label | p |
| tst2.js:6:9:6:9 | p | semmle.label | p |
| tst2.js:6:12:6:15 | q: r | semmle.label | q: r |
| tst2.js:6:15:6:15 | r | semmle.label | r |
| tst2.js:7:12:7:12 | p | semmle.label | p |
| tst2.js:8:12:8:12 | r | semmle.label | r |
| tst2.js:14:7:14:24 | p | semmle.label | p |
| tst2.js:14:9:14:9 | p | semmle.label | p |
| tst2.js:14:9:14:9 | p | semmle.label | p |
| tst2.js:18:12:18:12 | p | semmle.label | p |
| tst2.js:21:14:21:14 | p | semmle.label | p |
| tst2.js:30:7:30:24 | p | semmle.label | p |
| tst2.js:30:9:30:9 | p | semmle.label | p |
| tst2.js:30:9:30:9 | p | semmle.label | p |
| tst2.js:33:3:33:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
| tst2.js:33:11:33:11 | p | semmle.label | p |
| tst2.js:34:7:34:24 | other [p] | semmle.label | other [p] |
| tst2.js:34:7:34:11 | other [p] | semmle.label | other [p] |
| tst2.js:34:15:34:24 | clone(obj) [p] | semmle.label | clone(obj) [p] |
| tst2.js:34:21:34:23 | obj [p] | semmle.label | obj [p] |
| tst2.js:36:12:36:12 | p | semmle.label | p |
| tst2.js:37:12:37:16 | other [p] | semmle.label | other [p] |
| tst2.js:37:12:37:18 | other.p | semmle.label | other.p |
| tst2.js:43:7:43:24 | p | semmle.label | p |
| tst2.js:43:9:43:9 | p | semmle.label | p |
| tst2.js:49:7:49:53 | unsafe | semmle.label | unsafe |
| tst2.js:43:9:43:9 | p | semmle.label | p |
| tst2.js:49:7:49:12 | unsafe | semmle.label | unsafe |
| tst2.js:49:16:49:53 | seriali ... true}) | semmle.label | seriali ... true}) |
| tst2.js:49:36:49:36 | p | semmle.label | p |
| tst2.js:51:12:51:17 | unsafe | semmle.label | unsafe |
| tst2.js:57:7:57:24 | p | semmle.label | p |
| tst2.js:57:9:57:9 | p | semmle.label | p |
| tst2.js:57:9:57:9 | p | semmle.label | p |
| tst2.js:60:3:60:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
| tst2.js:60:11:60:11 | p | semmle.label | p |
| tst2.js:61:7:61:25 | other [p] | semmle.label | other [p] |
| tst2.js:61:7:61:11 | other [p] | semmle.label | other [p] |
| tst2.js:61:15:61:25 | fclone(obj) [p] | semmle.label | fclone(obj) [p] |
| tst2.js:61:22:61:24 | obj [p] | semmle.label | obj [p] |
| tst2.js:63:12:63:12 | p | semmle.label | p |
| tst2.js:64:12:64:16 | other [p] | semmle.label | other [p] |
| tst2.js:64:12:64:18 | other.p | semmle.label | other.p |
| tst2.js:69:7:69:24 | p | semmle.label | p |
| tst2.js:69:9:69:9 | p | semmle.label | p |
| tst2.js:69:9:69:9 | p | semmle.label | p |
| tst2.js:72:3:72:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
| tst2.js:72:11:72:11 | p | semmle.label | p |
| tst2.js:73:7:73:44 | other [p] | semmle.label | other [p] |
| tst2.js:73:7:73:11 | other [p] | semmle.label | other [p] |
| tst2.js:73:15:73:44 | jc.retr ... e(obj)) [p] | semmle.label | jc.retr ... e(obj)) [p] |
| tst2.js:73:29:73:43 | jc.decycle(obj) [p] | semmle.label | jc.decycle(obj) [p] |
| tst2.js:73:40:73:42 | obj [p] | semmle.label | obj [p] |
| tst2.js:75:12:75:12 | p | semmle.label | p |
| tst2.js:76:12:76:16 | other [p] | semmle.label | other [p] |
| tst2.js:76:12:76:18 | other.p | semmle.label | other.p |
| tst2.js:82:7:82:24 | p | semmle.label | p |
| tst2.js:82:9:82:9 | p | semmle.label | p |
| tst2.js:82:9:82:9 | p | semmle.label | p |
| tst2.js:85:3:85:5 | [post update] obj [p] | semmle.label | [post update] obj [p] |
| tst2.js:85:11:85:11 | p | semmle.label | p |
| tst2.js:86:7:86:27 | other [p] | semmle.label | other [p] |
| tst2.js:86:7:86:11 | other [p] | semmle.label | other [p] |
| tst2.js:86:15:86:27 | sortKeys(obj) [p] | semmle.label | sortKeys(obj) [p] |
| tst2.js:86:24:86:26 | obj [p] | semmle.label | obj [p] |
| tst2.js:88:12:88:12 | p | semmle.label | p |
| tst2.js:89:12:89:16 | other [p] | semmle.label | other [p] |
| tst2.js:89:12:89:18 | other.p | semmle.label | other.p |
| tst2.js:93:7:93:24 | p | semmle.label | p |
| tst2.js:93:9:93:9 | p | semmle.label | p |
| tst2.js:99:7:99:69 | unsafe | semmle.label | unsafe |
| tst2.js:93:9:93:9 | p | semmle.label | p |
| tst2.js:99:7:99:12 | unsafe | semmle.label | unsafe |
| tst2.js:99:16:99:69 | seriali ... true}) | semmle.label | seriali ... true}) |
| tst2.js:99:36:99:52 | {someProperty: p} [someProperty] | semmle.label | {someProperty: p} [someProperty] |
| tst2.js:99:51:99:51 | p | semmle.label | p |
| tst2.js:101:12:101:17 | unsafe | semmle.label | unsafe |
| tst2.js:105:7:105:24 | p | semmle.label | p |
| tst2.js:105:9:105:9 | p | semmle.label | p |
| tst2.js:110:7:110:29 | obj [someProperty] | semmle.label | obj [someProperty] |
| tst2.js:105:9:105:9 | p | semmle.label | p |
| tst2.js:110:7:110:9 | obj [someProperty] | semmle.label | obj [someProperty] |
| tst2.js:110:13:110:29 | {someProperty: p} [someProperty] | semmle.label | {someProperty: p} [someProperty] |
| tst2.js:110:28:110:28 | p | semmle.label | p |
| tst2.js:111:7:111:55 | unsafe | semmle.label | unsafe |
| tst2.js:111:7:111:12 | unsafe | semmle.label | unsafe |
| tst2.js:111:16:111:55 | seriali ... true}) | semmle.label | seriali ... true}) |
| tst2.js:111:36:111:38 | obj [someProperty] | semmle.label | obj [someProperty] |
| tst2.js:113:12:113:17 | unsafe | semmle.label | unsafe |
| tst3.js:5:7:5:24 | p | semmle.label | p |
| tst3.js:5:9:5:9 | p | semmle.label | p |
| tst3.js:5:9:5:9 | p | semmle.label | p |
| tst3.js:6:12:6:12 | p | semmle.label | p |
| tst3.js:11:9:11:74 | code | semmle.label | code |
| tst3.js:11:9:11:12 | code | semmle.label | code |
| tst3.js:11:16:11:74 | prettie ... bel" }) | semmle.label | prettie ... bel" }) |
| tst3.js:11:32:11:39 | reg.body | semmle.label | reg.body |
| tst3.js:12:12:12:15 | code | semmle.label | code |

View File

@@ -22,12 +22,12 @@ edges
| xss-through-filenames.js:30:34:30:37 | file | xss-through-filenames.js:31:25:31:28 | file | provenance | |
| xss-through-filenames.js:31:25:31:28 | file | xss-through-filenames.js:31:13:31:18 | [post update] files2 [ArrayElement] | provenance | |
| xss-through-filenames.js:33:19:33:24 | files2 [ArrayElement] | xss-through-filenames.js:35:29:35:34 | files2 [ArrayElement] | provenance | |
| xss-through-filenames.js:35:13:35:35 | files3 | xss-through-filenames.js:37:19:37:24 | files3 | provenance | |
| xss-through-filenames.js:35:22:35:35 | format(files2) | xss-through-filenames.js:35:13:35:35 | files3 | provenance | |
| xss-through-filenames.js:35:13:35:18 | files3 | xss-through-filenames.js:37:19:37:24 | files3 | provenance | |
| xss-through-filenames.js:35:22:35:35 | format(files2) | xss-through-filenames.js:35:13:35:18 | files3 | provenance | |
| xss-through-filenames.js:35:29:35:34 | files2 [ArrayElement] | xss-through-filenames.js:17:21:17:26 | files2 [ArrayElement] | provenance | |
| xss-through-filenames.js:35:29:35:34 | files2 [ArrayElement] | xss-through-filenames.js:35:22:35:35 | format(files2) | provenance | |
| xss-through-torrent.js:6:6:6:24 | name | xss-through-torrent.js:7:11:7:14 | name | provenance | |
| xss-through-torrent.js:6:13:6:24 | torrent.name | xss-through-torrent.js:6:6:6:24 | name | provenance | |
| xss-through-torrent.js:6:6:6:9 | name | xss-through-torrent.js:7:11:7:14 | name | provenance | |
| xss-through-torrent.js:6:13:6:24 | torrent.name | xss-through-torrent.js:6:6:6:9 | name | provenance | |
nodes
| xss-through-filenames.js:7:43:7:48 | files1 | semmle.label | files1 |
| xss-through-filenames.js:8:18:8:23 | files1 | semmle.label | files1 |
@@ -48,11 +48,11 @@ nodes
| xss-through-filenames.js:31:25:31:28 | file | semmle.label | file |
| xss-through-filenames.js:33:19:33:24 | files2 | semmle.label | files2 |
| xss-through-filenames.js:33:19:33:24 | files2 [ArrayElement] | semmle.label | files2 [ArrayElement] |
| xss-through-filenames.js:35:13:35:35 | files3 | semmle.label | files3 |
| xss-through-filenames.js:35:13:35:18 | files3 | semmle.label | files3 |
| xss-through-filenames.js:35:22:35:35 | format(files2) | semmle.label | format(files2) |
| xss-through-filenames.js:35:29:35:34 | files2 [ArrayElement] | semmle.label | files2 [ArrayElement] |
| xss-through-filenames.js:37:19:37:24 | files3 | semmle.label | files3 |
| xss-through-torrent.js:6:6:6:24 | name | semmle.label | name |
| xss-through-torrent.js:6:6:6:9 | name | semmle.label | name |
| xss-through-torrent.js:6:13:6:24 | torrent.name | semmle.label | torrent.name |
| xss-through-torrent.js:7:11:7:14 | name | semmle.label | name |
subpaths

View File

@@ -29,11 +29,11 @@ edges
| lib2/index.ts:1:28:1:28 | s | lib2/index.ts:2:27:2:27 | s | provenance | |
| lib2/index.ts:6:29:6:36 | settings | lib2/index.ts:7:58:7:65 | settings | provenance | |
| lib2/index.ts:6:29:6:36 | settings | lib2/index.ts:13:16:13:23 | settings | provenance | |
| lib2/index.ts:13:9:13:41 | name | lib2/index.ts:18:62:18:65 | name | provenance | |
| lib2/index.ts:13:9:13:12 | name | lib2/index.ts:18:62:18:65 | name | provenance | |
| lib2/index.ts:13:16:13:23 | settings | lib2/index.ts:13:16:13:33 | settings.mySetting | provenance | Config |
| lib2/index.ts:13:16:13:33 | settings.mySetting | lib2/index.ts:13:16:13:36 | setting ... ting[i] | provenance | Config |
| lib2/index.ts:13:16:13:36 | setting ... ting[i] | lib2/index.ts:13:16:13:41 | setting ... i].name | provenance | Config |
| lib2/index.ts:13:16:13:41 | setting ... i].name | lib2/index.ts:13:9:13:41 | name | provenance | |
| lib2/index.ts:13:16:13:41 | setting ... i].name | lib2/index.ts:13:9:13:12 | name | provenance | |
| lib2/src/MyNode.ts:1:28:1:28 | s | lib2/src/MyNode.ts:2:29:2:29 | s | provenance | |
| lib/src/MyNode.ts:1:28:1:28 | s | lib/src/MyNode.ts:2:29:2:29 | s | provenance | |
| main.js:1:55:1:55 | s | main.js:2:29:2:29 | s | provenance | |
@@ -41,12 +41,12 @@ edges
| main.js:11:60:11:60 | s | main.js:12:49:12:49 | s | provenance | |
| main.js:21:47:21:47 | s | main.js:22:34:22:34 | s | provenance | |
| main.js:56:28:56:34 | options | main.js:60:41:60:47 | options | provenance | |
| main.js:57:11:59:5 | defaults | main.js:60:31:60:38 | defaults | provenance | |
| main.js:57:11:59:5 | defaults | main.js:60:31:60:38 | defaults | provenance | |
| main.js:57:22:59:5 | {\\n ... "\\n } | main.js:57:11:59:5 | defaults | provenance | |
| main.js:57:22:59:5 | {\\n ... "\\n } | main.js:57:11:59:5 | defaults | provenance | |
| main.js:60:11:60:48 | settings | main.js:62:19:62:26 | settings | provenance | |
| main.js:60:22:60:48 | $.exten ... ptions) | main.js:60:11:60:48 | settings | provenance | |
| main.js:57:11:57:18 | defaults | main.js:60:31:60:38 | defaults | provenance | |
| main.js:57:11:57:18 | defaults | main.js:60:31:60:38 | defaults | provenance | |
| main.js:57:22:59:5 | {\\n ... "\\n } | main.js:57:11:57:18 | defaults | provenance | |
| main.js:57:22:59:5 | {\\n ... "\\n } | main.js:57:11:57:18 | defaults | provenance | |
| main.js:60:11:60:18 | settings | main.js:62:19:62:26 | settings | provenance | |
| main.js:60:22:60:48 | $.exten ... ptions) | main.js:60:11:60:18 | settings | provenance | |
| main.js:60:31:60:38 | defaults | main.js:60:22:60:48 | $.exten ... ptions) | provenance | |
| main.js:60:31:60:38 | defaults | main.js:60:22:60:48 | $.exten ... ptions) | provenance | |
| main.js:60:31:60:38 | defaults | main.js:60:22:60:48 | $.exten ... ptions) | provenance | Config |
@@ -78,7 +78,7 @@ nodes
| lib2/index.ts:2:27:2:27 | s | semmle.label | s |
| lib2/index.ts:6:29:6:36 | settings | semmle.label | settings |
| lib2/index.ts:7:58:7:65 | settings | semmle.label | settings |
| lib2/index.ts:13:9:13:41 | name | semmle.label | name |
| lib2/index.ts:13:9:13:12 | name | semmle.label | name |
| lib2/index.ts:13:16:13:23 | settings | semmle.label | settings |
| lib2/index.ts:13:16:13:33 | settings.mySetting | semmle.label | settings.mySetting |
| lib2/index.ts:13:16:13:36 | setting ... ting[i] | semmle.label | setting ... ting[i] |
@@ -97,11 +97,11 @@ nodes
| main.js:21:47:21:47 | s | semmle.label | s |
| main.js:22:34:22:34 | s | semmle.label | s |
| main.js:56:28:56:34 | options | semmle.label | options |
| main.js:57:11:59:5 | defaults | semmle.label | defaults |
| main.js:57:11:59:5 | defaults | semmle.label | defaults |
| main.js:57:11:57:18 | defaults | semmle.label | defaults |
| main.js:57:11:57:18 | defaults | semmle.label | defaults |
| main.js:57:22:59:5 | {\\n ... "\\n } | semmle.label | {\\n ... "\\n } |
| main.js:57:22:59:5 | {\\n ... "\\n } | semmle.label | {\\n ... "\\n } |
| main.js:60:11:60:48 | settings | semmle.label | settings |
| main.js:60:11:60:18 | settings | semmle.label | settings |
| main.js:60:22:60:48 | $.exten ... ptions) | semmle.label | $.exten ... ptions) |
| main.js:60:31:60:38 | defaults | semmle.label | defaults |
| main.js:60:31:60:38 | defaults | semmle.label | defaults |

View File

@@ -32,15 +32,15 @@ edges
| unsafe-jquery-plugin.js:5:5:5:18 | options.target | unsafe-jquery-plugin.js:11:16:11:29 | options.target | provenance | Config |
| unsafe-jquery-plugin.js:7:17:7:23 | options | unsafe-jquery-plugin.js:7:17:7:30 | options.target | provenance | |
| unsafe-jquery-plugin.js:7:17:7:30 | options.target | unsafe-jquery-plugin.js:11:16:11:29 | options.target | provenance | Config |
| unsafe-jquery-plugin.js:11:7:11:29 | target | unsafe-jquery-plugin.js:22:6:22:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:29 | target | unsafe-jquery-plugin.js:30:6:30:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:29 | target | unsafe-jquery-plugin.js:36:6:36:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:29 | target | unsafe-jquery-plugin.js:40:6:40:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:29 | target | unsafe-jquery-plugin.js:48:6:48:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:29 | target | unsafe-jquery-plugin.js:52:6:52:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:29 | target | unsafe-jquery-plugin.js:60:6:60:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:12 | target | unsafe-jquery-plugin.js:22:6:22:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:12 | target | unsafe-jquery-plugin.js:30:6:30:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:12 | target | unsafe-jquery-plugin.js:36:6:36:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:12 | target | unsafe-jquery-plugin.js:40:6:40:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:12 | target | unsafe-jquery-plugin.js:48:6:48:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:12 | target | unsafe-jquery-plugin.js:52:6:52:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:7:11:12 | target | unsafe-jquery-plugin.js:60:6:60:11 | target | provenance | |
| unsafe-jquery-plugin.js:11:16:11:22 | options | unsafe-jquery-plugin.js:11:16:11:29 | options.target | provenance | |
| unsafe-jquery-plugin.js:11:16:11:29 | options.target | unsafe-jquery-plugin.js:11:7:11:29 | target | provenance | |
| unsafe-jquery-plugin.js:11:16:11:29 | options.target | unsafe-jquery-plugin.js:11:7:11:12 | target | provenance | |
| unsafe-jquery-plugin.js:65:47:65:53 | options | unsafe-jquery-plugin.js:67:37:67:43 | options | provenance | |
| unsafe-jquery-plugin.js:67:3:67:6 | [post update] this [options] | unsafe-jquery-plugin.js:68:7:68:10 | this [options] | provenance | |
| unsafe-jquery-plugin.js:67:24:67:44 | $.exten ... ptions) | unsafe-jquery-plugin.js:67:3:67:6 | [post update] this [options] | provenance | |
@@ -57,18 +57,18 @@ edges
| unsafe-jquery-plugin.js:86:4:86:7 | [post update] this [o] | unsafe-jquery-plugin.js:87:12:87:15 | this [o] | provenance | |
| unsafe-jquery-plugin.js:86:13:86:27 | $.extend({}, o) | unsafe-jquery-plugin.js:86:4:86:7 | [post update] this [o] | provenance | |
| unsafe-jquery-plugin.js:86:26:86:26 | o | unsafe-jquery-plugin.js:86:13:86:27 | $.extend({}, o) | provenance | |
| unsafe-jquery-plugin.js:87:8:87:24 | t | unsafe-jquery-plugin.js:90:6:90:6 | t | provenance | |
| unsafe-jquery-plugin.js:87:8:87:8 | t | unsafe-jquery-plugin.js:90:6:90:6 | t | provenance | |
| unsafe-jquery-plugin.js:87:12:87:15 | this [o] | unsafe-jquery-plugin.js:87:12:87:17 | this.o | provenance | |
| unsafe-jquery-plugin.js:87:12:87:17 | this.o | unsafe-jquery-plugin.js:87:8:87:24 | t | provenance | |
| unsafe-jquery-plugin.js:87:12:87:17 | this.o | unsafe-jquery-plugin.js:87:8:87:8 | t | provenance | |
| unsafe-jquery-plugin.js:92:5:92:11 | options | unsafe-jquery-plugin.js:85:14:85:14 | o | provenance | |
| unsafe-jquery-plugin.js:101:38:101:44 | options | unsafe-jquery-plugin.js:105:6:105:12 | options | provenance | |
| unsafe-jquery-plugin.js:102:3:105:13 | options | unsafe-jquery-plugin.js:107:5:107:11 | options | provenance | |
| unsafe-jquery-plugin.js:102:13:105:13 | $.exten ... ptions) | unsafe-jquery-plugin.js:102:3:105:13 | options | provenance | |
| unsafe-jquery-plugin.js:102:3:102:9 | options | unsafe-jquery-plugin.js:107:5:107:11 | options | provenance | |
| unsafe-jquery-plugin.js:102:13:105:13 | $.exten ... ptions) | unsafe-jquery-plugin.js:102:3:102:9 | options | provenance | |
| unsafe-jquery-plugin.js:105:6:105:12 | options | unsafe-jquery-plugin.js:102:13:105:13 | $.exten ... ptions) | provenance | |
| unsafe-jquery-plugin.js:107:5:107:11 | options | unsafe-jquery-plugin.js:107:5:107:18 | options.target | provenance | |
| unsafe-jquery-plugin.js:114:38:114:44 | options | unsafe-jquery-plugin.js:115:51:115:57 | options | provenance | |
| unsafe-jquery-plugin.js:115:3:115:58 | options | unsafe-jquery-plugin.js:117:5:117:11 | options | provenance | |
| unsafe-jquery-plugin.js:115:13:115:58 | $.exten ... ptions) | unsafe-jquery-plugin.js:115:3:115:58 | options | provenance | |
| unsafe-jquery-plugin.js:115:3:115:9 | options | unsafe-jquery-plugin.js:117:5:117:11 | options | provenance | |
| unsafe-jquery-plugin.js:115:13:115:58 | $.exten ... ptions) | unsafe-jquery-plugin.js:115:3:115:9 | options | provenance | |
| unsafe-jquery-plugin.js:115:51:115:57 | options | unsafe-jquery-plugin.js:115:13:115:58 | $.exten ... ptions) | provenance | |
| unsafe-jquery-plugin.js:117:5:117:11 | options | unsafe-jquery-plugin.js:117:5:117:18 | options.target | provenance | |
| unsafe-jquery-plugin.js:121:40:121:46 | options | unsafe-jquery-plugin.js:122:5:122:11 | options | provenance | |
@@ -90,8 +90,8 @@ edges
| unsafe-jquery-plugin.js:157:44:157:50 | options | unsafe-jquery-plugin.js:157:44:157:57 | options.target | provenance | |
| unsafe-jquery-plugin.js:157:44:157:57 | options.target | unsafe-jquery-plugin.js:157:44:157:59 | options.target.a | provenance | |
| unsafe-jquery-plugin.js:160:38:160:44 | options | unsafe-jquery-plugin.js:165:16:165:22 | options | provenance | |
| unsafe-jquery-plugin.js:165:7:165:29 | target | unsafe-jquery-plugin.js:170:6:170:11 | target | provenance | |
| unsafe-jquery-plugin.js:165:16:165:22 | options | unsafe-jquery-plugin.js:165:7:165:29 | target | provenance | |
| unsafe-jquery-plugin.js:165:7:165:12 | target | unsafe-jquery-plugin.js:170:6:170:11 | target | provenance | |
| unsafe-jquery-plugin.js:165:16:165:22 | options | unsafe-jquery-plugin.js:165:7:165:12 | target | provenance | |
| unsafe-jquery-plugin.js:178:27:178:33 | options | unsafe-jquery-plugin.js:179:5:179:11 | options | provenance | |
| unsafe-jquery-plugin.js:179:5:179:11 | options | unsafe-jquery-plugin.js:179:5:179:18 | options.target | provenance | |
| unsafe-jquery-plugin.js:185:28:185:34 | options | unsafe-jquery-plugin.js:186:21:186:27 | options | provenance | |
@@ -105,7 +105,7 @@ nodes
| unsafe-jquery-plugin.js:5:5:5:18 | options.target | semmle.label | options.target |
| unsafe-jquery-plugin.js:7:17:7:23 | options | semmle.label | options |
| unsafe-jquery-plugin.js:7:17:7:30 | options.target | semmle.label | options.target |
| unsafe-jquery-plugin.js:11:7:11:29 | target | semmle.label | target |
| unsafe-jquery-plugin.js:11:7:11:12 | target | semmle.label | target |
| unsafe-jquery-plugin.js:11:16:11:22 | options | semmle.label | options |
| unsafe-jquery-plugin.js:11:16:11:29 | options.target | semmle.label | options.target |
| unsafe-jquery-plugin.js:22:6:22:11 | target | semmle.label | target |
@@ -134,19 +134,19 @@ nodes
| unsafe-jquery-plugin.js:86:4:86:7 | [post update] this [o] | semmle.label | [post update] this [o] |
| unsafe-jquery-plugin.js:86:13:86:27 | $.extend({}, o) | semmle.label | $.extend({}, o) |
| unsafe-jquery-plugin.js:86:26:86:26 | o | semmle.label | o |
| unsafe-jquery-plugin.js:87:8:87:24 | t | semmle.label | t |
| unsafe-jquery-plugin.js:87:8:87:8 | t | semmle.label | t |
| unsafe-jquery-plugin.js:87:12:87:15 | this [o] | semmle.label | this [o] |
| unsafe-jquery-plugin.js:87:12:87:17 | this.o | semmle.label | this.o |
| unsafe-jquery-plugin.js:90:6:90:6 | t | semmle.label | t |
| unsafe-jquery-plugin.js:92:5:92:11 | options | semmle.label | options |
| unsafe-jquery-plugin.js:101:38:101:44 | options | semmle.label | options |
| unsafe-jquery-plugin.js:102:3:105:13 | options | semmle.label | options |
| unsafe-jquery-plugin.js:102:3:102:9 | options | semmle.label | options |
| unsafe-jquery-plugin.js:102:13:105:13 | $.exten ... ptions) | semmle.label | $.exten ... ptions) |
| unsafe-jquery-plugin.js:105:6:105:12 | options | semmle.label | options |
| unsafe-jquery-plugin.js:107:5:107:11 | options | semmle.label | options |
| unsafe-jquery-plugin.js:107:5:107:18 | options.target | semmle.label | options.target |
| unsafe-jquery-plugin.js:114:38:114:44 | options | semmle.label | options |
| unsafe-jquery-plugin.js:115:3:115:58 | options | semmle.label | options |
| unsafe-jquery-plugin.js:115:3:115:9 | options | semmle.label | options |
| unsafe-jquery-plugin.js:115:13:115:58 | $.exten ... ptions) | semmle.label | $.exten ... ptions) |
| unsafe-jquery-plugin.js:115:51:115:57 | options | semmle.label | options |
| unsafe-jquery-plugin.js:117:5:117:11 | options | semmle.label | options |
@@ -172,7 +172,7 @@ nodes
| unsafe-jquery-plugin.js:157:44:157:57 | options.target | semmle.label | options.target |
| unsafe-jquery-plugin.js:157:44:157:59 | options.target.a | semmle.label | options.target.a |
| unsafe-jquery-plugin.js:160:38:160:44 | options | semmle.label | options |
| unsafe-jquery-plugin.js:165:7:165:29 | target | semmle.label | target |
| unsafe-jquery-plugin.js:165:7:165:12 | target | semmle.label | target |
| unsafe-jquery-plugin.js:165:16:165:22 | options | semmle.label | options |
| unsafe-jquery-plugin.js:170:6:170:11 | target | semmle.label | target |
| unsafe-jquery-plugin.js:178:27:178:33 | options | semmle.label | options |

View File

@@ -58,38 +58,38 @@ edges
| forms.js:25:23:25:28 | values | forms.js:25:23:25:34 | values.email | provenance | |
| forms.js:28:20:28:25 | values | forms.js:29:23:29:28 | values | provenance | |
| forms.js:29:23:29:28 | values | forms.js:29:23:29:34 | values.email | provenance | |
| forms.js:34:11:34:53 | values | forms.js:35:19:35:24 | values | provenance | |
| forms.js:34:13:34:18 | values | forms.js:34:11:34:53 | values | provenance | |
| forms.js:34:13:34:18 | values | forms.js:34:13:34:18 | values | provenance | |
| forms.js:34:13:34:18 | values | forms.js:35:19:35:24 | values | provenance | |
| forms.js:35:19:35:24 | values | forms.js:35:19:35:30 | values.email | provenance | |
| forms.js:44:21:44:26 | values | forms.js:45:21:45:26 | values | provenance | |
| forms.js:45:21:45:26 | values | forms.js:45:21:45:33 | values.stooge | provenance | |
| forms.js:71:21:71:24 | data | forms.js:72:19:72:22 | data | provenance | |
| forms.js:72:19:72:22 | data | forms.js:72:19:72:27 | data.name | provenance | |
| forms.js:92:17:92:36 | values | forms.js:93:25:93:30 | values | provenance | |
| forms.js:92:26:92:36 | getValues() | forms.js:92:17:92:36 | values | provenance | |
| forms.js:92:17:92:22 | values | forms.js:93:25:93:30 | values | provenance | |
| forms.js:92:26:92:36 | getValues() | forms.js:92:17:92:22 | values | provenance | |
| forms.js:93:25:93:30 | values | forms.js:93:25:93:35 | values.name | provenance | |
| xss-through-dom.js:73:9:73:41 | selector | xss-through-dom.js:77:4:77:11 | selector | provenance | |
| xss-through-dom.js:73:20:73:41 | $("inpu ... 0).name | xss-through-dom.js:73:9:73:41 | selector | provenance | |
| xss-through-dom.js:84:8:84:30 | text | xss-through-dom.js:86:33:86:36 | text | provenance | |
| xss-through-dom.js:84:8:84:30 | text | xss-through-dom.js:87:36:87:39 | text | provenance | |
| xss-through-dom.js:84:15:84:30 | $("text").text() | xss-through-dom.js:84:8:84:30 | text | provenance | |
| xss-through-dom.js:73:9:73:16 | selector | xss-through-dom.js:77:4:77:11 | selector | provenance | |
| xss-through-dom.js:73:20:73:41 | $("inpu ... 0).name | xss-through-dom.js:73:9:73:16 | selector | provenance | |
| xss-through-dom.js:84:8:84:11 | text | xss-through-dom.js:86:33:86:36 | text | provenance | |
| xss-through-dom.js:84:8:84:11 | text | xss-through-dom.js:87:36:87:39 | text | provenance | |
| xss-through-dom.js:84:15:84:30 | $("text").text() | xss-through-dom.js:84:8:84:11 | text | provenance | |
| xss-through-dom.js:86:33:86:36 | text | xss-through-dom.js:86:16:86:37 | anser.a ... l(text) | provenance | |
| xss-through-dom.js:87:36:87:39 | text | xss-through-dom.js:87:16:87:40 | new ans ... s(text) | provenance | |
| xss-through-dom.js:109:45:109:55 | this.el.src | xss-through-dom.js:109:31:109:70 | "<a src ... oo</a>" | provenance | |
| xss-through-dom.js:114:11:114:52 | src | xss-through-dom.js:115:16:115:18 | src | provenance | |
| xss-through-dom.js:114:11:114:52 | src | xss-through-dom.js:117:26:117:28 | src | provenance | |
| xss-through-dom.js:114:17:114:52 | documen ... k").src | xss-through-dom.js:114:11:114:52 | src | provenance | |
| xss-through-dom.js:114:11:114:13 | src | xss-through-dom.js:115:16:115:18 | src | provenance | |
| xss-through-dom.js:114:11:114:13 | src | xss-through-dom.js:117:26:117:28 | src | provenance | |
| xss-through-dom.js:114:17:114:52 | documen ... k").src | xss-through-dom.js:114:11:114:13 | src | provenance | |
| xss-through-dom.js:120:23:120:37 | ev.target.files | xss-through-dom.js:120:23:120:45 | ev.targ ... 0].name | provenance | |
| xss-through-dom.js:122:53:122:67 | ev.target.files | xss-through-dom.js:122:53:122:70 | ev.target.files[0] | provenance | |
| xss-through-dom.js:122:53:122:70 | ev.target.files[0] | xss-through-dom.js:122:33:122:71 | URL.cre ... les[0]) | provenance | Config |
| xss-through-dom.js:130:6:130:68 | linkText | xss-through-dom.js:131:19:131:26 | linkText | provenance | |
| xss-through-dom.js:130:6:130:68 | linkText | xss-through-dom.js:132:16:132:23 | linkText | provenance | |
| xss-through-dom.js:130:17:130:37 | wSelect ... tring() | xss-through-dom.js:130:6:130:68 | linkText | provenance | |
| xss-through-dom.js:130:42:130:62 | dSelect ... tring() | xss-through-dom.js:130:6:130:68 | linkText | provenance | |
| xss-through-dom.js:139:11:139:52 | src | xss-through-dom.js:140:19:140:21 | src | provenance | |
| xss-through-dom.js:139:11:139:52 | src | xss-through-dom.js:141:25:141:27 | src | provenance | |
| xss-through-dom.js:139:11:139:52 | src | xss-through-dom.js:150:24:150:26 | src | provenance | |
| xss-through-dom.js:139:17:139:52 | documen ... k").src | xss-through-dom.js:139:11:139:52 | src | provenance | |
| xss-through-dom.js:130:6:130:13 | linkText | xss-through-dom.js:131:19:131:26 | linkText | provenance | |
| xss-through-dom.js:130:6:130:13 | linkText | xss-through-dom.js:132:16:132:23 | linkText | provenance | |
| xss-through-dom.js:130:17:130:37 | wSelect ... tring() | xss-through-dom.js:130:6:130:13 | linkText | provenance | |
| xss-through-dom.js:130:42:130:62 | dSelect ... tring() | xss-through-dom.js:130:6:130:13 | linkText | provenance | |
| xss-through-dom.js:139:11:139:13 | src | xss-through-dom.js:140:19:140:21 | src | provenance | |
| xss-through-dom.js:139:11:139:13 | src | xss-through-dom.js:141:25:141:27 | src | provenance | |
| xss-through-dom.js:139:11:139:13 | src | xss-through-dom.js:150:24:150:26 | src | provenance | |
| xss-through-dom.js:139:17:139:52 | documen ... k").src | xss-through-dom.js:139:11:139:13 | src | provenance | |
| xss-through-dom.js:154:25:154:27 | msg | xss-through-dom.js:155:27:155:29 | msg | provenance | |
| xss-through-dom.js:159:34:159:52 | $("textarea").val() | xss-through-dom.js:154:25:154:27 | msg | provenance | |
nodes
@@ -111,7 +111,7 @@ nodes
| forms.js:28:20:28:25 | values | semmle.label | values |
| forms.js:29:23:29:28 | values | semmle.label | values |
| forms.js:29:23:29:34 | values.email | semmle.label | values.email |
| forms.js:34:11:34:53 | values | semmle.label | values |
| forms.js:34:13:34:18 | values | semmle.label | values |
| forms.js:34:13:34:18 | values | semmle.label | values |
| forms.js:35:19:35:24 | values | semmle.label | values |
| forms.js:35:19:35:30 | values.email | semmle.label | values.email |
@@ -122,7 +122,7 @@ nodes
| forms.js:71:21:71:24 | data | semmle.label | data |
| forms.js:72:19:72:22 | data | semmle.label | data |
| forms.js:72:19:72:27 | data.name | semmle.label | data.name |
| forms.js:92:17:92:36 | values | semmle.label | values |
| forms.js:92:17:92:22 | values | semmle.label | values |
| forms.js:92:26:92:36 | getValues() | semmle.label | getValues() |
| forms.js:93:25:93:30 | values | semmle.label | values |
| forms.js:93:25:93:35 | values.name | semmle.label | values.name |
@@ -142,12 +142,12 @@ nodes
| xss-through-dom.js:61:30:61:69 | $(docum ... value") | semmle.label | $(docum ... value") |
| xss-through-dom.js:64:30:64:40 | valMethod() | semmle.label | valMethod() |
| xss-through-dom.js:71:11:71:32 | $("inpu ... 0).name | semmle.label | $("inpu ... 0).name |
| xss-through-dom.js:73:9:73:41 | selector | semmle.label | selector |
| xss-through-dom.js:73:9:73:16 | selector | semmle.label | selector |
| xss-through-dom.js:73:20:73:41 | $("inpu ... 0).name | semmle.label | $("inpu ... 0).name |
| xss-through-dom.js:77:4:77:11 | selector | semmle.label | selector |
| xss-through-dom.js:79:4:79:34 | documen ... t.value | semmle.label | documen ... t.value |
| xss-through-dom.js:81:17:81:43 | $('#foo ... rText') | semmle.label | $('#foo ... rText') |
| xss-through-dom.js:84:8:84:30 | text | semmle.label | text |
| xss-through-dom.js:84:8:84:11 | text | semmle.label | text |
| xss-through-dom.js:84:15:84:30 | $("text").text() | semmle.label | $("text").text() |
| xss-through-dom.js:86:16:86:37 | anser.a ... l(text) | semmle.label | anser.a ... l(text) |
| xss-through-dom.js:86:33:86:36 | text | semmle.label | text |
@@ -157,7 +157,7 @@ nodes
| xss-through-dom.js:96:17:96:47 | $("#foo ... ].value | semmle.label | $("#foo ... ].value |
| xss-through-dom.js:109:31:109:70 | "<a src ... oo</a>" | semmle.label | "<a src ... oo</a>" |
| xss-through-dom.js:109:45:109:55 | this.el.src | semmle.label | this.el.src |
| xss-through-dom.js:114:11:114:52 | src | semmle.label | src |
| xss-through-dom.js:114:11:114:13 | src | semmle.label | src |
| xss-through-dom.js:114:17:114:52 | documen ... k").src | semmle.label | documen ... k").src |
| xss-through-dom.js:115:16:115:18 | src | semmle.label | src |
| xss-through-dom.js:117:26:117:28 | src | semmle.label | src |
@@ -166,12 +166,12 @@ nodes
| xss-through-dom.js:122:33:122:71 | URL.cre ... les[0]) | semmle.label | URL.cre ... les[0]) |
| xss-through-dom.js:122:53:122:67 | ev.target.files | semmle.label | ev.target.files |
| xss-through-dom.js:122:53:122:70 | ev.target.files[0] | semmle.label | ev.target.files[0] |
| xss-through-dom.js:130:6:130:68 | linkText | semmle.label | linkText |
| xss-through-dom.js:130:6:130:13 | linkText | semmle.label | linkText |
| xss-through-dom.js:130:17:130:37 | wSelect ... tring() | semmle.label | wSelect ... tring() |
| xss-through-dom.js:130:42:130:62 | dSelect ... tring() | semmle.label | dSelect ... tring() |
| xss-through-dom.js:131:19:131:26 | linkText | semmle.label | linkText |
| xss-through-dom.js:132:16:132:23 | linkText | semmle.label | linkText |
| xss-through-dom.js:139:11:139:52 | src | semmle.label | src |
| xss-through-dom.js:139:11:139:13 | src | semmle.label | src |
| xss-through-dom.js:139:17:139:52 | documen ... k").src | semmle.label | documen ... k").src |
| xss-through-dom.js:140:19:140:21 | src | semmle.label | src |
| xss-through-dom.js:141:25:141:27 | src | semmle.label | src |

View File

@@ -1,11 +1,11 @@
#select
| test.js:7:14:7:61 | 'SELECT ... + temp | test.js:4:12:4:22 | process.env | test.js:7:14:7:61 | 'SELECT ... + temp | This query string depends on a $@. | test.js:4:12:4:22 | process.env | user-provided value |
edges
| test.js:4:5:4:29 | temp | test.js:7:58:7:61 | temp | provenance | |
| test.js:4:12:4:22 | process.env | test.js:4:5:4:29 | temp | provenance | |
| test.js:4:5:4:8 | temp | test.js:7:58:7:61 | temp | provenance | |
| test.js:4:12:4:22 | process.env | test.js:4:5:4:8 | temp | provenance | |
| test.js:7:58:7:61 | temp | test.js:7:14:7:61 | 'SELECT ... + temp | provenance | |
nodes
| test.js:4:5:4:29 | temp | semmle.label | temp |
| test.js:4:5:4:8 | temp | semmle.label | temp |
| test.js:4:12:4:22 | process.env | semmle.label | process.env |
| test.js:7:14:7:61 | 'SELECT ... + temp | semmle.label | 'SELECT ... + temp |
| test.js:7:58:7:61 | temp | semmle.label | temp |

View File

@@ -3,26 +3,26 @@
| typedClient.ts:22:27:22:35 | { id: v } | typedClient.ts:21:22:21:29 | req.body | typedClient.ts:22:27:22:35 | { id: v } | This query object depends on a $@. | typedClient.ts:21:22:21:29 | req.body | user-provided value |
| typedClient.ts:23:27:23:35 | { id: v } | typedClient.ts:21:22:21:29 | req.body | typedClient.ts:23:27:23:35 | { id: v } | This query object depends on a $@. | typedClient.ts:21:22:21:29 | req.body | user-provided value |
edges
| typedClient.ts:13:7:13:32 | v | typedClient.ts:14:30:14:30 | v | provenance | |
| typedClient.ts:13:11:13:32 | JSON.pa ... body.x) | typedClient.ts:13:7:13:32 | v | provenance | |
| typedClient.ts:13:7:13:7 | v | typedClient.ts:14:30:14:30 | v | provenance | |
| typedClient.ts:13:11:13:32 | JSON.pa ... body.x) | typedClient.ts:13:7:13:7 | v | provenance | |
| typedClient.ts:13:22:13:29 | req.body | typedClient.ts:13:22:13:31 | req.body.x | provenance | Config |
| typedClient.ts:13:22:13:31 | req.body.x | typedClient.ts:13:11:13:32 | JSON.pa ... body.x) | provenance | Config |
| typedClient.ts:14:30:14:30 | v | typedClient.ts:14:24:14:32 | { id: v } | provenance | Config |
| typedClient.ts:21:7:21:32 | v | typedClient.ts:22:33:22:33 | v | provenance | |
| typedClient.ts:21:7:21:32 | v | typedClient.ts:23:33:23:33 | v | provenance | |
| typedClient.ts:21:11:21:32 | JSON.pa ... body.x) | typedClient.ts:21:7:21:32 | v | provenance | |
| typedClient.ts:21:7:21:7 | v | typedClient.ts:22:33:22:33 | v | provenance | |
| typedClient.ts:21:7:21:7 | v | typedClient.ts:23:33:23:33 | v | provenance | |
| typedClient.ts:21:11:21:32 | JSON.pa ... body.x) | typedClient.ts:21:7:21:7 | v | provenance | |
| typedClient.ts:21:22:21:29 | req.body | typedClient.ts:21:22:21:31 | req.body.x | provenance | Config |
| typedClient.ts:21:22:21:31 | req.body.x | typedClient.ts:21:11:21:32 | JSON.pa ... body.x) | provenance | Config |
| typedClient.ts:22:33:22:33 | v | typedClient.ts:22:27:22:35 | { id: v } | provenance | Config |
| typedClient.ts:23:33:23:33 | v | typedClient.ts:23:27:23:35 | { id: v } | provenance | Config |
nodes
| typedClient.ts:13:7:13:32 | v | semmle.label | v |
| typedClient.ts:13:7:13:7 | v | semmle.label | v |
| typedClient.ts:13:11:13:32 | JSON.pa ... body.x) | semmle.label | JSON.pa ... body.x) |
| typedClient.ts:13:22:13:29 | req.body | semmle.label | req.body |
| typedClient.ts:13:22:13:31 | req.body.x | semmle.label | req.body.x |
| typedClient.ts:14:24:14:32 | { id: v } | semmle.label | { id: v } |
| typedClient.ts:14:30:14:30 | v | semmle.label | v |
| typedClient.ts:21:7:21:32 | v | semmle.label | v |
| typedClient.ts:21:7:21:7 | v | semmle.label | v |
| typedClient.ts:21:11:21:32 | JSON.pa ... body.x) | semmle.label | JSON.pa ... body.x) |
| typedClient.ts:21:22:21:29 | req.body | semmle.label | req.body |
| typedClient.ts:21:22:21:31 | req.body.x | semmle.label | req.body.x |

View File

@@ -137,63 +137,63 @@
| tst4.js:8:10:8:66 | 'SELECT ... d + '"' | tst4.js:8:46:8:60 | $routeParams.id | tst4.js:8:10:8:66 | 'SELECT ... d + '"' | This query string depends on a $@. | tst4.js:8:46:8:60 | $routeParams.id | user-provided value |
| tst.js:10:10:10:64 | 'SELECT ... d + '"' | tst.js:10:46:10:58 | req.params.id | tst.js:10:10:10:64 | 'SELECT ... d + '"' | This query string depends on a $@. | tst.js:10:46:10:58 | req.params.id | user-provided value |
edges
| graphql.js:8:11:8:28 | id | graphql.js:11:46:11:47 | id | provenance | |
| graphql.js:8:16:8:28 | req.params.id | graphql.js:8:11:8:28 | id | provenance | |
| graphql.js:8:11:8:12 | id | graphql.js:11:46:11:47 | id | provenance | |
| graphql.js:8:16:8:28 | req.params.id | graphql.js:8:11:8:12 | id | provenance | |
| graphql.js:11:46:11:47 | id | graphql.js:9:34:19:5 | `\\n ... }\\n ` | provenance | |
| graphql.js:25:11:25:28 | id | graphql.js:26:37:26:38 | id | provenance | |
| graphql.js:25:11:25:28 | id | graphql.js:29:39:29:40 | id | provenance | |
| graphql.js:25:11:25:28 | id | graphql.js:32:25:32:26 | id | provenance | |
| graphql.js:25:16:25:28 | req.params.id | graphql.js:25:11:25:28 | id | provenance | |
| graphql.js:25:11:25:12 | id | graphql.js:26:37:26:38 | id | provenance | |
| graphql.js:25:11:25:12 | id | graphql.js:29:39:29:40 | id | provenance | |
| graphql.js:25:11:25:12 | id | graphql.js:32:25:32:26 | id | provenance | |
| graphql.js:25:16:25:28 | req.params.id | graphql.js:25:11:25:12 | id | provenance | |
| graphql.js:26:37:26:38 | id | graphql.js:26:30:26:40 | `foo ${id}` | provenance | |
| graphql.js:29:39:29:40 | id | graphql.js:29:32:29:42 | `foo ${id}` | provenance | |
| graphql.js:32:25:32:26 | id | graphql.js:32:18:32:28 | `foo ${id}` | provenance | |
| graphql.js:38:11:38:28 | id | graphql.js:43:21:43:22 | id | provenance | |
| graphql.js:38:11:38:28 | id | graphql.js:47:51:47:52 | id | provenance | |
| graphql.js:38:16:38:28 | req.params.id | graphql.js:38:11:38:28 | id | provenance | |
| graphql.js:38:11:38:12 | id | graphql.js:43:21:43:22 | id | provenance | |
| graphql.js:38:11:38:12 | id | graphql.js:47:51:47:52 | id | provenance | |
| graphql.js:38:16:38:28 | req.params.id | graphql.js:38:11:38:12 | id | provenance | |
| graphql.js:43:21:43:22 | id | graphql.js:43:14:43:24 | `foo ${id}` | provenance | |
| graphql.js:47:51:47:52 | id | graphql.js:47:44:47:54 | `foo ${id}` | provenance | |
| graphql.js:54:11:54:28 | id | graphql.js:55:46:55:47 | id | provenance | |
| graphql.js:54:11:54:28 | id | graphql.js:57:73:57:74 | id | provenance | |
| graphql.js:54:16:54:28 | req.params.id | graphql.js:54:11:54:28 | id | provenance | |
| graphql.js:54:11:54:12 | id | graphql.js:55:46:55:47 | id | provenance | |
| graphql.js:54:11:54:12 | id | graphql.js:57:73:57:74 | id | provenance | |
| graphql.js:54:16:54:28 | req.params.id | graphql.js:54:11:54:12 | id | provenance | |
| graphql.js:55:46:55:47 | id | graphql.js:55:39:55:49 | `foo ${id}` | provenance | |
| graphql.js:57:73:57:74 | id | graphql.js:57:66:57:76 | `foo ${id}` | provenance | |
| graphql.js:73:9:73:25 | id | graphql.js:74:56:74:57 | id | provenance | |
| graphql.js:73:9:73:25 | id | graphql.js:86:13:86:14 | id | provenance | |
| graphql.js:73:14:73:25 | req.query.id | graphql.js:73:9:73:25 | id | provenance | |
| graphql.js:73:9:73:10 | id | graphql.js:74:56:74:57 | id | provenance | |
| graphql.js:73:9:73:10 | id | graphql.js:86:13:86:14 | id | provenance | |
| graphql.js:73:14:73:25 | req.query.id | graphql.js:73:9:73:10 | id | provenance | |
| graphql.js:74:56:74:57 | id | graphql.js:74:46:74:64 | "{ foo" + id + " }" | provenance | |
| graphql.js:86:13:86:14 | id | graphql.js:82:14:88:8 | `{\\n ... }` | provenance | |
| graphql.js:117:11:117:28 | id | graphql.js:118:45:118:46 | id | provenance | |
| graphql.js:117:16:117:28 | req.params.id | graphql.js:117:11:117:28 | id | provenance | |
| graphql.js:117:11:117:12 | id | graphql.js:118:45:118:46 | id | provenance | |
| graphql.js:117:16:117:28 | req.params.id | graphql.js:117:11:117:12 | id | provenance | |
| graphql.js:118:45:118:46 | id | graphql.js:118:38:118:48 | `foo ${id}` | provenance | |
| hana.js:9:13:9:42 | maliciousInput | hana.js:10:64:10:77 | maliciousInput | provenance | |
| hana.js:9:30:9:37 | req.body | hana.js:9:13:9:42 | maliciousInput | provenance | |
| hana.js:10:15:10:80 | query | hana.js:11:19:11:23 | query | provenance | |
| hana.js:10:64:10:77 | maliciousInput | hana.js:10:15:10:80 | query | provenance | |
| hana.js:16:15:16:44 | maliciousInput | hana.js:17:87:17:100 | maliciousInput | provenance | |
| hana.js:16:32:16:39 | req.body | hana.js:16:15:16:44 | maliciousInput | provenance | |
| hana.js:9:13:9:26 | maliciousInput | hana.js:10:64:10:77 | maliciousInput | provenance | |
| hana.js:9:30:9:37 | req.body | hana.js:9:13:9:26 | maliciousInput | provenance | |
| hana.js:10:15:10:19 | query | hana.js:11:19:11:23 | query | provenance | |
| hana.js:10:64:10:77 | maliciousInput | hana.js:10:15:10:19 | query | provenance | |
| hana.js:16:15:16:28 | maliciousInput | hana.js:17:87:17:100 | maliciousInput | provenance | |
| hana.js:16:32:16:39 | req.body | hana.js:16:15:16:28 | maliciousInput | provenance | |
| hana.js:17:87:17:100 | maliciousInput | hana.js:17:35:17:100 | `SELECT ... usInput | provenance | |
| hana.js:23:15:23:44 | maliciousInput | hana.js:24:83:24:96 | maliciousInput | provenance | |
| hana.js:23:32:23:39 | req.body | hana.js:23:15:23:44 | maliciousInput | provenance | |
| hana.js:23:15:23:28 | maliciousInput | hana.js:24:83:24:96 | maliciousInput | provenance | |
| hana.js:23:32:23:39 | req.body | hana.js:23:15:23:28 | maliciousInput | provenance | |
| hana.js:24:83:24:96 | maliciousInput | hana.js:24:33:24:96 | `INSERT ... usInput | provenance | |
| hana.js:30:13:30:42 | maliciousInput | hana.js:31:84:31:97 | maliciousInput | provenance | |
| hana.js:30:30:30:37 | req.body | hana.js:30:13:30:42 | maliciousInput | provenance | |
| hana.js:30:13:30:26 | maliciousInput | hana.js:31:84:31:97 | maliciousInput | provenance | |
| hana.js:30:30:30:37 | req.body | hana.js:30:13:30:26 | maliciousInput | provenance | |
| hana.js:31:84:31:97 | maliciousInput | hana.js:31:31:31:97 | "SELECT ... usInput | provenance | |
| hana.js:47:7:47:36 | maliciousInput | hana.js:48:39:48:52 | maliciousInput | provenance | |
| hana.js:47:7:47:36 | maliciousInput | hana.js:50:76:50:89 | maliciousInput | provenance | |
| hana.js:47:7:47:36 | maliciousInput | hana.js:54:53:54:66 | maliciousInput | provenance | |
| hana.js:47:24:47:31 | req.body | hana.js:47:7:47:36 | maliciousInput | provenance | |
| hana.js:47:7:47:20 | maliciousInput | hana.js:48:39:48:52 | maliciousInput | provenance | |
| hana.js:47:7:47:20 | maliciousInput | hana.js:50:76:50:89 | maliciousInput | provenance | |
| hana.js:47:7:47:20 | maliciousInput | hana.js:54:53:54:66 | maliciousInput | provenance | |
| hana.js:47:24:47:31 | req.body | hana.js:47:7:47:20 | maliciousInput | provenance | |
| hana.js:48:39:48:52 | maliciousInput | hana.js:48:15:48:52 | 'SELECT ... usInput | provenance | |
| hana.js:48:39:48:52 | maliciousInput | hana.js:50:76:50:89 | maliciousInput | provenance | |
| hana.js:50:76:50:89 | maliciousInput | hana.js:50:40:50:89 | 'CALL P ... usInput | provenance | |
| hana.js:50:76:50:89 | maliciousInput | hana.js:54:53:54:66 | maliciousInput | provenance | |
| hana.js:54:53:54:66 | maliciousInput | hana.js:54:38:54:66 | 'PROC_D ... usInput | provenance | |
| hana.js:68:7:68:36 | maliciousInput | hana.js:71:86:71:99 | maliciousInput | provenance | |
| hana.js:68:7:68:36 | maliciousInput | hana.js:73:41:73:54 | maliciousInput | provenance | |
| hana.js:68:7:68:36 | maliciousInput | hana.js:74:41:74:54 | maliciousInput | provenance | |
| hana.js:68:7:68:36 | maliciousInput | hana.js:76:60:76:73 | maliciousInput | provenance | |
| hana.js:68:7:68:36 | maliciousInput | hana.js:80:56:80:69 | maliciousInput | provenance | |
| hana.js:68:7:68:36 | maliciousInput | hana.js:84:65:84:78 | maliciousInput | provenance | |
| hana.js:68:24:68:31 | req.body | hana.js:68:7:68:36 | maliciousInput | provenance | |
| hana.js:68:7:68:20 | maliciousInput | hana.js:71:86:71:99 | maliciousInput | provenance | |
| hana.js:68:7:68:20 | maliciousInput | hana.js:73:41:73:54 | maliciousInput | provenance | |
| hana.js:68:7:68:20 | maliciousInput | hana.js:74:41:74:54 | maliciousInput | provenance | |
| hana.js:68:7:68:20 | maliciousInput | hana.js:76:60:76:73 | maliciousInput | provenance | |
| hana.js:68:7:68:20 | maliciousInput | hana.js:80:56:80:69 | maliciousInput | provenance | |
| hana.js:68:7:68:20 | maliciousInput | hana.js:84:65:84:78 | maliciousInput | provenance | |
| hana.js:68:24:68:31 | req.body | hana.js:68:7:68:20 | maliciousInput | provenance | |
| hana.js:71:86:71:99 | maliciousInput | hana.js:71:44:71:99 | "INSERT ... usInput | provenance | |
| hana.js:73:41:73:54 | maliciousInput | hana.js:73:17:73:54 | 'select ... usInput | provenance | |
| hana.js:74:41:74:54 | maliciousInput | hana.js:74:17:74:54 | 'select ... usInput | provenance | |
@@ -201,151 +201,151 @@ edges
| hana.js:80:56:80:69 | maliciousInput | hana.js:80:20:80:69 | 'call P ... usInput | provenance | |
| hana.js:84:65:84:78 | maliciousInput | hana.js:84:20:84:78 | 'select ... usInput | provenance | |
| html-sanitizer.js:13:39:13:44 | param1 | html-sanitizer.js:14:18:14:23 | param1 | provenance | |
| html-sanitizer.js:14:5:14:24 | param1 | html-sanitizer.js:16:54:16:59 | param1 | provenance | |
| html-sanitizer.js:14:14:14:24 | xss(param1) | html-sanitizer.js:14:5:14:24 | param1 | provenance | |
| html-sanitizer.js:14:5:14:10 | param1 | html-sanitizer.js:16:54:16:59 | param1 | provenance | |
| html-sanitizer.js:14:14:14:24 | xss(param1) | html-sanitizer.js:14:5:14:10 | param1 | provenance | |
| html-sanitizer.js:14:18:14:23 | param1 | html-sanitizer.js:14:14:14:24 | xss(param1) | provenance | Config |
| html-sanitizer.js:16:54:16:59 | param1 | html-sanitizer.js:16:9:16:59 | `SELECT ... param1 | provenance | |
| json-schema-validator.js:25:15:25:48 | query | json-schema-validator.js:33:22:33:26 | query | provenance | |
| json-schema-validator.js:25:15:25:48 | query | json-schema-validator.js:35:18:35:22 | query | provenance | |
| json-schema-validator.js:25:23:25:48 | JSON.pa ... y.data) | json-schema-validator.js:25:15:25:48 | query | provenance | |
| json-schema-validator.js:25:15:25:19 | query | json-schema-validator.js:33:22:33:26 | query | provenance | |
| json-schema-validator.js:25:15:25:19 | query | json-schema-validator.js:35:18:35:22 | query | provenance | |
| json-schema-validator.js:25:23:25:48 | JSON.pa ... y.data) | json-schema-validator.js:25:15:25:19 | query | provenance | |
| json-schema-validator.js:25:34:25:47 | req.query.data | json-schema-validator.js:25:23:25:48 | JSON.pa ... y.data) | provenance | Config |
| json-schema-validator.js:50:15:50:48 | query | json-schema-validator.js:55:22:55:26 | query | provenance | |
| json-schema-validator.js:50:15:50:48 | query | json-schema-validator.js:59:22:59:26 | query | provenance | |
| json-schema-validator.js:50:15:50:48 | query | json-schema-validator.js:61:22:61:26 | query | provenance | |
| json-schema-validator.js:50:23:50:48 | JSON.pa ... y.data) | json-schema-validator.js:50:15:50:48 | query | provenance | |
| json-schema-validator.js:50:15:50:19 | query | json-schema-validator.js:55:22:55:26 | query | provenance | |
| json-schema-validator.js:50:15:50:19 | query | json-schema-validator.js:59:22:59:26 | query | provenance | |
| json-schema-validator.js:50:15:50:19 | query | json-schema-validator.js:61:22:61:26 | query | provenance | |
| json-schema-validator.js:50:23:50:48 | JSON.pa ... y.data) | json-schema-validator.js:50:15:50:19 | query | provenance | |
| json-schema-validator.js:50:34:50:47 | req.query.data | json-schema-validator.js:50:23:50:48 | JSON.pa ... y.data) | provenance | Config |
| koarouter.js:5:11:5:33 | version | koarouter.js:14:38:14:44 | version | provenance | |
| koarouter.js:5:13:5:19 | version | koarouter.js:5:11:5:33 | version | provenance | |
| koarouter.js:5:13:5:19 | version | koarouter.js:5:13:5:19 | version | provenance | |
| koarouter.js:5:13:5:19 | version | koarouter.js:14:38:14:44 | version | provenance | |
| koarouter.js:14:9:14:18 | [post update] conditions [ArrayElement] | koarouter.js:17:52:17:61 | conditions [ArrayElement] | provenance | |
| koarouter.js:14:25:14:46 | `versio ... rsion}` | koarouter.js:14:9:14:18 | [post update] conditions [ArrayElement] | provenance | |
| koarouter.js:14:38:14:44 | version | koarouter.js:14:25:14:46 | `versio ... rsion}` | provenance | |
| koarouter.js:17:52:17:61 | conditions [ArrayElement] | koarouter.js:17:52:17:75 | conditi ... and ') | provenance | |
| koarouter.js:17:52:17:75 | conditi ... and ') | koarouter.js:17:27:17:77 | `SELECT ... nd ')}` | provenance | |
| ldap.js:20:7:20:34 | q | ldap.js:22:18:22:18 | q | provenance | |
| ldap.js:20:11:20:34 | url.par ... , true) | ldap.js:20:7:20:34 | q | provenance | |
| ldap.js:20:7:20:7 | q | ldap.js:22:18:22:18 | q | provenance | |
| ldap.js:20:11:20:34 | url.par ... , true) | ldap.js:20:7:20:7 | q | provenance | |
| ldap.js:20:21:20:27 | req.url | ldap.js:20:11:20:34 | url.par ... , true) | provenance | |
| ldap.js:22:7:22:33 | username | ldap.js:25:24:25:31 | username | provenance | |
| ldap.js:22:7:22:33 | username | ldap.js:25:46:25:53 | username | provenance | |
| ldap.js:22:7:22:33 | username | ldap.js:32:26:32:33 | username | provenance | |
| ldap.js:22:7:22:33 | username | ldap.js:32:48:32:55 | username | provenance | |
| ldap.js:22:7:22:33 | username | ldap.js:64:16:64:23 | username | provenance | |
| ldap.js:22:7:22:33 | username | ldap.js:64:38:64:45 | username | provenance | |
| ldap.js:22:7:22:33 | username | ldap.js:68:33:68:40 | username | provenance | |
| ldap.js:22:18:22:18 | q | ldap.js:22:7:22:33 | username | provenance | |
| ldap.js:22:7:22:14 | username | ldap.js:25:24:25:31 | username | provenance | |
| ldap.js:22:7:22:14 | username | ldap.js:25:46:25:53 | username | provenance | |
| ldap.js:22:7:22:14 | username | ldap.js:32:26:32:33 | username | provenance | |
| ldap.js:22:7:22:14 | username | ldap.js:32:48:32:55 | username | provenance | |
| ldap.js:22:7:22:14 | username | ldap.js:64:16:64:23 | username | provenance | |
| ldap.js:22:7:22:14 | username | ldap.js:64:38:64:45 | username | provenance | |
| ldap.js:22:7:22:14 | username | ldap.js:68:33:68:40 | username | provenance | |
| ldap.js:22:18:22:18 | q | ldap.js:22:7:22:14 | username | provenance | |
| ldap.js:25:13:25:57 | `(\|(nam ... ame}))` | ldap.js:28:30:28:34 | opts1 | provenance | Config |
| ldap.js:25:24:25:31 | username | ldap.js:25:13:25:57 | `(\|(nam ... ame}))` | provenance | |
| ldap.js:25:46:25:53 | username | ldap.js:25:13:25:57 | `(\|(nam ... ame}))` | provenance | |
| ldap.js:32:15:32:59 | `(\|(nam ... ame}))` | ldap.js:32:5:32:61 | { filte ... e}))` } | provenance | Config |
| ldap.js:32:26:32:33 | username | ldap.js:32:15:32:59 | `(\|(nam ... ame}))` | provenance | |
| ldap.js:32:48:32:55 | username | ldap.js:32:15:32:59 | `(\|(nam ... ame}))` | provenance | |
| ldap.js:63:9:65:3 | parsedFilter | ldap.js:66:40:66:51 | parsedFilter | provenance | |
| ldap.js:63:24:65:3 | ldap.pa ... ))`\\n ) | ldap.js:63:9:65:3 | parsedFilter | provenance | |
| ldap.js:63:9:63:20 | parsedFilter | ldap.js:66:40:66:51 | parsedFilter | provenance | |
| ldap.js:63:24:65:3 | ldap.pa ... ))`\\n ) | ldap.js:63:9:63:20 | parsedFilter | provenance | |
| ldap.js:64:5:64:49 | `(\|(nam ... ame}))` | ldap.js:63:24:65:3 | ldap.pa ... ))`\\n ) | provenance | Config |
| ldap.js:64:16:64:23 | username | ldap.js:64:5:64:49 | `(\|(nam ... ame}))` | provenance | |
| ldap.js:64:38:64:45 | username | ldap.js:64:5:64:49 | `(\|(nam ... ame}))` | provenance | |
| ldap.js:66:40:66:51 | parsedFilter | ldap.js:66:30:66:53 | { filte ... ilter } | provenance | Config |
| ldap.js:68:33:68:40 | username | ldap.js:68:27:68:42 | `cn=${username}` | provenance | |
| marsdb-flow-to.js:10:9:10:18 | query | marsdb-flow-to.js:13:17:13:21 | query | provenance | |
| marsdb-flow-to.js:10:17:10:18 | {} | marsdb-flow-to.js:10:9:10:18 | query | provenance | |
| marsdb-flow-to.js:10:9:10:13 | query | marsdb-flow-to.js:13:17:13:21 | query | provenance | |
| marsdb-flow-to.js:10:17:10:18 | {} | marsdb-flow-to.js:10:9:10:13 | query | provenance | |
| marsdb-flow-to.js:11:17:11:24 | req.body | marsdb-flow-to.js:11:17:11:30 | req.body.title | provenance | Config |
| marsdb-flow-to.js:11:17:11:30 | req.body.title | marsdb-flow-to.js:10:9:10:18 | query | provenance | Config |
| marsdb-flow-to.js:11:17:11:30 | req.body.title | marsdb-flow-to.js:10:9:10:13 | query | provenance | Config |
| marsdb-flow-to.js:11:17:11:30 | req.body.title | marsdb-flow-to.js:10:17:10:18 | {} | provenance | Config |
| marsdb-flow-to.js:11:17:11:30 | req.body.title | marsdb-flow-to.js:13:17:13:21 | query | provenance | Config |
| marsdb.js:12:9:12:18 | query | marsdb.js:15:12:15:16 | query | provenance | |
| marsdb.js:12:17:12:18 | {} | marsdb.js:12:9:12:18 | query | provenance | |
| marsdb.js:12:9:12:13 | query | marsdb.js:15:12:15:16 | query | provenance | |
| marsdb.js:12:17:12:18 | {} | marsdb.js:12:9:12:13 | query | provenance | |
| marsdb.js:13:17:13:24 | req.body | marsdb.js:13:17:13:30 | req.body.title | provenance | Config |
| marsdb.js:13:17:13:30 | req.body.title | marsdb.js:12:9:12:18 | query | provenance | Config |
| marsdb.js:13:17:13:30 | req.body.title | marsdb.js:12:9:12:13 | query | provenance | Config |
| marsdb.js:13:17:13:30 | req.body.title | marsdb.js:12:17:12:18 | {} | provenance | Config |
| marsdb.js:13:17:13:30 | req.body.title | marsdb.js:15:12:15:16 | query | provenance | Config |
| minimongo.js:14:9:14:18 | query | minimongo.js:17:12:17:16 | query | provenance | |
| minimongo.js:14:17:14:18 | {} | minimongo.js:14:9:14:18 | query | provenance | |
| minimongo.js:14:9:14:13 | query | minimongo.js:17:12:17:16 | query | provenance | |
| minimongo.js:14:17:14:18 | {} | minimongo.js:14:9:14:13 | query | provenance | |
| minimongo.js:15:17:15:24 | req.body | minimongo.js:15:17:15:30 | req.body.title | provenance | Config |
| minimongo.js:15:17:15:30 | req.body.title | minimongo.js:14:9:14:18 | query | provenance | Config |
| minimongo.js:15:17:15:30 | req.body.title | minimongo.js:14:9:14:13 | query | provenance | Config |
| minimongo.js:15:17:15:30 | req.body.title | minimongo.js:14:17:14:18 | {} | provenance | Config |
| minimongo.js:15:17:15:30 | req.body.title | minimongo.js:17:12:17:16 | query | provenance | Config |
| mongodb.js:12:11:12:20 | query | mongodb.js:13:5:13:9 | query | provenance | |
| mongodb.js:12:19:12:20 | {} | mongodb.js:12:11:12:20 | query | provenance | |
| mongodb.js:12:11:12:15 | query | mongodb.js:13:5:13:9 | query | provenance | |
| mongodb.js:12:19:12:20 | {} | mongodb.js:12:11:12:15 | query | provenance | |
| mongodb.js:13:5:13:9 | query | mongodb.js:17:16:17:20 | query | provenance | |
| mongodb.js:13:19:13:26 | req.body | mongodb.js:13:19:13:32 | req.body.title | provenance | Config |
| mongodb.js:13:19:13:32 | req.body.title | mongodb.js:12:11:12:20 | query | provenance | Config |
| mongodb.js:13:19:13:32 | req.body.title | mongodb.js:12:11:12:15 | query | provenance | Config |
| mongodb.js:13:19:13:32 | req.body.title | mongodb.js:12:19:12:20 | {} | provenance | Config |
| mongodb.js:13:19:13:32 | req.body.title | mongodb.js:13:5:13:9 | query | provenance | Config |
| mongodb.js:13:19:13:32 | req.body.title | mongodb.js:17:16:17:20 | query | provenance | Config |
| mongodb.js:25:11:25:32 | title | mongodb.js:30:38:30:42 | title | provenance | |
| mongodb.js:25:11:25:15 | title | mongodb.js:30:38:30:42 | title | provenance | |
| mongodb.js:25:19:25:26 | req.body | mongodb.js:25:19:25:32 | req.body.title | provenance | Config |
| mongodb.js:25:19:25:32 | req.body.title | mongodb.js:25:11:25:32 | title | provenance | |
| mongodb.js:25:19:25:32 | req.body.title | mongodb.js:25:11:25:15 | title | provenance | |
| mongodb.js:30:27:30:43 | JSON.parse(title) | mongodb.js:30:18:30:45 | { title ... itle) } | provenance | Config |
| mongodb.js:30:38:30:42 | title | mongodb.js:30:27:30:43 | JSON.parse(title) | provenance | Config |
| mongodb.js:46:11:46:20 | query | mongodb.js:47:5:47:9 | query | provenance | |
| mongodb.js:46:19:46:20 | {} | mongodb.js:46:11:46:20 | query | provenance | |
| mongodb.js:46:11:46:15 | query | mongodb.js:47:5:47:9 | query | provenance | |
| mongodb.js:46:19:46:20 | {} | mongodb.js:46:11:46:15 | query | provenance | |
| mongodb.js:47:5:47:9 | query | mongodb.js:51:16:51:20 | query | provenance | |
| mongodb.js:47:19:47:33 | req.query.title | mongodb.js:46:11:46:20 | query | provenance | Config |
| mongodb.js:47:19:47:33 | req.query.title | mongodb.js:46:11:46:15 | query | provenance | Config |
| mongodb.js:47:19:47:33 | req.query.title | mongodb.js:46:19:46:20 | {} | provenance | Config |
| mongodb.js:47:19:47:33 | req.query.title | mongodb.js:47:5:47:9 | query | provenance | Config |
| mongodb.js:47:19:47:33 | req.query.title | mongodb.js:51:16:51:20 | query | provenance | Config |
| mongodb.js:56:8:56:17 | query | mongodb.js:57:2:57:6 | query | provenance | |
| mongodb.js:56:16:56:17 | {} | mongodb.js:56:8:56:17 | query | provenance | |
| mongodb.js:56:8:56:12 | query | mongodb.js:57:2:57:6 | query | provenance | |
| mongodb.js:56:16:56:17 | {} | mongodb.js:56:8:56:12 | query | provenance | |
| mongodb.js:57:2:57:6 | query | mongodb.js:61:12:61:16 | query | provenance | |
| mongodb.js:57:16:57:30 | req.query.title | mongodb.js:56:8:56:17 | query | provenance | Config |
| mongodb.js:57:16:57:30 | req.query.title | mongodb.js:56:8:56:12 | query | provenance | Config |
| mongodb.js:57:16:57:30 | req.query.title | mongodb.js:56:16:56:17 | {} | provenance | Config |
| mongodb.js:57:16:57:30 | req.query.title | mongodb.js:57:2:57:6 | query | provenance | Config |
| mongodb.js:57:16:57:30 | req.query.title | mongodb.js:61:12:61:16 | query | provenance | Config |
| mongodb.js:66:7:66:25 | tag | mongodb.js:72:22:72:24 | tag | provenance | |
| mongodb.js:66:7:66:25 | tag | mongodb.js:79:20:79:22 | tag | provenance | |
| mongodb.js:66:13:66:25 | req.query.tag | mongodb.js:66:7:66:25 | tag | provenance | |
| mongodb.js:66:7:66:9 | tag | mongodb.js:72:22:72:24 | tag | provenance | |
| mongodb.js:66:7:66:9 | tag | mongodb.js:79:20:79:22 | tag | provenance | |
| mongodb.js:66:13:66:25 | req.query.tag | mongodb.js:66:7:66:9 | tag | provenance | |
| mongodb.js:72:22:72:24 | tag | mongodb.js:72:14:72:26 | { tags: tag } | provenance | Config |
| mongodb.js:79:20:79:22 | tag | mongodb.js:79:12:79:24 | { tags: tag } | provenance | Config |
| mongodb.js:100:9:100:18 | query | mongodb.js:101:3:101:7 | query | provenance | |
| mongodb.js:100:17:100:18 | {} | mongodb.js:100:9:100:18 | query | provenance | |
| mongodb.js:100:9:100:13 | query | mongodb.js:101:3:101:7 | query | provenance | |
| mongodb.js:100:17:100:18 | {} | mongodb.js:100:9:100:13 | query | provenance | |
| mongodb.js:101:3:101:7 | query | mongodb.js:105:14:105:18 | query | provenance | |
| mongodb.js:101:17:101:29 | queries.title | mongodb.js:100:9:100:18 | query | provenance | Config |
| mongodb.js:101:17:101:29 | queries.title | mongodb.js:100:9:100:13 | query | provenance | Config |
| mongodb.js:101:17:101:29 | queries.title | mongodb.js:100:17:100:18 | {} | provenance | Config |
| mongodb.js:101:17:101:29 | queries.title | mongodb.js:101:3:101:7 | query | provenance | Config |
| mongodb.js:101:17:101:29 | queries.title | mongodb.js:105:14:105:18 | query | provenance | Config |
| mongodb_bodySafe.js:23:11:23:20 | query | mongodb_bodySafe.js:24:5:24:9 | query | provenance | |
| mongodb_bodySafe.js:23:19:23:20 | {} | mongodb_bodySafe.js:23:11:23:20 | query | provenance | |
| mongodb_bodySafe.js:23:11:23:15 | query | mongodb_bodySafe.js:24:5:24:9 | query | provenance | |
| mongodb_bodySafe.js:23:19:23:20 | {} | mongodb_bodySafe.js:23:11:23:15 | query | provenance | |
| mongodb_bodySafe.js:24:5:24:9 | query | mongodb_bodySafe.js:28:16:28:20 | query | provenance | |
| mongodb_bodySafe.js:24:19:24:33 | req.query.title | mongodb_bodySafe.js:23:11:23:20 | query | provenance | Config |
| mongodb_bodySafe.js:24:19:24:33 | req.query.title | mongodb_bodySafe.js:23:11:23:15 | query | provenance | Config |
| mongodb_bodySafe.js:24:19:24:33 | req.query.title | mongodb_bodySafe.js:23:19:23:20 | {} | provenance | Config |
| mongodb_bodySafe.js:24:19:24:33 | req.query.title | mongodb_bodySafe.js:24:5:24:9 | query | provenance | Config |
| mongodb_bodySafe.js:24:19:24:33 | req.query.title | mongodb_bodySafe.js:28:16:28:20 | query | provenance | Config |
| mongoose.js:20:8:20:17 | query | mongoose.js:21:2:21:6 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:23:22:23:26 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:25:17:25:21 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:27:22:27:26 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:29:21:29:25 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:31:28:31:32 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:33:16:33:20 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:35:19:35:23 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:37:28:37:32 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:39:28:39:32 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:41:28:41:32 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:43:22:43:26 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:45:18:45:22 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:47:22:47:26 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:49:21:49:25 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:51:32:51:36 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:53:27:53:31 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:54:8:54:12 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:57:17:57:21 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:58:10:58:14 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:59:8:59:12 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:60:7:60:11 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:61:16:61:20 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:62:12:62:16 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:63:10:63:14 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:67:37:67:41 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:68:46:68:50 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:69:47:69:51 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:90:21:90:25 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:97:14:97:18 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:99:31:99:35 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:119:38:119:42 | query | provenance | |
| mongoose.js:20:8:20:17 | query | mongoose.js:122:30:122:34 | query | provenance | |
| mongoose.js:20:16:20:17 | {} | mongoose.js:20:8:20:17 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:21:2:21:6 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:23:22:23:26 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:25:17:25:21 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:27:22:27:26 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:29:21:29:25 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:31:28:31:32 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:33:16:33:20 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:35:19:35:23 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:37:28:37:32 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:39:28:39:32 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:41:28:41:32 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:43:22:43:26 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:45:18:45:22 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:47:22:47:26 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:49:21:49:25 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:51:32:51:36 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:53:27:53:31 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:54:8:54:12 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:57:17:57:21 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:58:10:58:14 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:59:8:59:12 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:60:7:60:11 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:61:16:61:20 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:62:12:62:16 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:63:10:63:14 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:67:37:67:41 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:68:46:68:50 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:69:47:69:51 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:90:21:90:25 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:97:14:97:18 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:99:31:99:35 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:119:38:119:42 | query | provenance | |
| mongoose.js:20:8:20:12 | query | mongoose.js:122:30:122:34 | query | provenance | |
| mongoose.js:20:16:20:17 | {} | mongoose.js:20:8:20:12 | query | provenance | |
| mongoose.js:21:2:21:6 | query | mongoose.js:23:22:23:26 | query | provenance | |
| mongoose.js:21:16:21:23 | req.body | mongoose.js:21:16:21:29 | req.body.title | provenance | Config |
| mongoose.js:21:16:21:29 | req.body.title | mongoose.js:20:8:20:17 | query | provenance | Config |
| mongoose.js:21:16:21:29 | req.body.title | mongoose.js:20:8:20:12 | query | provenance | Config |
| mongoose.js:21:16:21:29 | req.body.title | mongoose.js:20:16:20:17 | {} | provenance | Config |
| mongoose.js:21:16:21:29 | req.body.title | mongoose.js:21:2:21:6 | query | provenance | Config |
| mongoose.js:21:16:21:29 | req.body.title | mongoose.js:23:22:23:26 | query | provenance | Config |
@@ -423,59 +423,59 @@ edges
| mongoose.js:90:21:90:25 | query | mongoose.js:97:14:97:18 | query | provenance | |
| mongoose.js:97:14:97:18 | query | mongoose.js:99:31:99:35 | query | provenance | |
| mongoose.js:99:31:99:35 | query | mongoose.js:119:38:119:42 | query | provenance | |
| mongoose.js:101:6:101:22 | id | mongoose.js:109:20:109:21 | id | provenance | |
| mongoose.js:101:6:101:22 | id | mongoose.js:116:23:116:24 | id | provenance | |
| mongoose.js:101:11:101:22 | req.query.id | mongoose.js:101:6:101:22 | id | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:102:22:102:25 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:103:21:103:24 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:104:21:104:24 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:105:18:105:21 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:106:22:106:25 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:107:16:107:19 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:108:19:108:22 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:110:28:110:31 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:111:28:111:31 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:112:28:112:31 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:113:18:113:21 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:114:22:114:25 | cond | provenance | |
| mongoose.js:101:25:101:45 | cond | mongoose.js:115:21:115:24 | cond | provenance | |
| mongoose.js:101:32:101:45 | req.query.cond | mongoose.js:101:25:101:45 | cond | provenance | |
| mongoose.js:101:6:101:7 | id | mongoose.js:109:20:109:21 | id | provenance | |
| mongoose.js:101:6:101:7 | id | mongoose.js:116:23:116:24 | id | provenance | |
| mongoose.js:101:11:101:22 | req.query.id | mongoose.js:101:6:101:7 | id | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:102:22:102:25 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:103:21:103:24 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:104:21:104:24 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:105:18:105:21 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:106:22:106:25 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:107:16:107:19 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:108:19:108:22 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:110:28:110:31 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:111:28:111:31 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:112:28:112:31 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:113:18:113:21 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:114:22:114:25 | cond | provenance | |
| mongoose.js:101:25:101:28 | cond | mongoose.js:115:21:115:24 | cond | provenance | |
| mongoose.js:101:32:101:45 | req.query.cond | mongoose.js:101:25:101:28 | cond | provenance | |
| mongoose.js:116:23:116:24 | id | mongoose.js:116:16:116:26 | { _id: id } | provenance | Config |
| mongoose.js:119:38:119:42 | query | mongoose.js:122:30:122:34 | query | provenance | |
| mongooseJsonParse.js:19:11:19:20 | query | mongooseJsonParse.js:22:19:22:23 | query | provenance | |
| mongooseJsonParse.js:19:19:19:20 | {} | mongooseJsonParse.js:19:11:19:20 | query | provenance | |
| mongooseJsonParse.js:19:11:19:15 | query | mongooseJsonParse.js:22:19:22:23 | query | provenance | |
| mongooseJsonParse.js:19:19:19:20 | {} | mongooseJsonParse.js:19:11:19:15 | query | provenance | |
| mongooseJsonParse.js:20:19:20:44 | JSON.pa ... y.data) | mongooseJsonParse.js:20:19:20:50 | JSON.pa ... ).title | provenance | Config |
| mongooseJsonParse.js:20:19:20:50 | JSON.pa ... ).title | mongooseJsonParse.js:19:11:19:20 | query | provenance | Config |
| mongooseJsonParse.js:20:19:20:50 | JSON.pa ... ).title | mongooseJsonParse.js:19:11:19:15 | query | provenance | Config |
| mongooseJsonParse.js:20:19:20:50 | JSON.pa ... ).title | mongooseJsonParse.js:19:19:19:20 | {} | provenance | Config |
| mongooseJsonParse.js:20:19:20:50 | JSON.pa ... ).title | mongooseJsonParse.js:22:19:22:23 | query | provenance | Config |
| mongooseJsonParse.js:20:30:20:43 | req.query.data | mongooseJsonParse.js:20:19:20:44 | JSON.pa ... y.data) | provenance | Config |
| mongooseModelClient.js:10:7:10:32 | v | mongooseModelClient.js:11:22:11:22 | v | provenance | |
| mongooseModelClient.js:10:11:10:32 | JSON.pa ... body.x) | mongooseModelClient.js:10:7:10:32 | v | provenance | |
| mongooseModelClient.js:10:7:10:7 | v | mongooseModelClient.js:11:22:11:22 | v | provenance | |
| mongooseModelClient.js:10:11:10:32 | JSON.pa ... body.x) | mongooseModelClient.js:10:7:10:7 | v | provenance | |
| mongooseModelClient.js:10:22:10:29 | req.body | mongooseModelClient.js:10:22:10:31 | req.body.x | provenance | Config |
| mongooseModelClient.js:10:22:10:31 | req.body.x | mongooseModelClient.js:10:11:10:32 | JSON.pa ... body.x) | provenance | Config |
| mongooseModelClient.js:11:22:11:22 | v | mongooseModelClient.js:11:16:11:24 | { id: v } | provenance | Config |
| mongooseModelClient.js:12:22:12:29 | req.body | mongooseModelClient.js:12:22:12:32 | req.body.id | provenance | Config |
| mongooseModelClient.js:12:22:12:32 | req.body.id | mongooseModelClient.js:12:16:12:34 | { id: req.body.id } | provenance | Config |
| mysql.js:6:9:6:31 | temp | mysql.js:15:62:15:65 | temp | provenance | |
| mysql.js:6:9:6:31 | temp | mysql.js:19:70:19:73 | temp | provenance | |
| mysql.js:6:16:6:31 | req.params.value | mysql.js:6:9:6:31 | temp | provenance | |
| mysql.js:6:9:6:12 | temp | mysql.js:15:62:15:65 | temp | provenance | |
| mysql.js:6:9:6:12 | temp | mysql.js:19:70:19:73 | temp | provenance | |
| mysql.js:6:16:6:31 | req.params.value | mysql.js:6:9:6:12 | temp | provenance | |
| mysql.js:15:62:15:65 | temp | mysql.js:15:18:15:65 | 'SELECT ... + temp | provenance | |
| mysql.js:19:70:19:73 | temp | mysql.js:19:26:19:73 | 'SELECT ... + temp | provenance | |
| pg-promise-types.ts:7:9:7:28 | taint | pg-promise-types.ts:8:17:8:21 | taint | provenance | |
| pg-promise-types.ts:7:17:7:28 | req.params.x | pg-promise-types.ts:7:9:7:28 | taint | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:9:10:9:14 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:10:11:10:15 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:11:17:11:21 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:12:10:12:14 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:13:12:13:16 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:14:18:14:22 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:15:11:15:15 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:16:10:16:14 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:17:16:17:20 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:18:12:18:16 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:19:13:19:17 | query | provenance | |
| pg-promise.js:6:7:7:55 | query | pg-promise.js:22:11:22:15 | query | provenance | |
| pg-promise.js:7:16:7:34 | req.params.category | pg-promise.js:6:7:7:55 | query | provenance | |
| pg-promise-types.ts:7:9:7:13 | taint | pg-promise-types.ts:8:17:8:21 | taint | provenance | |
| pg-promise-types.ts:7:17:7:28 | req.params.x | pg-promise-types.ts:7:9:7:13 | taint | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:9:10:9:14 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:10:11:10:15 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:11:17:11:21 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:12:10:12:14 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:13:12:13:16 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:14:18:14:22 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:15:11:15:15 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:16:10:16:14 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:17:16:17:20 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:18:12:18:16 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:19:13:19:17 | query | provenance | |
| pg-promise.js:6:7:6:11 | query | pg-promise.js:22:11:22:15 | query | provenance | |
| pg-promise.js:7:16:7:34 | req.params.category | pg-promise.js:6:7:6:11 | query | provenance | |
| pg-promise.js:9:10:9:14 | query | pg-promise.js:10:11:10:15 | query | provenance | |
| pg-promise.js:10:11:10:15 | query | pg-promise.js:11:17:11:21 | query | provenance | |
| pg-promise.js:11:17:11:21 | query | pg-promise.js:12:10:12:14 | query | provenance | |
@@ -491,38 +491,38 @@ edges
| pg-promise.js:22:11:22:15 | query | pg-promise.js:63:23:63:27 | query | provenance | |
| pg-promise.js:22:11:22:15 | query | pg-promise.js:64:16:64:20 | query | provenance | |
| redis.js:10:16:10:23 | req.body | redis.js:10:16:10:27 | req.body.key | provenance | Config |
| redis.js:12:9:12:26 | key | redis.js:13:16:13:18 | key | provenance | |
| redis.js:12:9:12:26 | key | redis.js:18:16:18:18 | key | provenance | |
| redis.js:12:9:12:26 | key | redis.js:19:43:19:45 | key | provenance | |
| redis.js:12:9:12:26 | key | redis.js:25:14:25:16 | key | provenance | |
| redis.js:12:9:12:26 | key | redis.js:26:14:26:16 | key | provenance | |
| redis.js:12:9:12:26 | key | redis.js:32:28:32:30 | key | provenance | |
| redis.js:12:9:12:11 | key | redis.js:13:16:13:18 | key | provenance | |
| redis.js:12:9:12:11 | key | redis.js:18:16:18:18 | key | provenance | |
| redis.js:12:9:12:11 | key | redis.js:19:43:19:45 | key | provenance | |
| redis.js:12:9:12:11 | key | redis.js:25:14:25:16 | key | provenance | |
| redis.js:12:9:12:11 | key | redis.js:26:14:26:16 | key | provenance | |
| redis.js:12:9:12:11 | key | redis.js:32:28:32:30 | key | provenance | |
| redis.js:12:15:12:22 | req.body | redis.js:12:15:12:26 | req.body.key | provenance | Config |
| redis.js:12:15:12:26 | req.body.key | redis.js:12:9:12:26 | key | provenance | |
| redis.js:12:15:12:26 | req.body.key | redis.js:12:9:12:11 | key | provenance | |
| redis.js:13:16:13:18 | key | redis.js:18:16:18:18 | key | provenance | |
| redis.js:18:16:18:18 | key | redis.js:19:43:19:45 | key | provenance | |
| redis.js:19:43:19:45 | key | redis.js:25:14:25:16 | key | provenance | |
| redis.js:25:14:25:16 | key | redis.js:26:14:26:16 | key | provenance | |
| redis.js:26:14:26:16 | key | redis.js:30:23:30:25 | key | provenance | |
| redis.js:26:14:26:16 | key | redis.js:32:28:32:30 | key | provenance | |
| redis.js:38:11:38:28 | key | redis.js:39:16:39:18 | key | provenance | |
| redis.js:38:11:38:28 | key | redis.js:43:27:43:29 | key | provenance | |
| redis.js:38:11:38:28 | key | redis.js:46:34:46:36 | key | provenance | |
| redis.js:38:11:38:13 | key | redis.js:39:16:39:18 | key | provenance | |
| redis.js:38:11:38:13 | key | redis.js:43:27:43:29 | key | provenance | |
| redis.js:38:11:38:13 | key | redis.js:46:34:46:36 | key | provenance | |
| redis.js:38:17:38:24 | req.body | redis.js:38:17:38:28 | req.body.key | provenance | Config |
| redis.js:38:17:38:28 | req.body.key | redis.js:38:11:38:28 | key | provenance | |
| redis.js:38:17:38:28 | req.body.key | redis.js:38:11:38:13 | key | provenance | |
| socketio.js:10:25:10:30 | handle | socketio.js:11:46:11:51 | handle | provenance | |
| socketio.js:11:46:11:51 | handle | socketio.js:11:12:11:53 | `INSERT ... andle}` | provenance | |
| tst2.js:8:66:8:78 | req.params.id | tst2.js:8:27:8:84 | "select ... d + "'" | provenance | |
| tst3.js:7:7:8:55 | query1 | tst3.js:9:14:9:19 | query1 | provenance | |
| tst3.js:8:16:8:34 | req.params.category | tst3.js:7:7:8:55 | query1 | provenance | |
| tst3.js:7:7:7:12 | query1 | tst3.js:9:14:9:19 | query1 | provenance | |
| tst3.js:8:16:8:34 | req.params.category | tst3.js:7:7:7:12 | query1 | provenance | |
| tst4.js:8:46:8:60 | $routeParams.id | tst4.js:8:10:8:66 | 'SELECT ... d + '"' | provenance | |
| tst.js:10:46:10:58 | req.params.id | tst.js:10:10:10:64 | 'SELECT ... d + '"' | provenance | |
nodes
| graphql.js:8:11:8:28 | id | semmle.label | id |
| graphql.js:8:11:8:12 | id | semmle.label | id |
| graphql.js:8:16:8:28 | req.params.id | semmle.label | req.params.id |
| graphql.js:9:34:19:5 | `\\n ... }\\n ` | semmle.label | `\\n ... }\\n ` |
| graphql.js:11:46:11:47 | id | semmle.label | id |
| graphql.js:25:11:25:28 | id | semmle.label | id |
| graphql.js:25:11:25:12 | id | semmle.label | id |
| graphql.js:25:16:25:28 | req.params.id | semmle.label | req.params.id |
| graphql.js:26:30:26:40 | `foo ${id}` | semmle.label | `foo ${id}` |
| graphql.js:26:37:26:38 | id | semmle.label | id |
@@ -530,46 +530,46 @@ nodes
| graphql.js:29:39:29:40 | id | semmle.label | id |
| graphql.js:32:18:32:28 | `foo ${id}` | semmle.label | `foo ${id}` |
| graphql.js:32:25:32:26 | id | semmle.label | id |
| graphql.js:38:11:38:28 | id | semmle.label | id |
| graphql.js:38:11:38:12 | id | semmle.label | id |
| graphql.js:38:16:38:28 | req.params.id | semmle.label | req.params.id |
| graphql.js:43:14:43:24 | `foo ${id}` | semmle.label | `foo ${id}` |
| graphql.js:43:21:43:22 | id | semmle.label | id |
| graphql.js:47:44:47:54 | `foo ${id}` | semmle.label | `foo ${id}` |
| graphql.js:47:51:47:52 | id | semmle.label | id |
| graphql.js:54:11:54:28 | id | semmle.label | id |
| graphql.js:54:11:54:12 | id | semmle.label | id |
| graphql.js:54:16:54:28 | req.params.id | semmle.label | req.params.id |
| graphql.js:55:39:55:49 | `foo ${id}` | semmle.label | `foo ${id}` |
| graphql.js:55:46:55:47 | id | semmle.label | id |
| graphql.js:57:66:57:76 | `foo ${id}` | semmle.label | `foo ${id}` |
| graphql.js:57:73:57:74 | id | semmle.label | id |
| graphql.js:73:9:73:25 | id | semmle.label | id |
| graphql.js:73:9:73:10 | id | semmle.label | id |
| graphql.js:73:14:73:25 | req.query.id | semmle.label | req.query.id |
| graphql.js:74:46:74:64 | "{ foo" + id + " }" | semmle.label | "{ foo" + id + " }" |
| graphql.js:74:56:74:57 | id | semmle.label | id |
| graphql.js:82:14:88:8 | `{\\n ... }` | semmle.label | `{\\n ... }` |
| graphql.js:86:13:86:14 | id | semmle.label | id |
| graphql.js:117:11:117:28 | id | semmle.label | id |
| graphql.js:117:11:117:12 | id | semmle.label | id |
| graphql.js:117:16:117:28 | req.params.id | semmle.label | req.params.id |
| graphql.js:118:38:118:48 | `foo ${id}` | semmle.label | `foo ${id}` |
| graphql.js:118:45:118:46 | id | semmle.label | id |
| hana.js:9:13:9:42 | maliciousInput | semmle.label | maliciousInput |
| hana.js:9:13:9:26 | maliciousInput | semmle.label | maliciousInput |
| hana.js:9:30:9:37 | req.body | semmle.label | req.body |
| hana.js:10:15:10:80 | query | semmle.label | query |
| hana.js:10:15:10:19 | query | semmle.label | query |
| hana.js:10:64:10:77 | maliciousInput | semmle.label | maliciousInput |
| hana.js:11:19:11:23 | query | semmle.label | query |
| hana.js:16:15:16:44 | maliciousInput | semmle.label | maliciousInput |
| hana.js:16:15:16:28 | maliciousInput | semmle.label | maliciousInput |
| hana.js:16:32:16:39 | req.body | semmle.label | req.body |
| hana.js:17:35:17:100 | `SELECT ... usInput | semmle.label | `SELECT ... usInput |
| hana.js:17:87:17:100 | maliciousInput | semmle.label | maliciousInput |
| hana.js:23:15:23:44 | maliciousInput | semmle.label | maliciousInput |
| hana.js:23:15:23:28 | maliciousInput | semmle.label | maliciousInput |
| hana.js:23:32:23:39 | req.body | semmle.label | req.body |
| hana.js:24:33:24:96 | `INSERT ... usInput | semmle.label | `INSERT ... usInput |
| hana.js:24:83:24:96 | maliciousInput | semmle.label | maliciousInput |
| hana.js:30:13:30:42 | maliciousInput | semmle.label | maliciousInput |
| hana.js:30:13:30:26 | maliciousInput | semmle.label | maliciousInput |
| hana.js:30:30:30:37 | req.body | semmle.label | req.body |
| hana.js:31:31:31:97 | "SELECT ... usInput | semmle.label | "SELECT ... usInput |
| hana.js:31:84:31:97 | maliciousInput | semmle.label | maliciousInput |
| hana.js:47:7:47:36 | maliciousInput | semmle.label | maliciousInput |
| hana.js:47:7:47:20 | maliciousInput | semmle.label | maliciousInput |
| hana.js:47:24:47:31 | req.body | semmle.label | req.body |
| hana.js:48:15:48:52 | 'SELECT ... usInput | semmle.label | 'SELECT ... usInput |
| hana.js:48:39:48:52 | maliciousInput | semmle.label | maliciousInput |
@@ -577,7 +577,7 @@ nodes
| hana.js:50:76:50:89 | maliciousInput | semmle.label | maliciousInput |
| hana.js:54:38:54:66 | 'PROC_D ... usInput | semmle.label | 'PROC_D ... usInput |
| hana.js:54:53:54:66 | maliciousInput | semmle.label | maliciousInput |
| hana.js:68:7:68:36 | maliciousInput | semmle.label | maliciousInput |
| hana.js:68:7:68:20 | maliciousInput | semmle.label | maliciousInput |
| hana.js:68:24:68:31 | req.body | semmle.label | req.body |
| hana.js:71:44:71:99 | "INSERT ... usInput | semmle.label | "INSERT ... usInput |
| hana.js:71:86:71:99 | maliciousInput | semmle.label | maliciousInput |
@@ -592,23 +592,23 @@ nodes
| hana.js:84:20:84:78 | 'select ... usInput | semmle.label | 'select ... usInput |
| hana.js:84:65:84:78 | maliciousInput | semmle.label | maliciousInput |
| html-sanitizer.js:13:39:13:44 | param1 | semmle.label | param1 |
| html-sanitizer.js:14:5:14:24 | param1 | semmle.label | param1 |
| html-sanitizer.js:14:5:14:10 | param1 | semmle.label | param1 |
| html-sanitizer.js:14:14:14:24 | xss(param1) | semmle.label | xss(param1) |
| html-sanitizer.js:14:18:14:23 | param1 | semmle.label | param1 |
| html-sanitizer.js:16:9:16:59 | `SELECT ... param1 | semmle.label | `SELECT ... param1 |
| html-sanitizer.js:16:54:16:59 | param1 | semmle.label | param1 |
| json-schema-validator.js:25:15:25:48 | query | semmle.label | query |
| json-schema-validator.js:25:15:25:19 | query | semmle.label | query |
| json-schema-validator.js:25:23:25:48 | JSON.pa ... y.data) | semmle.label | JSON.pa ... y.data) |
| json-schema-validator.js:25:34:25:47 | req.query.data | semmle.label | req.query.data |
| json-schema-validator.js:33:22:33:26 | query | semmle.label | query |
| json-schema-validator.js:35:18:35:22 | query | semmle.label | query |
| json-schema-validator.js:50:15:50:48 | query | semmle.label | query |
| json-schema-validator.js:50:15:50:19 | query | semmle.label | query |
| json-schema-validator.js:50:23:50:48 | JSON.pa ... y.data) | semmle.label | JSON.pa ... y.data) |
| json-schema-validator.js:50:34:50:47 | req.query.data | semmle.label | req.query.data |
| json-schema-validator.js:55:22:55:26 | query | semmle.label | query |
| json-schema-validator.js:59:22:59:26 | query | semmle.label | query |
| json-schema-validator.js:61:22:61:26 | query | semmle.label | query |
| koarouter.js:5:11:5:33 | version | semmle.label | version |
| koarouter.js:5:13:5:19 | version | semmle.label | version |
| koarouter.js:5:13:5:19 | version | semmle.label | version |
| koarouter.js:14:9:14:18 | [post update] conditions [ArrayElement] | semmle.label | [post update] conditions [ArrayElement] |
| koarouter.js:14:25:14:46 | `versio ... rsion}` | semmle.label | `versio ... rsion}` |
@@ -616,10 +616,10 @@ nodes
| koarouter.js:17:27:17:77 | `SELECT ... nd ')}` | semmle.label | `SELECT ... nd ')}` |
| koarouter.js:17:52:17:61 | conditions [ArrayElement] | semmle.label | conditions [ArrayElement] |
| koarouter.js:17:52:17:75 | conditi ... and ') | semmle.label | conditi ... and ') |
| ldap.js:20:7:20:34 | q | semmle.label | q |
| ldap.js:20:7:20:7 | q | semmle.label | q |
| ldap.js:20:11:20:34 | url.par ... , true) | semmle.label | url.par ... , true) |
| ldap.js:20:21:20:27 | req.url | semmle.label | req.url |
| ldap.js:22:7:22:33 | username | semmle.label | username |
| ldap.js:22:7:22:14 | username | semmle.label | username |
| ldap.js:22:18:22:18 | q | semmle.label | q |
| ldap.js:25:13:25:57 | `(\|(nam ... ame}))` | semmle.label | `(\|(nam ... ame}))` |
| ldap.js:25:24:25:31 | username | semmle.label | username |
@@ -629,7 +629,7 @@ nodes
| ldap.js:32:15:32:59 | `(\|(nam ... ame}))` | semmle.label | `(\|(nam ... ame}))` |
| ldap.js:32:26:32:33 | username | semmle.label | username |
| ldap.js:32:48:32:55 | username | semmle.label | username |
| ldap.js:63:9:65:3 | parsedFilter | semmle.label | parsedFilter |
| ldap.js:63:9:63:20 | parsedFilter | semmle.label | parsedFilter |
| ldap.js:63:24:65:3 | ldap.pa ... ))`\\n ) | semmle.label | ldap.pa ... ))`\\n ) |
| ldap.js:64:5:64:49 | `(\|(nam ... ame}))` | semmle.label | `(\|(nam ... ame}))` |
| ldap.js:64:16:64:23 | username | semmle.label | username |
@@ -638,60 +638,60 @@ nodes
| ldap.js:66:40:66:51 | parsedFilter | semmle.label | parsedFilter |
| ldap.js:68:27:68:42 | `cn=${username}` | semmle.label | `cn=${username}` |
| ldap.js:68:33:68:40 | username | semmle.label | username |
| marsdb-flow-to.js:10:9:10:18 | query | semmle.label | query |
| marsdb-flow-to.js:10:9:10:13 | query | semmle.label | query |
| marsdb-flow-to.js:10:17:10:18 | {} | semmle.label | {} |
| marsdb-flow-to.js:11:17:11:24 | req.body | semmle.label | req.body |
| marsdb-flow-to.js:11:17:11:30 | req.body.title | semmle.label | req.body.title |
| marsdb-flow-to.js:13:17:13:21 | query | semmle.label | query |
| marsdb.js:12:9:12:18 | query | semmle.label | query |
| marsdb.js:12:9:12:13 | query | semmle.label | query |
| marsdb.js:12:17:12:18 | {} | semmle.label | {} |
| marsdb.js:13:17:13:24 | req.body | semmle.label | req.body |
| marsdb.js:13:17:13:30 | req.body.title | semmle.label | req.body.title |
| marsdb.js:15:12:15:16 | query | semmle.label | query |
| minimongo.js:14:9:14:18 | query | semmle.label | query |
| minimongo.js:14:9:14:13 | query | semmle.label | query |
| minimongo.js:14:17:14:18 | {} | semmle.label | {} |
| minimongo.js:15:17:15:24 | req.body | semmle.label | req.body |
| minimongo.js:15:17:15:30 | req.body.title | semmle.label | req.body.title |
| minimongo.js:17:12:17:16 | query | semmle.label | query |
| mongodb.js:12:11:12:20 | query | semmle.label | query |
| mongodb.js:12:11:12:15 | query | semmle.label | query |
| mongodb.js:12:19:12:20 | {} | semmle.label | {} |
| mongodb.js:13:5:13:9 | query | semmle.label | query |
| mongodb.js:13:19:13:26 | req.body | semmle.label | req.body |
| mongodb.js:13:19:13:32 | req.body.title | semmle.label | req.body.title |
| mongodb.js:17:16:17:20 | query | semmle.label | query |
| mongodb.js:25:11:25:32 | title | semmle.label | title |
| mongodb.js:25:11:25:15 | title | semmle.label | title |
| mongodb.js:25:19:25:26 | req.body | semmle.label | req.body |
| mongodb.js:25:19:25:32 | req.body.title | semmle.label | req.body.title |
| mongodb.js:30:18:30:45 | { title ... itle) } | semmle.label | { title ... itle) } |
| mongodb.js:30:27:30:43 | JSON.parse(title) | semmle.label | JSON.parse(title) |
| mongodb.js:30:38:30:42 | title | semmle.label | title |
| mongodb.js:46:11:46:20 | query | semmle.label | query |
| mongodb.js:46:11:46:15 | query | semmle.label | query |
| mongodb.js:46:19:46:20 | {} | semmle.label | {} |
| mongodb.js:47:5:47:9 | query | semmle.label | query |
| mongodb.js:47:19:47:33 | req.query.title | semmle.label | req.query.title |
| mongodb.js:51:16:51:20 | query | semmle.label | query |
| mongodb.js:56:8:56:17 | query | semmle.label | query |
| mongodb.js:56:8:56:12 | query | semmle.label | query |
| mongodb.js:56:16:56:17 | {} | semmle.label | {} |
| mongodb.js:57:2:57:6 | query | semmle.label | query |
| mongodb.js:57:16:57:30 | req.query.title | semmle.label | req.query.title |
| mongodb.js:61:12:61:16 | query | semmle.label | query |
| mongodb.js:66:7:66:25 | tag | semmle.label | tag |
| mongodb.js:66:7:66:9 | tag | semmle.label | tag |
| mongodb.js:66:13:66:25 | req.query.tag | semmle.label | req.query.tag |
| mongodb.js:72:14:72:26 | { tags: tag } | semmle.label | { tags: tag } |
| mongodb.js:72:22:72:24 | tag | semmle.label | tag |
| mongodb.js:79:12:79:24 | { tags: tag } | semmle.label | { tags: tag } |
| mongodb.js:79:20:79:22 | tag | semmle.label | tag |
| mongodb.js:100:9:100:18 | query | semmle.label | query |
| mongodb.js:100:9:100:13 | query | semmle.label | query |
| mongodb.js:100:17:100:18 | {} | semmle.label | {} |
| mongodb.js:101:3:101:7 | query | semmle.label | query |
| mongodb.js:101:17:101:29 | queries.title | semmle.label | queries.title |
| mongodb.js:105:14:105:18 | query | semmle.label | query |
| mongodb_bodySafe.js:23:11:23:20 | query | semmle.label | query |
| mongodb_bodySafe.js:23:11:23:15 | query | semmle.label | query |
| mongodb_bodySafe.js:23:19:23:20 | {} | semmle.label | {} |
| mongodb_bodySafe.js:24:5:24:9 | query | semmle.label | query |
| mongodb_bodySafe.js:24:19:24:33 | req.query.title | semmle.label | req.query.title |
| mongodb_bodySafe.js:28:16:28:20 | query | semmle.label | query |
| mongoose.js:20:8:20:17 | query | semmle.label | query |
| mongoose.js:20:8:20:12 | query | semmle.label | query |
| mongoose.js:20:16:20:17 | {} | semmle.label | {} |
| mongoose.js:21:2:21:6 | query | semmle.label | query |
| mongoose.js:21:16:21:23 | req.body | semmle.label | req.body |
@@ -733,9 +733,9 @@ nodes
| mongoose.js:90:21:90:25 | query | semmle.label | query |
| mongoose.js:97:14:97:18 | query | semmle.label | query |
| mongoose.js:99:31:99:35 | query | semmle.label | query |
| mongoose.js:101:6:101:22 | id | semmle.label | id |
| mongoose.js:101:6:101:7 | id | semmle.label | id |
| mongoose.js:101:11:101:22 | req.query.id | semmle.label | req.query.id |
| mongoose.js:101:25:101:45 | cond | semmle.label | cond |
| mongoose.js:101:25:101:28 | cond | semmle.label | cond |
| mongoose.js:101:32:101:45 | req.query.cond | semmle.label | req.query.cond |
| mongoose.js:102:22:102:25 | cond | semmle.label | cond |
| mongoose.js:103:21:103:24 | cond | semmle.label | cond |
@@ -755,13 +755,13 @@ nodes
| mongoose.js:116:23:116:24 | id | semmle.label | id |
| mongoose.js:119:38:119:42 | query | semmle.label | query |
| mongoose.js:122:30:122:34 | query | semmle.label | query |
| mongooseJsonParse.js:19:11:19:20 | query | semmle.label | query |
| mongooseJsonParse.js:19:11:19:15 | query | semmle.label | query |
| mongooseJsonParse.js:19:19:19:20 | {} | semmle.label | {} |
| mongooseJsonParse.js:20:19:20:44 | JSON.pa ... y.data) | semmle.label | JSON.pa ... y.data) |
| mongooseJsonParse.js:20:19:20:50 | JSON.pa ... ).title | semmle.label | JSON.pa ... ).title |
| mongooseJsonParse.js:20:30:20:43 | req.query.data | semmle.label | req.query.data |
| mongooseJsonParse.js:22:19:22:23 | query | semmle.label | query |
| mongooseModelClient.js:10:7:10:32 | v | semmle.label | v |
| mongooseModelClient.js:10:7:10:7 | v | semmle.label | v |
| mongooseModelClient.js:10:11:10:32 | JSON.pa ... body.x) | semmle.label | JSON.pa ... body.x) |
| mongooseModelClient.js:10:22:10:29 | req.body | semmle.label | req.body |
| mongooseModelClient.js:10:22:10:31 | req.body.x | semmle.label | req.body.x |
@@ -770,16 +770,16 @@ nodes
| mongooseModelClient.js:12:16:12:34 | { id: req.body.id } | semmle.label | { id: req.body.id } |
| mongooseModelClient.js:12:22:12:29 | req.body | semmle.label | req.body |
| mongooseModelClient.js:12:22:12:32 | req.body.id | semmle.label | req.body.id |
| mysql.js:6:9:6:31 | temp | semmle.label | temp |
| mysql.js:6:9:6:12 | temp | semmle.label | temp |
| mysql.js:6:16:6:31 | req.params.value | semmle.label | req.params.value |
| mysql.js:15:18:15:65 | 'SELECT ... + temp | semmle.label | 'SELECT ... + temp |
| mysql.js:15:62:15:65 | temp | semmle.label | temp |
| mysql.js:19:26:19:73 | 'SELECT ... + temp | semmle.label | 'SELECT ... + temp |
| mysql.js:19:70:19:73 | temp | semmle.label | temp |
| pg-promise-types.ts:7:9:7:28 | taint | semmle.label | taint |
| pg-promise-types.ts:7:9:7:13 | taint | semmle.label | taint |
| pg-promise-types.ts:7:17:7:28 | req.params.x | semmle.label | req.params.x |
| pg-promise-types.ts:8:17:8:21 | taint | semmle.label | taint |
| pg-promise.js:6:7:7:55 | query | semmle.label | query |
| pg-promise.js:6:7:6:11 | query | semmle.label | query |
| pg-promise.js:7:16:7:34 | req.params.category | semmle.label | req.params.category |
| pg-promise.js:9:10:9:14 | query | semmle.label | query |
| pg-promise.js:10:11:10:15 | query | semmle.label | query |
@@ -805,7 +805,7 @@ nodes
| pg-promise.js:64:16:64:20 | query | semmle.label | query |
| redis.js:10:16:10:23 | req.body | semmle.label | req.body |
| redis.js:10:16:10:27 | req.body.key | semmle.label | req.body.key |
| redis.js:12:9:12:26 | key | semmle.label | key |
| redis.js:12:9:12:11 | key | semmle.label | key |
| redis.js:12:15:12:22 | req.body | semmle.label | req.body |
| redis.js:12:15:12:26 | req.body.key | semmle.label | req.body.key |
| redis.js:13:16:13:18 | key | semmle.label | key |
@@ -815,7 +815,7 @@ nodes
| redis.js:26:14:26:16 | key | semmle.label | key |
| redis.js:30:23:30:25 | key | semmle.label | key |
| redis.js:32:28:32:30 | key | semmle.label | key |
| redis.js:38:11:38:28 | key | semmle.label | key |
| redis.js:38:11:38:13 | key | semmle.label | key |
| redis.js:38:17:38:24 | req.body | semmle.label | req.body |
| redis.js:38:17:38:28 | req.body.key | semmle.label | req.body.key |
| redis.js:39:16:39:18 | key | semmle.label | key |
@@ -826,7 +826,7 @@ nodes
| socketio.js:11:46:11:51 | handle | semmle.label | handle |
| tst2.js:8:27:8:84 | "select ... d + "'" | semmle.label | "select ... d + "'" |
| tst2.js:8:66:8:78 | req.params.id | semmle.label | req.params.id |
| tst3.js:7:7:8:55 | query1 | semmle.label | query1 |
| tst3.js:7:7:7:12 | query1 | semmle.label | query1 |
| tst3.js:8:16:8:34 | req.params.category | semmle.label | req.params.category |
| tst3.js:9:14:9:19 | query1 | semmle.label | query1 |
| tst4.js:8:10:8:66 | 'SELECT ... d + '"' | semmle.label | 'SELECT ... d + '"' |

View File

@@ -105,45 +105,45 @@ edges
| express.js:6:44:6:62 | req.param("wobble") | express.js:6:24:6:69 | "return ... + "];" | provenance | |
| express.js:7:54:7:72 | req.param("wobble") | express.js:7:34:7:79 | "return ... + "];" | provenance | |
| express.js:9:28:9:46 | req.param("wobble") | express.js:9:8:9:53 | "return ... + "];" | provenance | |
| express.js:19:9:19:35 | taint | express.js:20:34:20:38 | taint | provenance | |
| express.js:19:17:19:35 | req.param("wobble") | express.js:19:9:19:35 | taint | provenance | |
| express.js:27:9:27:35 | taint | express.js:36:15:36:19 | taint | provenance | |
| express.js:27:17:27:35 | req.param("wobble") | express.js:27:9:27:35 | taint | provenance | |
| express.js:19:9:19:13 | taint | express.js:20:34:20:38 | taint | provenance | |
| express.js:19:17:19:35 | req.param("wobble") | express.js:19:9:19:13 | taint | provenance | |
| express.js:27:9:27:13 | taint | express.js:36:15:36:19 | taint | provenance | |
| express.js:27:17:27:35 | req.param("wobble") | express.js:27:9:27:13 | taint | provenance | |
| express.js:42:30:42:32 | msg | express.js:43:10:43:12 | msg | provenance | |
| fastify.js:4:9:4:43 | userInput | fastify.js:5:44:5:52 | userInput | provenance | |
| fastify.js:4:21:4:33 | request.query | fastify.js:4:9:4:43 | userInput | provenance | |
| fastify.js:4:21:4:43 | request ... Request | fastify.js:4:9:4:43 | userInput | provenance | |
| fastify.js:9:9:9:40 | userInput | fastify.js:10:44:10:52 | userInput | provenance | |
| fastify.js:9:21:9:33 | request.query | fastify.js:9:9:9:40 | userInput | provenance | |
| fastify.js:9:21:9:40 | request.query.onSend | fastify.js:9:9:9:40 | userInput | provenance | |
| fastify.js:15:9:15:44 | userInput | fastify.js:16:44:16:52 | userInput | provenance | |
| fastify.js:15:21:15:33 | request.query | fastify.js:15:9:15:44 | userInput | provenance | |
| fastify.js:15:21:15:44 | request ... Parsing | fastify.js:15:9:15:44 | userInput | provenance | |
| fastify.js:21:9:21:47 | userInput | fastify.js:22:44:22:52 | userInput | provenance | |
| fastify.js:21:21:21:33 | request.query | fastify.js:21:9:21:47 | userInput | provenance | |
| fastify.js:21:21:21:47 | request ... idation | fastify.js:21:9:21:47 | userInput | provenance | |
| fastify.js:26:9:26:44 | userInput | fastify.js:27:44:27:52 | userInput | provenance | |
| fastify.js:26:21:26:33 | request.query | fastify.js:26:9:26:44 | userInput | provenance | |
| fastify.js:26:21:26:44 | request ... Handler | fastify.js:26:9:26:44 | userInput | provenance | |
| fastify.js:31:9:31:50 | userInput | fastify.js:32:44:32:52 | userInput | provenance | |
| fastify.js:31:21:31:33 | request.query | fastify.js:31:9:31:50 | userInput | provenance | |
| fastify.js:31:21:31:50 | request ... ization | fastify.js:31:9:31:50 | userInput | provenance | |
| fastify.js:37:9:37:44 | userInput | fastify.js:38:44:38:52 | userInput | provenance | |
| fastify.js:37:21:37:33 | request.query | fastify.js:37:9:37:44 | userInput | provenance | |
| fastify.js:37:21:37:44 | request ... esponse | fastify.js:37:9:37:44 | userInput | provenance | |
| fastify.js:42:9:42:41 | userInput | fastify.js:43:44:43:52 | userInput | provenance | |
| fastify.js:42:21:42:33 | request.query | fastify.js:42:9:42:41 | userInput | provenance | |
| fastify.js:42:21:42:41 | request ... onError | fastify.js:42:9:42:41 | userInput | provenance | |
| fastify.js:47:9:47:43 | userInput | fastify.js:48:44:48:52 | userInput | provenance | |
| fastify.js:47:21:47:33 | request.query | fastify.js:47:9:47:43 | userInput | provenance | |
| fastify.js:47:21:47:43 | request ... Timeout | fastify.js:47:9:47:43 | userInput | provenance | |
| fastify.js:52:11:52:50 | userInput | fastify.js:53:46:53:54 | userInput | provenance | |
| fastify.js:52:23:52:35 | request.query | fastify.js:52:11:52:50 | userInput | provenance | |
| fastify.js:52:23:52:50 | request ... stAbort | fastify.js:52:11:52:50 | userInput | provenance | |
| fastify.js:57:9:57:39 | userInput | fastify.js:58:44:58:52 | userInput | provenance | |
| fastify.js:57:9:57:39 | userInput | fastify.js:59:23:59:31 | userInput | provenance | |
| fastify.js:57:21:57:33 | request.query | fastify.js:57:9:57:39 | userInput | provenance | |
| fastify.js:57:21:57:39 | request.query.input | fastify.js:57:9:57:39 | userInput | provenance | |
| fastify.js:4:9:4:17 | userInput | fastify.js:5:44:5:52 | userInput | provenance | |
| fastify.js:4:21:4:33 | request.query | fastify.js:4:9:4:17 | userInput | provenance | |
| fastify.js:4:21:4:43 | request ... Request | fastify.js:4:9:4:17 | userInput | provenance | |
| fastify.js:9:9:9:17 | userInput | fastify.js:10:44:10:52 | userInput | provenance | |
| fastify.js:9:21:9:33 | request.query | fastify.js:9:9:9:17 | userInput | provenance | |
| fastify.js:9:21:9:40 | request.query.onSend | fastify.js:9:9:9:17 | userInput | provenance | |
| fastify.js:15:9:15:17 | userInput | fastify.js:16:44:16:52 | userInput | provenance | |
| fastify.js:15:21:15:33 | request.query | fastify.js:15:9:15:17 | userInput | provenance | |
| fastify.js:15:21:15:44 | request ... Parsing | fastify.js:15:9:15:17 | userInput | provenance | |
| fastify.js:21:9:21:17 | userInput | fastify.js:22:44:22:52 | userInput | provenance | |
| fastify.js:21:21:21:33 | request.query | fastify.js:21:9:21:17 | userInput | provenance | |
| fastify.js:21:21:21:47 | request ... idation | fastify.js:21:9:21:17 | userInput | provenance | |
| fastify.js:26:9:26:17 | userInput | fastify.js:27:44:27:52 | userInput | provenance | |
| fastify.js:26:21:26:33 | request.query | fastify.js:26:9:26:17 | userInput | provenance | |
| fastify.js:26:21:26:44 | request ... Handler | fastify.js:26:9:26:17 | userInput | provenance | |
| fastify.js:31:9:31:17 | userInput | fastify.js:32:44:32:52 | userInput | provenance | |
| fastify.js:31:21:31:33 | request.query | fastify.js:31:9:31:17 | userInput | provenance | |
| fastify.js:31:21:31:50 | request ... ization | fastify.js:31:9:31:17 | userInput | provenance | |
| fastify.js:37:9:37:17 | userInput | fastify.js:38:44:38:52 | userInput | provenance | |
| fastify.js:37:21:37:33 | request.query | fastify.js:37:9:37:17 | userInput | provenance | |
| fastify.js:37:21:37:44 | request ... esponse | fastify.js:37:9:37:17 | userInput | provenance | |
| fastify.js:42:9:42:17 | userInput | fastify.js:43:44:43:52 | userInput | provenance | |
| fastify.js:42:21:42:33 | request.query | fastify.js:42:9:42:17 | userInput | provenance | |
| fastify.js:42:21:42:41 | request ... onError | fastify.js:42:9:42:17 | userInput | provenance | |
| fastify.js:47:9:47:17 | userInput | fastify.js:48:44:48:52 | userInput | provenance | |
| fastify.js:47:21:47:33 | request.query | fastify.js:47:9:47:17 | userInput | provenance | |
| fastify.js:47:21:47:43 | request ... Timeout | fastify.js:47:9:47:17 | userInput | provenance | |
| fastify.js:52:11:52:19 | userInput | fastify.js:53:46:53:54 | userInput | provenance | |
| fastify.js:52:23:52:35 | request.query | fastify.js:52:11:52:19 | userInput | provenance | |
| fastify.js:52:23:52:50 | request ... stAbort | fastify.js:52:11:52:19 | userInput | provenance | |
| fastify.js:57:9:57:17 | userInput | fastify.js:58:44:58:52 | userInput | provenance | |
| fastify.js:57:9:57:17 | userInput | fastify.js:59:23:59:31 | userInput | provenance | |
| fastify.js:57:21:57:33 | request.query | fastify.js:57:9:57:17 | userInput | provenance | |
| fastify.js:57:21:57:39 | request.query.input | fastify.js:57:9:57:17 | userInput | provenance | |
| fastify.js:66:24:66:36 | request.query | fastify.js:66:24:66:47 | request ... redCode | provenance | |
| fastify.js:66:24:66:47 | request ... redCode | fastify.js:71:34:71:51 | request.storedCode | provenance | |
| fastify.js:79:20:79:32 | request.query | fastify.js:79:20:79:42 | request ... plyCode | provenance | |
@@ -151,44 +151,44 @@ edges
| fastify.js:94:29:94:41 | request.query | fastify.js:94:29:94:51 | request ... plyCode | provenance | |
| fastify.js:94:29:94:51 | request ... plyCode | fastify.js:99:30:99:52 | reply.l ... tedCode | provenance | |
| fastify.js:94:29:94:51 | request ... plyCode | fastify.js:108:28:108:50 | reply.l ... tedCode | provenance | |
| fastify.js:106:9:106:38 | userInput | fastify.js:107:23:107:31 | userInput | provenance | |
| fastify.js:106:21:106:33 | request.query | fastify.js:106:9:106:38 | userInput | provenance | |
| fastify.js:106:21:106:38 | request.query.code | fastify.js:106:9:106:38 | userInput | provenance | |
| react-native.js:7:7:7:33 | tainted | react-native.js:8:32:8:38 | tainted | provenance | |
| react-native.js:7:7:7:33 | tainted | react-native.js:10:23:10:29 | tainted | provenance | |
| react-native.js:7:17:7:33 | req.param("code") | react-native.js:7:7:7:33 | tainted | provenance | |
| fastify.js:106:9:106:17 | userInput | fastify.js:107:23:107:31 | userInput | provenance | |
| fastify.js:106:21:106:33 | request.query | fastify.js:106:9:106:17 | userInput | provenance | |
| fastify.js:106:21:106:38 | request.query.code | fastify.js:106:9:106:17 | userInput | provenance | |
| react-native.js:7:7:7:13 | tainted | react-native.js:8:32:8:38 | tainted | provenance | |
| react-native.js:7:7:7:13 | tainted | react-native.js:10:23:10:29 | tainted | provenance | |
| react-native.js:7:17:7:33 | req.param("code") | react-native.js:7:7:7:13 | tainted | provenance | |
| react-server-function.js:3:35:3:35 | x | react-server-function.js:4:12:4:12 | x | provenance | |
| react-server-function.js:4:12:4:12 | x | react-server-function.js:4:12:4:29 | x + " from server" | provenance | |
| react-server-function.js:4:12:4:29 | x + " from server" | react.js:24:20:24:44 | echoSer ... value") [PromiseValue] | provenance | |
| react.js:24:9:24:45 | data | react.js:25:8:25:11 | data | provenance | |
| react.js:24:16:24:45 | use(ech ... alue")) | react.js:24:9:24:45 | data | provenance | |
| react.js:24:9:24:12 | data | react.js:25:8:25:11 | data | provenance | |
| react.js:24:16:24:45 | use(ech ... alue")) | react.js:24:9:24:12 | data | provenance | |
| react.js:24:20:24:44 | echoSer ... value") [PromiseValue] | react.js:24:16:24:45 | use(ech ... alue")) | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:20:17:20:23 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:21:16:21:22 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:22:18:22:24 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:23:17:23:23 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:24:18:24:24 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:25:16:25:22 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:26:27:26:33 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:27:21:27:27 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:28:17:28:23 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:29:24:29:30 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:30:21:30:27 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:31:19:31:25 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:32:16:32:22 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:33:17:33:23 | tainted | provenance | |
| template-sinks.js:18:19:18:31 | req.query.foo | template-sinks.js:18:9:18:31 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:20:17:20:23 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:21:16:21:22 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:22:18:22:24 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:23:17:23:23 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:24:18:24:24 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:25:16:25:22 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:26:27:26:33 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:27:21:27:27 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:28:17:28:23 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:29:24:29:30 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:30:21:30:27 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:31:19:31:25 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:32:16:32:22 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:33:17:33:23 | tainted | provenance | |
| template-sinks.js:18:19:18:31 | req.query.foo | template-sinks.js:18:9:18:15 | tainted | provenance | |
| tst.js:1:6:1:27 | documen ... on.href | tst.js:1:6:1:83 | documen ... t=")+8) | provenance | |
| tst.js:11:10:11:33 | documen ... .search | tst.js:11:10:11:74 | documen ... , "$1") | provenance | |
| tst.js:17:11:17:32 | documen ... on.hash | tst.js:17:11:17:45 | documen ... ring(1) | provenance | |
| tst.js:17:11:17:45 | documen ... ring(1) | tst.js:17:6:17:46 | atob(do ... ing(1)) | provenance | |
| tst.js:19:26:19:40 | location.search | tst.js:19:26:19:53 | locatio ... ring(1) | provenance | |
| tst.js:22:9:22:82 | source | tst.js:24:18:24:23 | source | provenance | |
| tst.js:22:9:22:82 | source | tst.js:26:14:26:19 | source | provenance | |
| tst.js:22:9:22:82 | source | tst.js:28:28:28:33 | source | provenance | |
| tst.js:22:9:22:82 | source | tst.js:30:33:30:38 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:24:18:24:23 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:26:14:26:19 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:28:28:28:33 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:30:33:30:38 | source | provenance | |
| tst.js:22:18:22:41 | documen ... .search | tst.js:22:18:22:82 | documen ... , "$1") | provenance | |
| tst.js:22:18:22:82 | documen ... , "$1") | tst.js:22:9:22:82 | source | provenance | |
| tst.js:22:18:22:82 | documen ... , "$1") | tst.js:22:9:22:14 | source | provenance | |
nodes
| NoSQLCodeInjection.js:18:24:18:31 | req.body | semmle.label | req.body |
| NoSQLCodeInjection.js:18:24:18:37 | req.body.query | semmle.label | req.body.query |
@@ -221,55 +221,55 @@ nodes
| express.js:12:30:12:53 | req.par ... cript") | semmle.label | req.par ... cript") |
| express.js:13:37:13:70 | req.par ... odule") | semmle.label | req.par ... odule") |
| express.js:14:19:14:48 | req.par ... ntext") | semmle.label | req.par ... ntext") |
| express.js:19:9:19:35 | taint | semmle.label | taint |
| express.js:19:9:19:13 | taint | semmle.label | taint |
| express.js:19:17:19:35 | req.param("wobble") | semmle.label | req.param("wobble") |
| express.js:20:34:20:38 | taint | semmle.label | taint |
| express.js:27:9:27:35 | taint | semmle.label | taint |
| express.js:27:9:27:13 | taint | semmle.label | taint |
| express.js:27:17:27:35 | req.param("wobble") | semmle.label | req.param("wobble") |
| express.js:36:15:36:19 | taint | semmle.label | taint |
| express.js:42:30:42:32 | msg | semmle.label | msg |
| express.js:43:10:43:12 | msg | semmle.label | msg |
| fastify.js:4:9:4:43 | userInput | semmle.label | userInput |
| fastify.js:4:9:4:17 | userInput | semmle.label | userInput |
| fastify.js:4:21:4:33 | request.query | semmle.label | request.query |
| fastify.js:4:21:4:43 | request ... Request | semmle.label | request ... Request |
| fastify.js:5:44:5:52 | userInput | semmle.label | userInput |
| fastify.js:9:9:9:40 | userInput | semmle.label | userInput |
| fastify.js:9:9:9:17 | userInput | semmle.label | userInput |
| fastify.js:9:21:9:33 | request.query | semmle.label | request.query |
| fastify.js:9:21:9:40 | request.query.onSend | semmle.label | request.query.onSend |
| fastify.js:10:44:10:52 | userInput | semmle.label | userInput |
| fastify.js:15:9:15:44 | userInput | semmle.label | userInput |
| fastify.js:15:9:15:17 | userInput | semmle.label | userInput |
| fastify.js:15:21:15:33 | request.query | semmle.label | request.query |
| fastify.js:15:21:15:44 | request ... Parsing | semmle.label | request ... Parsing |
| fastify.js:16:44:16:52 | userInput | semmle.label | userInput |
| fastify.js:21:9:21:47 | userInput | semmle.label | userInput |
| fastify.js:21:9:21:17 | userInput | semmle.label | userInput |
| fastify.js:21:21:21:33 | request.query | semmle.label | request.query |
| fastify.js:21:21:21:47 | request ... idation | semmle.label | request ... idation |
| fastify.js:22:44:22:52 | userInput | semmle.label | userInput |
| fastify.js:26:9:26:44 | userInput | semmle.label | userInput |
| fastify.js:26:9:26:17 | userInput | semmle.label | userInput |
| fastify.js:26:21:26:33 | request.query | semmle.label | request.query |
| fastify.js:26:21:26:44 | request ... Handler | semmle.label | request ... Handler |
| fastify.js:27:44:27:52 | userInput | semmle.label | userInput |
| fastify.js:31:9:31:50 | userInput | semmle.label | userInput |
| fastify.js:31:9:31:17 | userInput | semmle.label | userInput |
| fastify.js:31:21:31:33 | request.query | semmle.label | request.query |
| fastify.js:31:21:31:50 | request ... ization | semmle.label | request ... ization |
| fastify.js:32:44:32:52 | userInput | semmle.label | userInput |
| fastify.js:37:9:37:44 | userInput | semmle.label | userInput |
| fastify.js:37:9:37:17 | userInput | semmle.label | userInput |
| fastify.js:37:21:37:33 | request.query | semmle.label | request.query |
| fastify.js:37:21:37:44 | request ... esponse | semmle.label | request ... esponse |
| fastify.js:38:44:38:52 | userInput | semmle.label | userInput |
| fastify.js:42:9:42:41 | userInput | semmle.label | userInput |
| fastify.js:42:9:42:17 | userInput | semmle.label | userInput |
| fastify.js:42:21:42:33 | request.query | semmle.label | request.query |
| fastify.js:42:21:42:41 | request ... onError | semmle.label | request ... onError |
| fastify.js:43:44:43:52 | userInput | semmle.label | userInput |
| fastify.js:47:9:47:43 | userInput | semmle.label | userInput |
| fastify.js:47:9:47:17 | userInput | semmle.label | userInput |
| fastify.js:47:21:47:33 | request.query | semmle.label | request.query |
| fastify.js:47:21:47:43 | request ... Timeout | semmle.label | request ... Timeout |
| fastify.js:48:44:48:52 | userInput | semmle.label | userInput |
| fastify.js:52:11:52:50 | userInput | semmle.label | userInput |
| fastify.js:52:11:52:19 | userInput | semmle.label | userInput |
| fastify.js:52:23:52:35 | request.query | semmle.label | request.query |
| fastify.js:52:23:52:50 | request ... stAbort | semmle.label | request ... stAbort |
| fastify.js:53:46:53:54 | userInput | semmle.label | userInput |
| fastify.js:57:9:57:39 | userInput | semmle.label | userInput |
| fastify.js:57:9:57:17 | userInput | semmle.label | userInput |
| fastify.js:57:21:57:33 | request.query | semmle.label | request.query |
| fastify.js:57:21:57:39 | request.query.input | semmle.label | request.query.input |
| fastify.js:58:44:58:52 | userInput | semmle.label | userInput |
@@ -283,14 +283,14 @@ nodes
| fastify.js:94:29:94:41 | request.query | semmle.label | request.query |
| fastify.js:94:29:94:51 | request ... plyCode | semmle.label | request ... plyCode |
| fastify.js:99:30:99:52 | reply.l ... tedCode | semmle.label | reply.l ... tedCode |
| fastify.js:106:9:106:38 | userInput | semmle.label | userInput |
| fastify.js:106:9:106:17 | userInput | semmle.label | userInput |
| fastify.js:106:21:106:33 | request.query | semmle.label | request.query |
| fastify.js:106:21:106:38 | request.query.code | semmle.label | request.query.code |
| fastify.js:107:23:107:31 | userInput | semmle.label | userInput |
| fastify.js:108:28:108:50 | reply.l ... tedCode | semmle.label | reply.l ... tedCode |
| module.js:9:16:9:29 | req.query.code | semmle.label | req.query.code |
| module.js:11:17:11:30 | req.query.code | semmle.label | req.query.code |
| react-native.js:7:7:7:33 | tainted | semmle.label | tainted |
| react-native.js:7:7:7:13 | tainted | semmle.label | tainted |
| react-native.js:7:17:7:33 | req.param("code") | semmle.label | req.param("code") |
| react-native.js:8:32:8:38 | tainted | semmle.label | tainted |
| react-native.js:10:23:10:29 | tainted | semmle.label | tainted |
@@ -298,11 +298,11 @@ nodes
| react-server-function.js:4:12:4:12 | x | semmle.label | x |
| react-server-function.js:4:12:4:29 | x + " from server" | semmle.label | x + " from server" |
| react.js:11:56:11:77 | documen ... on.hash | semmle.label | documen ... on.hash |
| react.js:24:9:24:45 | data | semmle.label | data |
| react.js:24:9:24:12 | data | semmle.label | data |
| react.js:24:16:24:45 | use(ech ... alue")) | semmle.label | use(ech ... alue")) |
| react.js:24:20:24:44 | echoSer ... value") [PromiseValue] | semmle.label | echoSer ... value") [PromiseValue] |
| react.js:25:8:25:11 | data | semmle.label | data |
| template-sinks.js:18:9:18:31 | tainted | semmle.label | tainted |
| template-sinks.js:18:9:18:15 | tainted | semmle.label | tainted |
| template-sinks.js:18:19:18:31 | req.query.foo | semmle.label | req.query.foo |
| template-sinks.js:20:17:20:23 | tainted | semmle.label | tainted |
| template-sinks.js:21:16:21:22 | tainted | semmle.label | tainted |
@@ -330,7 +330,7 @@ nodes
| tst.js:17:11:17:45 | documen ... ring(1) | semmle.label | documen ... ring(1) |
| tst.js:19:26:19:40 | location.search | semmle.label | location.search |
| tst.js:19:26:19:53 | locatio ... ring(1) | semmle.label | locatio ... ring(1) |
| tst.js:22:9:22:82 | source | semmle.label | source |
| tst.js:22:9:22:14 | source | semmle.label | source |
| tst.js:22:18:22:41 | documen ... .search | semmle.label | documen ... .search |
| tst.js:22:18:22:82 | documen ... , "$1") | semmle.label | documen ... , "$1") |
| tst.js:24:18:24:23 | source | semmle.label | source |

View File

@@ -6,45 +6,45 @@ edges
| express.js:6:44:6:62 | req.param("wobble") | express.js:6:24:6:69 | "return ... + "];" | provenance | |
| express.js:7:54:7:72 | req.param("wobble") | express.js:7:34:7:79 | "return ... + "];" | provenance | |
| express.js:9:28:9:46 | req.param("wobble") | express.js:9:8:9:53 | "return ... + "];" | provenance | |
| express.js:19:9:19:35 | taint | express.js:20:34:20:38 | taint | provenance | |
| express.js:19:17:19:35 | req.param("wobble") | express.js:19:9:19:35 | taint | provenance | |
| express.js:27:9:27:35 | taint | express.js:36:15:36:19 | taint | provenance | |
| express.js:27:17:27:35 | req.param("wobble") | express.js:27:9:27:35 | taint | provenance | |
| express.js:19:9:19:13 | taint | express.js:20:34:20:38 | taint | provenance | |
| express.js:19:17:19:35 | req.param("wobble") | express.js:19:9:19:13 | taint | provenance | |
| express.js:27:9:27:13 | taint | express.js:36:15:36:19 | taint | provenance | |
| express.js:27:17:27:35 | req.param("wobble") | express.js:27:9:27:13 | taint | provenance | |
| express.js:42:30:42:32 | msg | express.js:43:10:43:12 | msg | provenance | |
| fastify.js:4:9:4:43 | userInput | fastify.js:5:44:5:52 | userInput | provenance | |
| fastify.js:4:21:4:33 | request.query | fastify.js:4:9:4:43 | userInput | provenance | |
| fastify.js:4:21:4:43 | request ... Request | fastify.js:4:9:4:43 | userInput | provenance | |
| fastify.js:9:9:9:40 | userInput | fastify.js:10:44:10:52 | userInput | provenance | |
| fastify.js:9:21:9:33 | request.query | fastify.js:9:9:9:40 | userInput | provenance | |
| fastify.js:9:21:9:40 | request.query.onSend | fastify.js:9:9:9:40 | userInput | provenance | |
| fastify.js:15:9:15:44 | userInput | fastify.js:16:44:16:52 | userInput | provenance | |
| fastify.js:15:21:15:33 | request.query | fastify.js:15:9:15:44 | userInput | provenance | |
| fastify.js:15:21:15:44 | request ... Parsing | fastify.js:15:9:15:44 | userInput | provenance | |
| fastify.js:21:9:21:47 | userInput | fastify.js:22:44:22:52 | userInput | provenance | |
| fastify.js:21:21:21:33 | request.query | fastify.js:21:9:21:47 | userInput | provenance | |
| fastify.js:21:21:21:47 | request ... idation | fastify.js:21:9:21:47 | userInput | provenance | |
| fastify.js:26:9:26:44 | userInput | fastify.js:27:44:27:52 | userInput | provenance | |
| fastify.js:26:21:26:33 | request.query | fastify.js:26:9:26:44 | userInput | provenance | |
| fastify.js:26:21:26:44 | request ... Handler | fastify.js:26:9:26:44 | userInput | provenance | |
| fastify.js:31:9:31:50 | userInput | fastify.js:32:44:32:52 | userInput | provenance | |
| fastify.js:31:21:31:33 | request.query | fastify.js:31:9:31:50 | userInput | provenance | |
| fastify.js:31:21:31:50 | request ... ization | fastify.js:31:9:31:50 | userInput | provenance | |
| fastify.js:37:9:37:44 | userInput | fastify.js:38:44:38:52 | userInput | provenance | |
| fastify.js:37:21:37:33 | request.query | fastify.js:37:9:37:44 | userInput | provenance | |
| fastify.js:37:21:37:44 | request ... esponse | fastify.js:37:9:37:44 | userInput | provenance | |
| fastify.js:42:9:42:41 | userInput | fastify.js:43:44:43:52 | userInput | provenance | |
| fastify.js:42:21:42:33 | request.query | fastify.js:42:9:42:41 | userInput | provenance | |
| fastify.js:42:21:42:41 | request ... onError | fastify.js:42:9:42:41 | userInput | provenance | |
| fastify.js:47:9:47:43 | userInput | fastify.js:48:44:48:52 | userInput | provenance | |
| fastify.js:47:21:47:33 | request.query | fastify.js:47:9:47:43 | userInput | provenance | |
| fastify.js:47:21:47:43 | request ... Timeout | fastify.js:47:9:47:43 | userInput | provenance | |
| fastify.js:52:11:52:50 | userInput | fastify.js:53:46:53:54 | userInput | provenance | |
| fastify.js:52:23:52:35 | request.query | fastify.js:52:11:52:50 | userInput | provenance | |
| fastify.js:52:23:52:50 | request ... stAbort | fastify.js:52:11:52:50 | userInput | provenance | |
| fastify.js:57:9:57:39 | userInput | fastify.js:58:44:58:52 | userInput | provenance | |
| fastify.js:57:9:57:39 | userInput | fastify.js:59:23:59:31 | userInput | provenance | |
| fastify.js:57:21:57:33 | request.query | fastify.js:57:9:57:39 | userInput | provenance | |
| fastify.js:57:21:57:39 | request.query.input | fastify.js:57:9:57:39 | userInput | provenance | |
| fastify.js:4:9:4:17 | userInput | fastify.js:5:44:5:52 | userInput | provenance | |
| fastify.js:4:21:4:33 | request.query | fastify.js:4:9:4:17 | userInput | provenance | |
| fastify.js:4:21:4:43 | request ... Request | fastify.js:4:9:4:17 | userInput | provenance | |
| fastify.js:9:9:9:17 | userInput | fastify.js:10:44:10:52 | userInput | provenance | |
| fastify.js:9:21:9:33 | request.query | fastify.js:9:9:9:17 | userInput | provenance | |
| fastify.js:9:21:9:40 | request.query.onSend | fastify.js:9:9:9:17 | userInput | provenance | |
| fastify.js:15:9:15:17 | userInput | fastify.js:16:44:16:52 | userInput | provenance | |
| fastify.js:15:21:15:33 | request.query | fastify.js:15:9:15:17 | userInput | provenance | |
| fastify.js:15:21:15:44 | request ... Parsing | fastify.js:15:9:15:17 | userInput | provenance | |
| fastify.js:21:9:21:17 | userInput | fastify.js:22:44:22:52 | userInput | provenance | |
| fastify.js:21:21:21:33 | request.query | fastify.js:21:9:21:17 | userInput | provenance | |
| fastify.js:21:21:21:47 | request ... idation | fastify.js:21:9:21:17 | userInput | provenance | |
| fastify.js:26:9:26:17 | userInput | fastify.js:27:44:27:52 | userInput | provenance | |
| fastify.js:26:21:26:33 | request.query | fastify.js:26:9:26:17 | userInput | provenance | |
| fastify.js:26:21:26:44 | request ... Handler | fastify.js:26:9:26:17 | userInput | provenance | |
| fastify.js:31:9:31:17 | userInput | fastify.js:32:44:32:52 | userInput | provenance | |
| fastify.js:31:21:31:33 | request.query | fastify.js:31:9:31:17 | userInput | provenance | |
| fastify.js:31:21:31:50 | request ... ization | fastify.js:31:9:31:17 | userInput | provenance | |
| fastify.js:37:9:37:17 | userInput | fastify.js:38:44:38:52 | userInput | provenance | |
| fastify.js:37:21:37:33 | request.query | fastify.js:37:9:37:17 | userInput | provenance | |
| fastify.js:37:21:37:44 | request ... esponse | fastify.js:37:9:37:17 | userInput | provenance | |
| fastify.js:42:9:42:17 | userInput | fastify.js:43:44:43:52 | userInput | provenance | |
| fastify.js:42:21:42:33 | request.query | fastify.js:42:9:42:17 | userInput | provenance | |
| fastify.js:42:21:42:41 | request ... onError | fastify.js:42:9:42:17 | userInput | provenance | |
| fastify.js:47:9:47:17 | userInput | fastify.js:48:44:48:52 | userInput | provenance | |
| fastify.js:47:21:47:33 | request.query | fastify.js:47:9:47:17 | userInput | provenance | |
| fastify.js:47:21:47:43 | request ... Timeout | fastify.js:47:9:47:17 | userInput | provenance | |
| fastify.js:52:11:52:19 | userInput | fastify.js:53:46:53:54 | userInput | provenance | |
| fastify.js:52:23:52:35 | request.query | fastify.js:52:11:52:19 | userInput | provenance | |
| fastify.js:52:23:52:50 | request ... stAbort | fastify.js:52:11:52:19 | userInput | provenance | |
| fastify.js:57:9:57:17 | userInput | fastify.js:58:44:58:52 | userInput | provenance | |
| fastify.js:57:9:57:17 | userInput | fastify.js:59:23:59:31 | userInput | provenance | |
| fastify.js:57:21:57:33 | request.query | fastify.js:57:9:57:17 | userInput | provenance | |
| fastify.js:57:21:57:39 | request.query.input | fastify.js:57:9:57:17 | userInput | provenance | |
| fastify.js:66:24:66:36 | request.query | fastify.js:66:24:66:47 | request ... redCode | provenance | |
| fastify.js:66:24:66:47 | request ... redCode | fastify.js:71:34:71:51 | request.storedCode | provenance | |
| fastify.js:79:20:79:32 | request.query | fastify.js:79:20:79:42 | request ... plyCode | provenance | |
@@ -52,44 +52,44 @@ edges
| fastify.js:94:29:94:41 | request.query | fastify.js:94:29:94:51 | request ... plyCode | provenance | |
| fastify.js:94:29:94:51 | request ... plyCode | fastify.js:99:30:99:52 | reply.l ... tedCode | provenance | |
| fastify.js:94:29:94:51 | request ... plyCode | fastify.js:108:28:108:50 | reply.l ... tedCode | provenance | |
| fastify.js:106:9:106:38 | userInput | fastify.js:107:23:107:31 | userInput | provenance | |
| fastify.js:106:21:106:33 | request.query | fastify.js:106:9:106:38 | userInput | provenance | |
| fastify.js:106:21:106:38 | request.query.code | fastify.js:106:9:106:38 | userInput | provenance | |
| react-native.js:7:7:7:33 | tainted | react-native.js:8:32:8:38 | tainted | provenance | |
| react-native.js:7:7:7:33 | tainted | react-native.js:10:23:10:29 | tainted | provenance | |
| react-native.js:7:17:7:33 | req.param("code") | react-native.js:7:7:7:33 | tainted | provenance | |
| fastify.js:106:9:106:17 | userInput | fastify.js:107:23:107:31 | userInput | provenance | |
| fastify.js:106:21:106:33 | request.query | fastify.js:106:9:106:17 | userInput | provenance | |
| fastify.js:106:21:106:38 | request.query.code | fastify.js:106:9:106:17 | userInput | provenance | |
| react-native.js:7:7:7:13 | tainted | react-native.js:8:32:8:38 | tainted | provenance | |
| react-native.js:7:7:7:13 | tainted | react-native.js:10:23:10:29 | tainted | provenance | |
| react-native.js:7:17:7:33 | req.param("code") | react-native.js:7:7:7:13 | tainted | provenance | |
| react-server-function.js:3:35:3:35 | x | react-server-function.js:4:12:4:12 | x | provenance | |
| react-server-function.js:4:12:4:12 | x | react-server-function.js:4:12:4:29 | x + " from server" | provenance | |
| react-server-function.js:4:12:4:29 | x + " from server" | react.js:24:20:24:44 | echoSer ... value") [PromiseValue] | provenance | |
| react.js:24:9:24:45 | data | react.js:25:8:25:11 | data | provenance | |
| react.js:24:16:24:45 | use(ech ... alue")) | react.js:24:9:24:45 | data | provenance | |
| react.js:24:9:24:12 | data | react.js:25:8:25:11 | data | provenance | |
| react.js:24:16:24:45 | use(ech ... alue")) | react.js:24:9:24:12 | data | provenance | |
| react.js:24:20:24:44 | echoSer ... value") [PromiseValue] | react.js:24:16:24:45 | use(ech ... alue")) | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:20:17:20:23 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:21:16:21:22 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:22:18:22:24 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:23:17:23:23 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:24:18:24:24 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:25:16:25:22 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:26:27:26:33 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:27:21:27:27 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:28:17:28:23 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:29:24:29:30 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:30:21:30:27 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:31:19:31:25 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:32:16:32:22 | tainted | provenance | |
| template-sinks.js:18:9:18:31 | tainted | template-sinks.js:33:17:33:23 | tainted | provenance | |
| template-sinks.js:18:19:18:31 | req.query.foo | template-sinks.js:18:9:18:31 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:20:17:20:23 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:21:16:21:22 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:22:18:22:24 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:23:17:23:23 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:24:18:24:24 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:25:16:25:22 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:26:27:26:33 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:27:21:27:27 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:28:17:28:23 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:29:24:29:30 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:30:21:30:27 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:31:19:31:25 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:32:16:32:22 | tainted | provenance | |
| template-sinks.js:18:9:18:15 | tainted | template-sinks.js:33:17:33:23 | tainted | provenance | |
| template-sinks.js:18:19:18:31 | req.query.foo | template-sinks.js:18:9:18:15 | tainted | provenance | |
| tst.js:1:6:1:27 | documen ... on.href | tst.js:1:6:1:83 | documen ... t=")+8) | provenance | |
| tst.js:11:10:11:33 | documen ... .search | tst.js:11:10:11:74 | documen ... , "$1") | provenance | |
| tst.js:17:11:17:32 | documen ... on.hash | tst.js:17:11:17:45 | documen ... ring(1) | provenance | |
| tst.js:17:11:17:45 | documen ... ring(1) | tst.js:17:6:17:46 | atob(do ... ing(1)) | provenance | |
| tst.js:19:26:19:40 | location.search | tst.js:19:26:19:53 | locatio ... ring(1) | provenance | |
| tst.js:22:9:22:82 | source | tst.js:24:18:24:23 | source | provenance | |
| tst.js:22:9:22:82 | source | tst.js:26:14:26:19 | source | provenance | |
| tst.js:22:9:22:82 | source | tst.js:28:28:28:33 | source | provenance | |
| tst.js:22:9:22:82 | source | tst.js:30:33:30:38 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:24:18:24:23 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:26:14:26:19 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:28:28:28:33 | source | provenance | |
| tst.js:22:9:22:14 | source | tst.js:30:33:30:38 | source | provenance | |
| tst.js:22:18:22:41 | documen ... .search | tst.js:22:18:22:82 | documen ... , "$1") | provenance | |
| tst.js:22:18:22:82 | documen ... , "$1") | tst.js:22:9:22:82 | source | provenance | |
| tst.js:22:18:22:82 | documen ... , "$1") | tst.js:22:9:22:14 | source | provenance | |
nodes
| NoSQLCodeInjection.js:18:24:18:31 | req.body | semmle.label | req.body |
| NoSQLCodeInjection.js:18:24:18:37 | req.body.query | semmle.label | req.body.query |
@@ -124,55 +124,55 @@ nodes
| express.js:12:30:12:53 | req.par ... cript") | semmle.label | req.par ... cript") |
| express.js:13:37:13:70 | req.par ... odule") | semmle.label | req.par ... odule") |
| express.js:14:19:14:48 | req.par ... ntext") | semmle.label | req.par ... ntext") |
| express.js:19:9:19:35 | taint | semmle.label | taint |
| express.js:19:9:19:13 | taint | semmle.label | taint |
| express.js:19:17:19:35 | req.param("wobble") | semmle.label | req.param("wobble") |
| express.js:20:34:20:38 | taint | semmle.label | taint |
| express.js:27:9:27:35 | taint | semmle.label | taint |
| express.js:27:9:27:13 | taint | semmle.label | taint |
| express.js:27:17:27:35 | req.param("wobble") | semmle.label | req.param("wobble") |
| express.js:36:15:36:19 | taint | semmle.label | taint |
| express.js:42:30:42:32 | msg | semmle.label | msg |
| express.js:43:10:43:12 | msg | semmle.label | msg |
| fastify.js:4:9:4:43 | userInput | semmle.label | userInput |
| fastify.js:4:9:4:17 | userInput | semmle.label | userInput |
| fastify.js:4:21:4:33 | request.query | semmle.label | request.query |
| fastify.js:4:21:4:43 | request ... Request | semmle.label | request ... Request |
| fastify.js:5:44:5:52 | userInput | semmle.label | userInput |
| fastify.js:9:9:9:40 | userInput | semmle.label | userInput |
| fastify.js:9:9:9:17 | userInput | semmle.label | userInput |
| fastify.js:9:21:9:33 | request.query | semmle.label | request.query |
| fastify.js:9:21:9:40 | request.query.onSend | semmle.label | request.query.onSend |
| fastify.js:10:44:10:52 | userInput | semmle.label | userInput |
| fastify.js:15:9:15:44 | userInput | semmle.label | userInput |
| fastify.js:15:9:15:17 | userInput | semmle.label | userInput |
| fastify.js:15:21:15:33 | request.query | semmle.label | request.query |
| fastify.js:15:21:15:44 | request ... Parsing | semmle.label | request ... Parsing |
| fastify.js:16:44:16:52 | userInput | semmle.label | userInput |
| fastify.js:21:9:21:47 | userInput | semmle.label | userInput |
| fastify.js:21:9:21:17 | userInput | semmle.label | userInput |
| fastify.js:21:21:21:33 | request.query | semmle.label | request.query |
| fastify.js:21:21:21:47 | request ... idation | semmle.label | request ... idation |
| fastify.js:22:44:22:52 | userInput | semmle.label | userInput |
| fastify.js:26:9:26:44 | userInput | semmle.label | userInput |
| fastify.js:26:9:26:17 | userInput | semmle.label | userInput |
| fastify.js:26:21:26:33 | request.query | semmle.label | request.query |
| fastify.js:26:21:26:44 | request ... Handler | semmle.label | request ... Handler |
| fastify.js:27:44:27:52 | userInput | semmle.label | userInput |
| fastify.js:31:9:31:50 | userInput | semmle.label | userInput |
| fastify.js:31:9:31:17 | userInput | semmle.label | userInput |
| fastify.js:31:21:31:33 | request.query | semmle.label | request.query |
| fastify.js:31:21:31:50 | request ... ization | semmle.label | request ... ization |
| fastify.js:32:44:32:52 | userInput | semmle.label | userInput |
| fastify.js:37:9:37:44 | userInput | semmle.label | userInput |
| fastify.js:37:9:37:17 | userInput | semmle.label | userInput |
| fastify.js:37:21:37:33 | request.query | semmle.label | request.query |
| fastify.js:37:21:37:44 | request ... esponse | semmle.label | request ... esponse |
| fastify.js:38:44:38:52 | userInput | semmle.label | userInput |
| fastify.js:42:9:42:41 | userInput | semmle.label | userInput |
| fastify.js:42:9:42:17 | userInput | semmle.label | userInput |
| fastify.js:42:21:42:33 | request.query | semmle.label | request.query |
| fastify.js:42:21:42:41 | request ... onError | semmle.label | request ... onError |
| fastify.js:43:44:43:52 | userInput | semmle.label | userInput |
| fastify.js:47:9:47:43 | userInput | semmle.label | userInput |
| fastify.js:47:9:47:17 | userInput | semmle.label | userInput |
| fastify.js:47:21:47:33 | request.query | semmle.label | request.query |
| fastify.js:47:21:47:43 | request ... Timeout | semmle.label | request ... Timeout |
| fastify.js:48:44:48:52 | userInput | semmle.label | userInput |
| fastify.js:52:11:52:50 | userInput | semmle.label | userInput |
| fastify.js:52:11:52:19 | userInput | semmle.label | userInput |
| fastify.js:52:23:52:35 | request.query | semmle.label | request.query |
| fastify.js:52:23:52:50 | request ... stAbort | semmle.label | request ... stAbort |
| fastify.js:53:46:53:54 | userInput | semmle.label | userInput |
| fastify.js:57:9:57:39 | userInput | semmle.label | userInput |
| fastify.js:57:9:57:17 | userInput | semmle.label | userInput |
| fastify.js:57:21:57:33 | request.query | semmle.label | request.query |
| fastify.js:57:21:57:39 | request.query.input | semmle.label | request.query.input |
| fastify.js:58:44:58:52 | userInput | semmle.label | userInput |
@@ -186,14 +186,14 @@ nodes
| fastify.js:94:29:94:41 | request.query | semmle.label | request.query |
| fastify.js:94:29:94:51 | request ... plyCode | semmle.label | request ... plyCode |
| fastify.js:99:30:99:52 | reply.l ... tedCode | semmle.label | reply.l ... tedCode |
| fastify.js:106:9:106:38 | userInput | semmle.label | userInput |
| fastify.js:106:9:106:17 | userInput | semmle.label | userInput |
| fastify.js:106:21:106:33 | request.query | semmle.label | request.query |
| fastify.js:106:21:106:38 | request.query.code | semmle.label | request.query.code |
| fastify.js:107:23:107:31 | userInput | semmle.label | userInput |
| fastify.js:108:28:108:50 | reply.l ... tedCode | semmle.label | reply.l ... tedCode |
| module.js:9:16:9:29 | req.query.code | semmle.label | req.query.code |
| module.js:11:17:11:30 | req.query.code | semmle.label | req.query.code |
| react-native.js:7:7:7:33 | tainted | semmle.label | tainted |
| react-native.js:7:7:7:13 | tainted | semmle.label | tainted |
| react-native.js:7:17:7:33 | req.param("code") | semmle.label | req.param("code") |
| react-native.js:8:32:8:38 | tainted | semmle.label | tainted |
| react-native.js:10:23:10:29 | tainted | semmle.label | tainted |
@@ -201,11 +201,11 @@ nodes
| react-server-function.js:4:12:4:12 | x | semmle.label | x |
| react-server-function.js:4:12:4:29 | x + " from server" | semmle.label | x + " from server" |
| react.js:11:56:11:77 | documen ... on.hash | semmle.label | documen ... on.hash |
| react.js:24:9:24:45 | data | semmle.label | data |
| react.js:24:9:24:12 | data | semmle.label | data |
| react.js:24:16:24:45 | use(ech ... alue")) | semmle.label | use(ech ... alue")) |
| react.js:24:20:24:44 | echoSer ... value") [PromiseValue] | semmle.label | echoSer ... value") [PromiseValue] |
| react.js:25:8:25:11 | data | semmle.label | data |
| template-sinks.js:18:9:18:31 | tainted | semmle.label | tainted |
| template-sinks.js:18:9:18:15 | tainted | semmle.label | tainted |
| template-sinks.js:18:19:18:31 | req.query.foo | semmle.label | req.query.foo |
| template-sinks.js:20:17:20:23 | tainted | semmle.label | tainted |
| template-sinks.js:21:16:21:22 | tainted | semmle.label | tainted |
@@ -233,7 +233,7 @@ nodes
| tst.js:17:11:17:45 | documen ... ring(1) | semmle.label | documen ... ring(1) |
| tst.js:19:26:19:40 | location.search | semmle.label | location.search |
| tst.js:19:26:19:53 | locatio ... ring(1) | semmle.label | locatio ... ring(1) |
| tst.js:22:9:22:82 | source | semmle.label | source |
| tst.js:22:9:22:14 | source | semmle.label | source |
| tst.js:22:18:22:41 | documen ... .search | semmle.label | documen ... .search |
| tst.js:22:18:22:82 | documen ... , "$1") | semmle.label | documen ... , "$1") |
| tst.js:24:18:24:23 | source | semmle.label | source |

View File

@@ -14,8 +14,8 @@ edges
| bad-code-sanitization.js:7:21:7:70 | `${name ... key])}` | bad-code-sanitization.js:7:5:7:14 | [post update] statements [ArrayElement] | provenance | |
| bad-code-sanitization.js:7:31:7:43 | safeProp(key) | bad-code-sanitization.js:7:21:7:70 | `${name ... key])}` | provenance | |
| bad-code-sanitization.js:8:27:8:36 | statements [ArrayElement] | bad-code-sanitization.js:8:27:8:46 | statements.join(';') | provenance | |
| bad-code-sanitization.js:63:11:63:55 | assignment | bad-code-sanitization.js:64:27:64:36 | assignment | provenance | |
| bad-code-sanitization.js:63:31:63:49 | JSON.stringify(key) | bad-code-sanitization.js:63:11:63:55 | assignment | provenance | |
| bad-code-sanitization.js:63:11:63:20 | assignment | bad-code-sanitization.js:64:27:64:36 | assignment | provenance | |
| bad-code-sanitization.js:63:31:63:49 | JSON.stringify(key) | bad-code-sanitization.js:63:11:63:20 | assignment | provenance | |
nodes
| bad-code-sanitization.js:2:12:2:90 | /^[_$a- ... key)}]` | semmle.label | /^[_$a- ... key)}]` |
| bad-code-sanitization.js:2:69:2:87 | JSON.stringify(key) | semmle.label | JSON.stringify(key) |
@@ -32,7 +32,7 @@ nodes
| bad-code-sanitization.js:52:28:52:62 | JSON.st ... bble")) | semmle.label | JSON.st ... bble")) |
| bad-code-sanitization.js:54:29:54:63 | JSON.st ... bble")) | semmle.label | JSON.st ... bble")) |
| bad-code-sanitization.js:58:29:58:49 | JSON.st ... (taint) | semmle.label | JSON.st ... (taint) |
| bad-code-sanitization.js:63:11:63:55 | assignment | semmle.label | assignment |
| bad-code-sanitization.js:63:11:63:20 | assignment | semmle.label | assignment |
| bad-code-sanitization.js:63:31:63:49 | JSON.stringify(key) | semmle.label | JSON.stringify(key) |
| bad-code-sanitization.js:64:27:64:36 | assignment | semmle.label | assignment |
subpaths

View File

@@ -7,19 +7,19 @@
| tst.js:21:5:21:29 | window[ ... e.name] | tst.js:3:37:3:38 | ev | tst.js:21:5:21:29 | window[ ... e.name] | This method is invoked using a $@, which may allow remote code execution. | tst.js:3:37:3:38 | ev | user-controlled value |
edges
| example.js:9:37:9:38 | ev | example.js:10:30:10:31 | ev | provenance | |
| example.js:10:9:10:37 | message | example.js:13:12:13:18 | message | provenance | |
| example.js:10:19:10:37 | JSON.parse(ev.data) | example.js:10:9:10:37 | message | provenance | |
| example.js:10:9:10:15 | message | example.js:13:12:13:18 | message | provenance | |
| example.js:10:19:10:37 | JSON.parse(ev.data) | example.js:10:9:10:15 | message | provenance | |
| example.js:10:30:10:31 | ev | example.js:10:30:10:36 | ev.data | provenance | Config |
| example.js:10:30:10:36 | ev.data | example.js:10:19:10:37 | JSON.parse(ev.data) | provenance | Config |
| example.js:13:12:13:18 | message | example.js:13:12:13:23 | message.name | provenance | Config |
| example.js:13:12:13:23 | message.name | example.js:13:5:13:24 | window[message.name] | provenance | Config |
| tst.js:3:37:3:38 | ev | tst.js:4:30:4:31 | ev | provenance | |
| tst.js:3:37:3:38 | ev | tst.js:15:12:15:13 | ev | provenance | |
| tst.js:4:9:4:37 | message | tst.js:5:12:5:18 | message | provenance | |
| tst.js:4:9:4:37 | message | tst.js:6:16:6:22 | message | provenance | |
| tst.js:4:9:4:37 | message | tst.js:11:7:11:13 | message | provenance | |
| tst.js:4:9:4:37 | message | tst.js:21:17:21:23 | message | provenance | |
| tst.js:4:19:4:37 | JSON.parse(ev.data) | tst.js:4:9:4:37 | message | provenance | |
| tst.js:4:9:4:15 | message | tst.js:5:12:5:18 | message | provenance | |
| tst.js:4:9:4:15 | message | tst.js:6:16:6:22 | message | provenance | |
| tst.js:4:9:4:15 | message | tst.js:11:7:11:13 | message | provenance | |
| tst.js:4:9:4:15 | message | tst.js:21:17:21:23 | message | provenance | |
| tst.js:4:19:4:37 | JSON.parse(ev.data) | tst.js:4:9:4:15 | message | provenance | |
| tst.js:4:30:4:31 | ev | tst.js:4:30:4:36 | ev.data | provenance | Config |
| tst.js:4:30:4:36 | ev.data | tst.js:4:19:4:37 | JSON.parse(ev.data) | provenance | Config |
| tst.js:5:12:5:18 | message | tst.js:5:12:5:23 | message.name | provenance | Config |
@@ -34,7 +34,7 @@ edges
| tst.js:21:17:21:28 | message.name | tst.js:21:12:21:28 | '' + message.name | provenance | Config |
nodes
| example.js:9:37:9:38 | ev | semmle.label | ev |
| example.js:10:9:10:37 | message | semmle.label | message |
| example.js:10:9:10:15 | message | semmle.label | message |
| example.js:10:19:10:37 | JSON.parse(ev.data) | semmle.label | JSON.parse(ev.data) |
| example.js:10:30:10:31 | ev | semmle.label | ev |
| example.js:10:30:10:36 | ev.data | semmle.label | ev.data |
@@ -42,7 +42,7 @@ nodes
| example.js:13:12:13:18 | message | semmle.label | message |
| example.js:13:12:13:23 | message.name | semmle.label | message.name |
| tst.js:3:37:3:38 | ev | semmle.label | ev |
| tst.js:4:9:4:37 | message | semmle.label | message |
| tst.js:4:9:4:15 | message | semmle.label | message |
| tst.js:4:19:4:37 | JSON.parse(ev.data) | semmle.label | JSON.parse(ev.data) |
| tst.js:4:30:4:31 | ev | semmle.label | ev |
| tst.js:4:30:4:36 | ev.data | semmle.label | ev.data |

View File

@@ -13,8 +13,8 @@
| tst.js:303:10:303:34 | s().rep ... /g, '') | tst.js:303:10:303:34 | s().rep ... /g, '') | tst.js:303:10:303:34 | s().rep ... /g, '') | Cross-site scripting vulnerability as the output of $@ may contain single quotes when it reaches this attribute definition. | tst.js:303:10:303:34 | s().rep ... /g, '') | this final HTML sanitizer step |
| tst.js:309:10:318:3 | s().rep ... ;";\\n\\t}) | tst.js:309:10:318:3 | s().rep ... ;";\\n\\t}) | tst.js:309:10:318:3 | s().rep ... ;";\\n\\t}) | Cross-site scripting vulnerability as the output of $@ may contain single quotes when it reaches this attribute definition. | tst.js:309:10:318:3 | s().rep ... ;";\\n\\t}) | this final HTML sanitizer step |
edges
| tst.js:274:6:274:94 | arr | tst.js:275:9:275:11 | arr | provenance | |
| tst.js:274:12:274:94 | s().val ... g , '') | tst.js:274:6:274:94 | arr | provenance | |
| tst.js:274:6:274:8 | arr | tst.js:275:9:275:11 | arr | provenance | |
| tst.js:274:12:274:94 | s().val ... g , '') | tst.js:274:6:274:8 | arr | provenance | |
| tst.js:275:9:275:11 | arr | tst.js:275:9:275:21 | arr.join(" ") | provenance | |
nodes
| tst.js:243:9:243:31 | s().rep ... ]/g,'') | semmle.label | s().rep ... ]/g,'') |
@@ -24,7 +24,7 @@ nodes
| tst.js:253:21:253:45 | s().rep ... /g, '') | semmle.label | s().rep ... /g, '') |
| tst.js:254:32:254:56 | s().rep ... /g, '') | semmle.label | s().rep ... /g, '') |
| tst.js:270:61:270:85 | s().rep ... /g, '') | semmle.label | s().rep ... /g, '') |
| tst.js:274:6:274:94 | arr | semmle.label | arr |
| tst.js:274:6:274:8 | arr | semmle.label | arr |
| tst.js:274:12:274:94 | s().val ... g , '') | semmle.label | s().val ... g , '') |
| tst.js:275:9:275:11 | arr | semmle.label | arr |
| tst.js:275:9:275:21 | arr.join(" ") | semmle.label | arr.join(" ") |

View File

@@ -24,35 +24,35 @@
| logInjectionBad.js:129:42:129:50 | RegExp.$1 | logInjectionBad.js:128:30:128:36 | req.url | logInjectionBad.js:129:42:129:50 | RegExp.$1 | Log entry depends on a $@. | logInjectionBad.js:128:30:128:36 | req.url | user-provided value |
edges
| logInjectionBad.js:7:25:7:32 | username | logInjectionBad.js:8:38:8:45 | username | provenance | |
| logInjectionBad.js:19:9:19:36 | q | logInjectionBad.js:20:20:20:20 | q | provenance | |
| logInjectionBad.js:19:13:19:36 | url.par ... , true) | logInjectionBad.js:19:9:19:36 | q | provenance | |
| logInjectionBad.js:19:9:19:9 | q | logInjectionBad.js:20:20:20:20 | q | provenance | |
| logInjectionBad.js:19:13:19:36 | url.par ... , true) | logInjectionBad.js:19:9:19:9 | q | provenance | |
| logInjectionBad.js:19:23:19:29 | req.url | logInjectionBad.js:19:13:19:36 | url.par ... , true) | provenance | |
| logInjectionBad.js:20:9:20:35 | username | logInjectionBad.js:22:34:22:41 | username | provenance | |
| logInjectionBad.js:20:9:20:35 | username | logInjectionBad.js:23:37:23:44 | username | provenance | |
| logInjectionBad.js:20:9:20:35 | username | logInjectionBad.js:24:35:24:42 | username | provenance | |
| logInjectionBad.js:20:9:20:35 | username | logInjectionBad.js:25:36:25:43 | username | provenance | |
| logInjectionBad.js:20:9:20:35 | username | logInjectionBad.js:28:24:28:31 | username | provenance | |
| logInjectionBad.js:20:20:20:20 | q | logInjectionBad.js:20:9:20:35 | username | provenance | |
| logInjectionBad.js:20:9:20:16 | username | logInjectionBad.js:22:34:22:41 | username | provenance | |
| logInjectionBad.js:20:9:20:16 | username | logInjectionBad.js:23:37:23:44 | username | provenance | |
| logInjectionBad.js:20:9:20:16 | username | logInjectionBad.js:24:35:24:42 | username | provenance | |
| logInjectionBad.js:20:9:20:16 | username | logInjectionBad.js:25:36:25:43 | username | provenance | |
| logInjectionBad.js:20:9:20:16 | username | logInjectionBad.js:28:24:28:31 | username | provenance | |
| logInjectionBad.js:20:20:20:20 | q | logInjectionBad.js:20:9:20:16 | username | provenance | |
| logInjectionBad.js:22:34:22:41 | username | logInjectionBad.js:22:18:22:43 | `[INFO] ... rname}` | provenance | |
| logInjectionBad.js:28:9:28:32 | exceptional return of check_u ... ername) | logInjectionBad.js:29:14:29:18 | error | provenance | |
| logInjectionBad.js:28:24:28:31 | username | logInjectionBad.js:7:25:7:32 | username | provenance | |
| logInjectionBad.js:28:24:28:31 | username | logInjectionBad.js:28:9:28:32 | exceptional return of check_u ... ername) | provenance | |
| logInjectionBad.js:29:14:29:18 | error | logInjectionBad.js:30:42:30:46 | error | provenance | |
| logInjectionBad.js:30:42:30:46 | error | logInjectionBad.js:30:23:30:49 | `[ERROR ... rror}"` | provenance | |
| logInjectionBad.js:46:9:46:36 | q | logInjectionBad.js:47:20:47:20 | q | provenance | |
| logInjectionBad.js:46:13:46:36 | url.par ... , true) | logInjectionBad.js:46:9:46:36 | q | provenance | |
| logInjectionBad.js:46:9:46:9 | q | logInjectionBad.js:47:20:47:20 | q | provenance | |
| logInjectionBad.js:46:13:46:36 | url.par ... , true) | logInjectionBad.js:46:9:46:9 | q | provenance | |
| logInjectionBad.js:46:23:46:29 | req.url | logInjectionBad.js:46:13:46:36 | url.par ... , true) | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:49:46:49:53 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:50:39:50:46 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:51:48:51:55 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:52:37:52:44 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:53:27:53:34 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:54:43:54:50 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:55:48:55:55 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:56:47:56:54 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:57:40:57:47 | username | provenance | |
| logInjectionBad.js:47:9:47:35 | username | logInjectionBad.js:58:50:58:57 | username | provenance | |
| logInjectionBad.js:47:20:47:20 | q | logInjectionBad.js:47:9:47:35 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:49:46:49:53 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:50:39:50:46 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:51:48:51:55 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:52:37:52:44 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:53:27:53:34 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:54:43:54:50 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:55:48:55:55 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:56:47:56:54 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:57:40:57:47 | username | provenance | |
| logInjectionBad.js:47:9:47:16 | username | logInjectionBad.js:58:50:58:57 | username | provenance | |
| logInjectionBad.js:47:20:47:20 | q | logInjectionBad.js:47:9:47:16 | username | provenance | |
| logInjectionBad.js:49:46:49:53 | username | logInjectionBad.js:49:18:49:54 | ansiCol ... ername) | provenance | |
| logInjectionBad.js:50:39:50:46 | username | logInjectionBad.js:50:18:50:47 | colors. ... ername) | provenance | |
| logInjectionBad.js:51:27:51:56 | colors. ... ername) | logInjectionBad.js:51:18:51:61 | wrapAns ... e), 20) | provenance | |
@@ -68,18 +68,18 @@ edges
| logInjectionBad.js:57:40:57:47 | username | logInjectionBad.js:57:17:57:48 | chalk.u ... ername) | provenance | |
| logInjectionBad.js:58:27:58:58 | chalk.u ... ername) | logInjectionBad.js:58:17:58:59 | stripAn ... rname)) | provenance | |
| logInjectionBad.js:58:50:58:57 | username | logInjectionBad.js:58:27:58:58 | chalk.u ... ername) | provenance | |
| logInjectionBad.js:63:9:63:36 | q | logInjectionBad.js:64:20:64:20 | q | provenance | |
| logInjectionBad.js:63:13:63:36 | url.par ... , true) | logInjectionBad.js:63:9:63:36 | q | provenance | |
| logInjectionBad.js:63:9:63:9 | q | logInjectionBad.js:64:20:64:20 | q | provenance | |
| logInjectionBad.js:63:13:63:36 | url.par ... , true) | logInjectionBad.js:63:9:63:9 | q | provenance | |
| logInjectionBad.js:63:23:63:29 | req.url | logInjectionBad.js:63:13:63:36 | url.par ... , true) | provenance | |
| logInjectionBad.js:64:9:64:35 | username | logInjectionBad.js:66:35:66:42 | username | provenance | |
| logInjectionBad.js:64:20:64:20 | q | logInjectionBad.js:64:9:64:35 | username | provenance | |
| logInjectionBad.js:64:9:64:16 | username | logInjectionBad.js:66:35:66:42 | username | provenance | |
| logInjectionBad.js:64:20:64:20 | q | logInjectionBad.js:64:9:64:16 | username | provenance | |
| logInjectionBad.js:66:35:66:42 | username | logInjectionBad.js:66:17:66:43 | prettyj ... ername) | provenance | |
| logInjectionBad.js:72:9:72:36 | q | logInjectionBad.js:73:20:73:20 | q | provenance | |
| logInjectionBad.js:72:13:72:36 | url.par ... , true) | logInjectionBad.js:72:9:72:36 | q | provenance | |
| logInjectionBad.js:72:9:72:9 | q | logInjectionBad.js:73:20:73:20 | q | provenance | |
| logInjectionBad.js:72:13:72:36 | url.par ... , true) | logInjectionBad.js:72:9:72:9 | q | provenance | |
| logInjectionBad.js:72:23:72:29 | req.url | logInjectionBad.js:72:13:72:36 | url.par ... , true) | provenance | |
| logInjectionBad.js:73:9:73:35 | username | logInjectionBad.js:75:15:75:22 | username | provenance | |
| logInjectionBad.js:73:9:73:35 | username | logInjectionBad.js:75:15:75:22 | username | provenance | |
| logInjectionBad.js:73:20:73:20 | q | logInjectionBad.js:73:9:73:35 | username | provenance | |
| logInjectionBad.js:73:9:73:16 | username | logInjectionBad.js:75:15:75:22 | username | provenance | |
| logInjectionBad.js:73:9:73:16 | username | logInjectionBad.js:75:15:75:22 | username | provenance | |
| logInjectionBad.js:73:20:73:20 | q | logInjectionBad.js:73:9:73:16 | username | provenance | |
| logInjectionBad.js:75:15:75:22 | username | logInjectionBad.js:77:5:85:5 | functio ... ;\\n } [username] | provenance | |
| logInjectionBad.js:75:15:75:22 | username | logInjectionBad.js:87:5:94:5 | functio ... ;\\n } [username] | provenance | |
| logInjectionBad.js:75:15:75:22 | username | logInjectionBad.js:96:5:103:5 | functio ... ;\\n } [username] | provenance | |
@@ -88,21 +88,21 @@ edges
| logInjectionBad.js:87:5:94:5 | functio ... ;\\n } [username] | logInjectionBad.js:91:26:91:33 | username | provenance | |
| logInjectionBad.js:96:5:103:5 | functio ... ;\\n } [username] | logInjectionBad.js:99:26:99:33 | username | provenance | |
| logInjectionBad.js:105:5:118:5 | functio ... ;\\n } [username] | logInjectionBad.js:113:37:113:44 | username | provenance | |
| logInjectionBad.js:122:9:122:58 | username | logInjectionBad.js:123:20:123:27 | username | provenance | |
| logInjectionBad.js:122:20:122:43 | url.par ... , true) | logInjectionBad.js:122:9:122:58 | username | provenance | |
| logInjectionBad.js:122:9:122:16 | username | logInjectionBad.js:123:20:123:27 | username | provenance | |
| logInjectionBad.js:122:20:122:43 | url.par ... , true) | logInjectionBad.js:122:9:122:16 | username | provenance | |
| logInjectionBad.js:122:30:122:36 | req.url | logInjectionBad.js:122:20:122:43 | url.par ... , true) | provenance | |
| logInjectionBad.js:123:9:123:46 | otherStr | logInjectionBad.js:124:17:124:24 | otherStr | provenance | |
| logInjectionBad.js:123:9:123:16 | otherStr | logInjectionBad.js:124:17:124:24 | otherStr | provenance | |
| logInjectionBad.js:123:20:123:27 | username | logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | provenance | |
| logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | logInjectionBad.js:123:9:123:46 | otherStr | provenance | |
| logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | logInjectionBad.js:123:9:123:16 | otherStr | provenance | |
| logInjectionBad.js:128:20:128:43 | url.par ... , true) | logInjectionBad.js:129:42:129:50 | RegExp.$1 | provenance | |
| logInjectionBad.js:128:30:128:36 | req.url | logInjectionBad.js:128:20:128:43 | url.par ... , true) | provenance | |
nodes
| logInjectionBad.js:7:25:7:32 | username | semmle.label | username |
| logInjectionBad.js:8:38:8:45 | username | semmle.label | username |
| logInjectionBad.js:19:9:19:36 | q | semmle.label | q |
| logInjectionBad.js:19:9:19:9 | q | semmle.label | q |
| logInjectionBad.js:19:13:19:36 | url.par ... , true) | semmle.label | url.par ... , true) |
| logInjectionBad.js:19:23:19:29 | req.url | semmle.label | req.url |
| logInjectionBad.js:20:9:20:35 | username | semmle.label | username |
| logInjectionBad.js:20:9:20:16 | username | semmle.label | username |
| logInjectionBad.js:20:20:20:20 | q | semmle.label | q |
| logInjectionBad.js:22:18:22:43 | `[INFO] ... rname}` | semmle.label | `[INFO] ... rname}` |
| logInjectionBad.js:22:34:22:41 | username | semmle.label | username |
@@ -114,10 +114,10 @@ nodes
| logInjectionBad.js:29:14:29:18 | error | semmle.label | error |
| logInjectionBad.js:30:23:30:49 | `[ERROR ... rror}"` | semmle.label | `[ERROR ... rror}"` |
| logInjectionBad.js:30:42:30:46 | error | semmle.label | error |
| logInjectionBad.js:46:9:46:36 | q | semmle.label | q |
| logInjectionBad.js:46:9:46:9 | q | semmle.label | q |
| logInjectionBad.js:46:13:46:36 | url.par ... , true) | semmle.label | url.par ... , true) |
| logInjectionBad.js:46:23:46:29 | req.url | semmle.label | req.url |
| logInjectionBad.js:47:9:47:35 | username | semmle.label | username |
| logInjectionBad.js:47:9:47:16 | username | semmle.label | username |
| logInjectionBad.js:47:20:47:20 | q | semmle.label | q |
| logInjectionBad.js:49:18:49:54 | ansiCol ... ername) | semmle.label | ansiCol ... ername) |
| logInjectionBad.js:49:46:49:53 | username | semmle.label | username |
@@ -144,17 +144,17 @@ nodes
| logInjectionBad.js:58:17:58:59 | stripAn ... rname)) | semmle.label | stripAn ... rname)) |
| logInjectionBad.js:58:27:58:58 | chalk.u ... ername) | semmle.label | chalk.u ... ername) |
| logInjectionBad.js:58:50:58:57 | username | semmle.label | username |
| logInjectionBad.js:63:9:63:36 | q | semmle.label | q |
| logInjectionBad.js:63:9:63:9 | q | semmle.label | q |
| logInjectionBad.js:63:13:63:36 | url.par ... , true) | semmle.label | url.par ... , true) |
| logInjectionBad.js:63:23:63:29 | req.url | semmle.label | req.url |
| logInjectionBad.js:64:9:64:35 | username | semmle.label | username |
| logInjectionBad.js:64:9:64:16 | username | semmle.label | username |
| logInjectionBad.js:64:20:64:20 | q | semmle.label | q |
| logInjectionBad.js:66:17:66:43 | prettyj ... ername) | semmle.label | prettyj ... ername) |
| logInjectionBad.js:66:35:66:42 | username | semmle.label | username |
| logInjectionBad.js:72:9:72:36 | q | semmle.label | q |
| logInjectionBad.js:72:9:72:9 | q | semmle.label | q |
| logInjectionBad.js:72:13:72:36 | url.par ... , true) | semmle.label | url.par ... , true) |
| logInjectionBad.js:72:23:72:29 | req.url | semmle.label | req.url |
| logInjectionBad.js:73:9:73:35 | username | semmle.label | username |
| logInjectionBad.js:73:9:73:16 | username | semmle.label | username |
| logInjectionBad.js:73:20:73:20 | q | semmle.label | q |
| logInjectionBad.js:75:15:75:22 | username | semmle.label | username |
| logInjectionBad.js:75:15:75:22 | username | semmle.label | username |
@@ -166,10 +166,10 @@ nodes
| logInjectionBad.js:99:26:99:33 | username | semmle.label | username |
| logInjectionBad.js:105:5:118:5 | functio ... ;\\n } [username] | semmle.label | functio ... ;\\n } [username] |
| logInjectionBad.js:113:37:113:44 | username | semmle.label | username |
| logInjectionBad.js:122:9:122:58 | username | semmle.label | username |
| logInjectionBad.js:122:9:122:16 | username | semmle.label | username |
| logInjectionBad.js:122:20:122:43 | url.par ... , true) | semmle.label | url.par ... , true) |
| logInjectionBad.js:122:30:122:36 | req.url | semmle.label | req.url |
| logInjectionBad.js:123:9:123:46 | otherStr | semmle.label | otherStr |
| logInjectionBad.js:123:9:123:16 | otherStr | semmle.label | otherStr |
| logInjectionBad.js:123:20:123:27 | username | semmle.label | username |
| logInjectionBad.js:123:20:123:43 | usernam ... (/.*/g) | semmle.label | usernam ... (/.*/g) |
| logInjectionBad.js:124:17:124:24 | otherStr | semmle.label | otherStr |

View File

@@ -13,28 +13,28 @@
| sentAsHeaders.js:14:20:19:9 | {\\n ... } | sentAsHeaders.js:10:79:10:84 | buffer | sentAsHeaders.js:14:20:19:9 | {\\n ... } | Outbound network request depends on $@. | sentAsHeaders.js:10:79:10:84 | buffer | file data |
| sentAsHeaders.js:20:20:25:9 | {\\n ... } | sentAsHeaders.js:10:79:10:84 | buffer | sentAsHeaders.js:20:20:25:9 | {\\n ... } | Outbound network request depends on $@. | sentAsHeaders.js:10:79:10:84 | buffer | file data |
edges
| FileAccessToHttp.js:4:5:4:47 | content | FileAccessToHttp.js:9:23:9:29 | content | provenance | |
| FileAccessToHttp.js:4:15:4:47 | fs.read ... "utf8") | FileAccessToHttp.js:4:5:4:47 | content | provenance | |
| FileAccessToHttp.js:4:5:4:11 | content | FileAccessToHttp.js:9:23:9:29 | content | provenance | |
| FileAccessToHttp.js:4:15:4:47 | fs.read ... "utf8") | FileAccessToHttp.js:4:5:4:11 | content | provenance | |
| FileAccessToHttp.js:9:12:9:31 | { Referer: content } [Referer] | FileAccessToHttp.js:5:11:10:1 | {\\n hos ... ent }\\n} | provenance | |
| FileAccessToHttp.js:9:23:9:29 | content | FileAccessToHttp.js:9:12:9:31 | { Referer: content } [Referer] | provenance | |
| FileAccessToHttp.js:16:11:16:56 | content | FileAccessToHttp.js:22:27:22:33 | content | provenance | |
| FileAccessToHttp.js:16:21:16:56 | await f ... "utf8") | FileAccessToHttp.js:16:11:16:56 | content | provenance | |
| FileAccessToHttp.js:16:11:16:17 | content | FileAccessToHttp.js:22:27:22:33 | content | provenance | |
| FileAccessToHttp.js:16:21:16:56 | await f ... "utf8") | FileAccessToHttp.js:16:11:16:17 | content | provenance | |
| FileAccessToHttp.js:22:16:22:35 | { Referer: content } [Referer] | FileAccessToHttp.js:18:15:23:5 | {\\n ... }\\n } | provenance | |
| FileAccessToHttp.js:22:27:22:33 | content | FileAccessToHttp.js:22:16:22:35 | { Referer: content } [Referer] | provenance | |
| FileAccessToHttp.js:34:9:34:57 | buffer | FileAccessToHttp.js:40:25:40:30 | buffer | provenance | |
| FileAccessToHttp.js:34:18:34:57 | [Buffer ... (1024)] | FileAccessToHttp.js:34:9:34:57 | buffer | provenance | |
| FileAccessToHttp.js:34:9:34:14 | buffer | FileAccessToHttp.js:40:25:40:30 | buffer | provenance | |
| FileAccessToHttp.js:34:18:34:57 | [Buffer ... (1024)] | FileAccessToHttp.js:34:9:34:14 | buffer | provenance | |
| FileAccessToHttp.js:40:14:40:32 | { Referer: buffer } [Referer] | FileAccessToHttp.js:36:13:41:3 | {\\n h ... r }\\n } | provenance | |
| FileAccessToHttp.js:40:25:40:30 | buffer | FileAccessToHttp.js:40:14:40:32 | { Referer: buffer } [Referer] | provenance | |
| FileAccessToHttp.js:43:9:43:36 | buffer1 | FileAccessToHttp.js:49:25:49:31 | buffer1 | provenance | |
| FileAccessToHttp.js:43:19:43:36 | Buffer.alloc(1024) | FileAccessToHttp.js:43:9:43:36 | buffer1 | provenance | |
| FileAccessToHttp.js:43:9:43:15 | buffer1 | FileAccessToHttp.js:49:25:49:31 | buffer1 | provenance | |
| FileAccessToHttp.js:43:19:43:36 | Buffer.alloc(1024) | FileAccessToHttp.js:43:9:43:15 | buffer1 | provenance | |
| FileAccessToHttp.js:49:14:49:65 | { Refer ... ing() } [Referer] | FileAccessToHttp.js:45:13:50:3 | {\\n h ... ) }\\n } | provenance | |
| FileAccessToHttp.js:49:25:49:31 | buffer1 | FileAccessToHttp.js:49:25:49:52 | buffer1 ... sRead1) | provenance | |
| FileAccessToHttp.js:49:25:49:31 | buffer1 | FileAccessToHttp.js:49:25:49:52 | buffer1 ... sRead1) [ArrayElement] | provenance | |
| FileAccessToHttp.js:49:25:49:52 | buffer1 ... sRead1) | FileAccessToHttp.js:49:25:49:63 | buffer1 ... tring() | provenance | |
| FileAccessToHttp.js:49:25:49:52 | buffer1 ... sRead1) [ArrayElement] | FileAccessToHttp.js:49:25:49:63 | buffer1 ... tring() | provenance | |
| FileAccessToHttp.js:49:25:49:63 | buffer1 ... tring() | FileAccessToHttp.js:49:14:49:65 | { Refer ... ing() } [Referer] | provenance | |
| FileAccessToHttp.js:52:9:52:36 | buffer2 | FileAccessToHttp.js:53:17:53:23 | buffer2 | provenance | |
| FileAccessToHttp.js:52:19:52:36 | Buffer.alloc(1024) | FileAccessToHttp.js:52:9:52:36 | buffer2 | provenance | |
| FileAccessToHttp.js:52:9:52:15 | buffer2 | FileAccessToHttp.js:53:17:53:23 | buffer2 | provenance | |
| FileAccessToHttp.js:52:19:52:36 | Buffer.alloc(1024) | FileAccessToHttp.js:52:9:52:15 | buffer2 | provenance | |
| FileAccessToHttp.js:53:17:53:23 | buffer2 | FileAccessToHttp.js:58:27:58:33 | buffer2 | provenance | |
| FileAccessToHttp.js:58:16:58:67 | { Refer ... ing() } [Referer] | FileAccessToHttp.js:54:15:59:5 | {\\n ... }\\n } | provenance | |
| FileAccessToHttp.js:58:27:58:33 | buffer2 | FileAccessToHttp.js:58:27:58:54 | buffer2 ... sRead2) | provenance | |
@@ -42,28 +42,28 @@ edges
| FileAccessToHttp.js:58:27:58:54 | buffer2 ... sRead2) | FileAccessToHttp.js:58:27:58:65 | buffer2 ... tring() | provenance | |
| FileAccessToHttp.js:58:27:58:54 | buffer2 ... sRead2) [ArrayElement] | FileAccessToHttp.js:58:27:58:65 | buffer2 ... tring() | provenance | |
| FileAccessToHttp.js:58:27:58:65 | buffer2 ... tring() | FileAccessToHttp.js:58:16:58:67 | { Refer ... ing() } [Referer] | provenance | |
| bufferRead.js:12:13:12:43 | buffer | bufferRead.js:13:21:13:26 | buffer | provenance | |
| bufferRead.js:12:13:12:43 | buffer | bufferRead.js:13:32:13:37 | buffer | provenance | |
| bufferRead.js:12:22:12:43 | new Buf ... s.size) | bufferRead.js:12:13:12:43 | buffer | provenance | |
| bufferRead.js:12:13:12:18 | buffer | bufferRead.js:13:21:13:26 | buffer | provenance | |
| bufferRead.js:12:13:12:18 | buffer | bufferRead.js:13:32:13:37 | buffer | provenance | |
| bufferRead.js:12:22:12:43 | new Buf ... s.size) | bufferRead.js:12:13:12:18 | buffer | provenance | |
| bufferRead.js:13:21:13:26 | buffer | bufferRead.js:13:32:13:37 | buffer | provenance | |
| bufferRead.js:13:32:13:37 | buffer | bufferRead.js:15:26:15:31 | buffer | provenance | |
| bufferRead.js:15:15:15:62 | postData | bufferRead.js:32:21:32:28 | postData | provenance | |
| bufferRead.js:15:15:15:22 | postData | bufferRead.js:32:21:32:28 | postData | provenance | |
| bufferRead.js:15:26:15:31 | buffer | bufferRead.js:15:26:15:62 | buffer. ... esRead) | provenance | |
| bufferRead.js:15:26:15:62 | buffer. ... esRead) | bufferRead.js:15:15:15:62 | postData | provenance | |
| bufferRead.js:15:26:15:62 | buffer. ... esRead) | bufferRead.js:15:15:15:22 | postData | provenance | |
| googlecompiler.js:7:19:7:28 | codestring | googlecompiler.js:14:21:14:30 | codestring | provenance | |
| googlecompiler.js:9:7:15:4 | post_data | googlecompiler.js:37:18:37:26 | post_data | provenance | |
| googlecompiler.js:9:19:15:4 | queryst ... dy\\n }) | googlecompiler.js:9:7:15:4 | post_data | provenance | |
| googlecompiler.js:9:7:9:15 | post_data | googlecompiler.js:37:18:37:26 | post_data | provenance | |
| googlecompiler.js:9:19:15:4 | queryst ... dy\\n }) | googlecompiler.js:9:7:9:15 | post_data | provenance | |
| googlecompiler.js:9:41:15:3 | {\\n ... ody\\n } [js_code] | googlecompiler.js:9:19:15:4 | queryst ... dy\\n }) | provenance | |
| googlecompiler.js:14:21:14:30 | codestring | googlecompiler.js:9:41:15:3 | {\\n ... ody\\n } [js_code] | provenance | |
| googlecompiler.js:43:54:43:57 | data | googlecompiler.js:55:14:55:17 | data | provenance | |
| googlecompiler.js:55:14:55:17 | data | googlecompiler.js:7:19:7:28 | codestring | provenance | |
| readFileSync.js:5:5:5:39 | data | readFileSync.js:7:11:7:14 | data | provenance | |
| readFileSync.js:5:12:5:39 | fs.read ... t.txt") | readFileSync.js:5:5:5:39 | data | provenance | |
| readFileSync.js:7:7:7:25 | s | readFileSync.js:25:18:25:18 | s | provenance | |
| readFileSync.js:5:5:5:8 | data | readFileSync.js:7:11:7:14 | data | provenance | |
| readFileSync.js:5:12:5:39 | fs.read ... t.txt") | readFileSync.js:5:5:5:8 | data | provenance | |
| readFileSync.js:7:7:7:7 | s | readFileSync.js:25:18:25:18 | s | provenance | |
| readFileSync.js:7:11:7:14 | data | readFileSync.js:7:11:7:25 | data.toString() | provenance | |
| readFileSync.js:7:11:7:25 | data.toString() | readFileSync.js:7:7:7:25 | s | provenance | |
| readStreamRead.js:13:13:13:35 | chunk | readStreamRead.js:29:19:29:23 | chunk | provenance | |
| readStreamRead.js:13:21:13:35 | readable.read() | readStreamRead.js:13:13:13:35 | chunk | provenance | |
| readFileSync.js:7:11:7:25 | data.toString() | readFileSync.js:7:7:7:7 | s | provenance | |
| readStreamRead.js:13:13:13:17 | chunk | readStreamRead.js:29:19:29:23 | chunk | provenance | |
| readStreamRead.js:13:21:13:35 | readable.read() | readStreamRead.js:13:13:13:17 | chunk | provenance | |
| request.js:6:19:6:26 | jsonData | request.js:8:12:8:19 | jsonData | provenance | |
| request.js:8:12:8:19 | jsonData | request.js:8:11:8:20 | {jsonData} | provenance | |
| request.js:13:18:13:24 | xmlData | request.js:22:11:22:17 | xmlData | provenance | |
@@ -73,14 +73,14 @@ edges
| request.js:43:51:43:54 | data | request.js:50:13:50:16 | data | provenance | |
| request.js:50:13:50:16 | data | request.js:13:18:13:24 | xmlData | provenance | |
| sentAsHeaders.js:10:79:10:84 | buffer | sentAsHeaders.js:11:23:11:28 | buffer | provenance | |
| sentAsHeaders.js:11:13:11:59 | content | sentAsHeaders.js:12:19:12:25 | content | provenance | |
| sentAsHeaders.js:11:13:11:19 | content | sentAsHeaders.js:12:19:12:25 | content | provenance | |
| sentAsHeaders.js:11:23:11:28 | buffer | sentAsHeaders.js:11:23:11:59 | buffer. ... esRead) | provenance | |
| sentAsHeaders.js:11:23:11:59 | buffer. ... esRead) | sentAsHeaders.js:11:13:11:59 | content | provenance | |
| sentAsHeaders.js:12:9:12:81 | content | sentAsHeaders.js:18:47:18:53 | content | provenance | |
| sentAsHeaders.js:12:9:12:81 | content | sentAsHeaders.js:24:47:24:53 | content | provenance | |
| sentAsHeaders.js:11:23:11:59 | buffer. ... esRead) | sentAsHeaders.js:11:13:11:19 | content | provenance | |
| sentAsHeaders.js:12:9:12:15 | content | sentAsHeaders.js:18:47:18:53 | content | provenance | |
| sentAsHeaders.js:12:9:12:15 | content | sentAsHeaders.js:24:47:24:53 | content | provenance | |
| sentAsHeaders.js:12:19:12:25 | content | sentAsHeaders.js:12:19:12:74 | content ... =", "") | provenance | |
| sentAsHeaders.js:12:19:12:74 | content ... =", "") | sentAsHeaders.js:12:19:12:81 | content ... .trim() | provenance | |
| sentAsHeaders.js:12:19:12:81 | content ... .trim() | sentAsHeaders.js:12:9:12:81 | content | provenance | |
| sentAsHeaders.js:12:19:12:81 | content ... .trim() | sentAsHeaders.js:12:9:12:15 | content | provenance | |
| sentAsHeaders.js:18:20:18:55 | { Refer ... ntent } [Referer] | sentAsHeaders.js:14:20:19:9 | {\\n ... } | provenance | |
| sentAsHeaders.js:18:31:18:53 | "http:/ ... content | sentAsHeaders.js:18:20:18:55 | { Refer ... ntent } [Referer] | provenance | |
| sentAsHeaders.js:18:47:18:53 | content | sentAsHeaders.js:18:31:18:53 | "http:/ ... content | provenance | |
@@ -88,22 +88,22 @@ edges
| sentAsHeaders.js:24:31:24:53 | "http:/ ... content | sentAsHeaders.js:24:20:24:55 | { Refer ... ntent } [Referer] | provenance | |
| sentAsHeaders.js:24:47:24:53 | content | sentAsHeaders.js:24:31:24:53 | "http:/ ... content | provenance | |
nodes
| FileAccessToHttp.js:4:5:4:47 | content | semmle.label | content |
| FileAccessToHttp.js:4:5:4:11 | content | semmle.label | content |
| FileAccessToHttp.js:4:15:4:47 | fs.read ... "utf8") | semmle.label | fs.read ... "utf8") |
| FileAccessToHttp.js:5:11:10:1 | {\\n hos ... ent }\\n} | semmle.label | {\\n hos ... ent }\\n} |
| FileAccessToHttp.js:9:12:9:31 | { Referer: content } [Referer] | semmle.label | { Referer: content } [Referer] |
| FileAccessToHttp.js:9:23:9:29 | content | semmle.label | content |
| FileAccessToHttp.js:16:11:16:56 | content | semmle.label | content |
| FileAccessToHttp.js:16:11:16:17 | content | semmle.label | content |
| FileAccessToHttp.js:16:21:16:56 | await f ... "utf8") | semmle.label | await f ... "utf8") |
| FileAccessToHttp.js:18:15:23:5 | {\\n ... }\\n } | semmle.label | {\\n ... }\\n } |
| FileAccessToHttp.js:22:16:22:35 | { Referer: content } [Referer] | semmle.label | { Referer: content } [Referer] |
| FileAccessToHttp.js:22:27:22:33 | content | semmle.label | content |
| FileAccessToHttp.js:34:9:34:57 | buffer | semmle.label | buffer |
| FileAccessToHttp.js:34:9:34:14 | buffer | semmle.label | buffer |
| FileAccessToHttp.js:34:18:34:57 | [Buffer ... (1024)] | semmle.label | [Buffer ... (1024)] |
| FileAccessToHttp.js:36:13:41:3 | {\\n h ... r }\\n } | semmle.label | {\\n h ... r }\\n } |
| FileAccessToHttp.js:40:14:40:32 | { Referer: buffer } [Referer] | semmle.label | { Referer: buffer } [Referer] |
| FileAccessToHttp.js:40:25:40:30 | buffer | semmle.label | buffer |
| FileAccessToHttp.js:43:9:43:36 | buffer1 | semmle.label | buffer1 |
| FileAccessToHttp.js:43:9:43:15 | buffer1 | semmle.label | buffer1 |
| FileAccessToHttp.js:43:19:43:36 | Buffer.alloc(1024) | semmle.label | Buffer.alloc(1024) |
| FileAccessToHttp.js:45:13:50:3 | {\\n h ... ) }\\n } | semmle.label | {\\n h ... ) }\\n } |
| FileAccessToHttp.js:49:14:49:65 | { Refer ... ing() } [Referer] | semmle.label | { Refer ... ing() } [Referer] |
@@ -111,7 +111,7 @@ nodes
| FileAccessToHttp.js:49:25:49:52 | buffer1 ... sRead1) | semmle.label | buffer1 ... sRead1) |
| FileAccessToHttp.js:49:25:49:52 | buffer1 ... sRead1) [ArrayElement] | semmle.label | buffer1 ... sRead1) [ArrayElement] |
| FileAccessToHttp.js:49:25:49:63 | buffer1 ... tring() | semmle.label | buffer1 ... tring() |
| FileAccessToHttp.js:52:9:52:36 | buffer2 | semmle.label | buffer2 |
| FileAccessToHttp.js:52:9:52:15 | buffer2 | semmle.label | buffer2 |
| FileAccessToHttp.js:52:19:52:36 | Buffer.alloc(1024) | semmle.label | Buffer.alloc(1024) |
| FileAccessToHttp.js:53:17:53:23 | buffer2 | semmle.label | buffer2 |
| FileAccessToHttp.js:54:15:59:5 | {\\n ... }\\n } | semmle.label | {\\n ... }\\n } |
@@ -120,29 +120,29 @@ nodes
| FileAccessToHttp.js:58:27:58:54 | buffer2 ... sRead2) | semmle.label | buffer2 ... sRead2) |
| FileAccessToHttp.js:58:27:58:54 | buffer2 ... sRead2) [ArrayElement] | semmle.label | buffer2 ... sRead2) [ArrayElement] |
| FileAccessToHttp.js:58:27:58:65 | buffer2 ... tring() | semmle.label | buffer2 ... tring() |
| bufferRead.js:12:13:12:43 | buffer | semmle.label | buffer |
| bufferRead.js:12:13:12:18 | buffer | semmle.label | buffer |
| bufferRead.js:12:22:12:43 | new Buf ... s.size) | semmle.label | new Buf ... s.size) |
| bufferRead.js:13:21:13:26 | buffer | semmle.label | buffer |
| bufferRead.js:13:32:13:37 | buffer | semmle.label | buffer |
| bufferRead.js:15:15:15:62 | postData | semmle.label | postData |
| bufferRead.js:15:15:15:22 | postData | semmle.label | postData |
| bufferRead.js:15:26:15:31 | buffer | semmle.label | buffer |
| bufferRead.js:15:26:15:62 | buffer. ... esRead) | semmle.label | buffer. ... esRead) |
| bufferRead.js:32:21:32:28 | postData | semmle.label | postData |
| googlecompiler.js:7:19:7:28 | codestring | semmle.label | codestring |
| googlecompiler.js:9:7:15:4 | post_data | semmle.label | post_data |
| googlecompiler.js:9:7:9:15 | post_data | semmle.label | post_data |
| googlecompiler.js:9:19:15:4 | queryst ... dy\\n }) | semmle.label | queryst ... dy\\n }) |
| googlecompiler.js:9:41:15:3 | {\\n ... ody\\n } [js_code] | semmle.label | {\\n ... ody\\n } [js_code] |
| googlecompiler.js:14:21:14:30 | codestring | semmle.label | codestring |
| googlecompiler.js:37:18:37:26 | post_data | semmle.label | post_data |
| googlecompiler.js:43:54:43:57 | data | semmle.label | data |
| googlecompiler.js:55:14:55:17 | data | semmle.label | data |
| readFileSync.js:5:5:5:39 | data | semmle.label | data |
| readFileSync.js:5:5:5:8 | data | semmle.label | data |
| readFileSync.js:5:12:5:39 | fs.read ... t.txt") | semmle.label | fs.read ... t.txt") |
| readFileSync.js:7:7:7:25 | s | semmle.label | s |
| readFileSync.js:7:7:7:7 | s | semmle.label | s |
| readFileSync.js:7:11:7:14 | data | semmle.label | data |
| readFileSync.js:7:11:7:25 | data.toString() | semmle.label | data.toString() |
| readFileSync.js:25:18:25:18 | s | semmle.label | s |
| readStreamRead.js:13:13:13:35 | chunk | semmle.label | chunk |
| readStreamRead.js:13:13:13:17 | chunk | semmle.label | chunk |
| readStreamRead.js:13:21:13:35 | readable.read() | semmle.label | readable.read() |
| readStreamRead.js:29:19:29:23 | chunk | semmle.label | chunk |
| request.js:6:19:6:26 | jsonData | semmle.label | jsonData |
@@ -156,10 +156,10 @@ nodes
| request.js:43:51:43:54 | data | semmle.label | data |
| request.js:50:13:50:16 | data | semmle.label | data |
| sentAsHeaders.js:10:79:10:84 | buffer | semmle.label | buffer |
| sentAsHeaders.js:11:13:11:59 | content | semmle.label | content |
| sentAsHeaders.js:11:13:11:19 | content | semmle.label | content |
| sentAsHeaders.js:11:23:11:28 | buffer | semmle.label | buffer |
| sentAsHeaders.js:11:23:11:59 | buffer. ... esRead) | semmle.label | buffer. ... esRead) |
| sentAsHeaders.js:12:9:12:81 | content | semmle.label | content |
| sentAsHeaders.js:12:9:12:15 | content | semmle.label | content |
| sentAsHeaders.js:12:19:12:25 | content | semmle.label | content |
| sentAsHeaders.js:12:19:12:74 | content ... =", "") | semmle.label | content ... =", "") |
| sentAsHeaders.js:12:19:12:81 | content ... .trim() | semmle.label | content ... .trim() |

View File

@@ -1,14 +1,14 @@
edges
| build-leaks.js:5:20:5:46 | JSON.st ... ss.env) | build-leaks.js:4:39:6:1 | {\\n " ... leak]\\n} | provenance | |
| build-leaks.js:5:35:5:45 | process.env | build-leaks.js:5:20:5:46 | JSON.st ... ss.env) | provenance | |
| build-leaks.js:13:11:19:10 | raw | build-leaks.js:22:36:22:38 | raw | provenance | |
| build-leaks.js:13:17:19:10 | Object. ... }) | build-leaks.js:13:11:19:10 | raw | provenance | |
| build-leaks.js:13:11:13:13 | raw | build-leaks.js:22:36:22:38 | raw | provenance | |
| build-leaks.js:13:17:19:10 | Object. ... }) | build-leaks.js:13:11:13:13 | raw | provenance | |
| build-leaks.js:15:13:15:15 | [post update] env | build-leaks.js:16:20:16:22 | env | provenance | |
| build-leaks.js:15:24:15:34 | process.env | build-leaks.js:15:13:15:15 | [post update] env | provenance | Config |
| build-leaks.js:16:20:16:22 | env | build-leaks.js:13:17:19:10 | Object. ... }) | provenance | |
| build-leaks.js:16:20:16:22 | env | build-leaks.js:22:49:22:51 | env | provenance | |
| build-leaks.js:21:11:26:5 | stringifed [process.env] | build-leaks.js:30:22:30:31 | stringifed [process.env] | provenance | |
| build-leaks.js:21:24:26:5 | {\\n ... )\\n } [process.env] | build-leaks.js:21:11:26:5 | stringifed [process.env] | provenance | |
| build-leaks.js:21:11:21:20 | stringifed [process.env] | build-leaks.js:30:22:30:31 | stringifed [process.env] | provenance | |
| build-leaks.js:21:24:26:5 | {\\n ... )\\n } [process.env] | build-leaks.js:21:11:21:20 | stringifed [process.env] | provenance | |
| build-leaks.js:22:24:25:14 | Object. ... }, {}) | build-leaks.js:21:24:26:5 | {\\n ... )\\n } [process.env] | provenance | |
| build-leaks.js:22:36:22:38 | raw | build-leaks.js:22:24:25:14 | Object. ... }, {}) | provenance | Config |
| build-leaks.js:22:36:22:38 | raw | build-leaks.js:22:49:22:51 | env | provenance | Config |
@@ -19,20 +19,20 @@ edges
| build-leaks.js:28:12:31:5 | {\\n ... d\\n } [stringified, process.env] | build-leaks.js:34:26:34:45 | getEnv('production') [stringified, process.env] | provenance | |
| build-leaks.js:30:22:30:31 | stringifed [process.env] | build-leaks.js:28:12:31:5 | {\\n ... d\\n } [stringified, process.env] | provenance | |
| build-leaks.js:34:26:34:45 | getEnv('production') [stringified, process.env] | build-leaks.js:34:26:34:57 | getEnv( ... ngified | provenance | |
| build-leaks.js:40:9:40:60 | pw | build-leaks.js:41:82:41:83 | pw | provenance | |
| build-leaks.js:40:14:40:60 | url.par ... assword | build-leaks.js:40:9:40:60 | pw | provenance | |
| build-leaks.js:40:9:40:10 | pw | build-leaks.js:41:82:41:83 | pw | provenance | |
| build-leaks.js:40:14:40:60 | url.par ... assword | build-leaks.js:40:9:40:10 | pw | provenance | |
| build-leaks.js:41:67:41:84 | JSON.stringify(pw) | build-leaks.js:41:43:41:86 | { "proc ... y(pw) } | provenance | |
| build-leaks.js:41:82:41:83 | pw | build-leaks.js:41:67:41:84 | JSON.stringify(pw) | provenance | |
nodes
| build-leaks.js:4:39:6:1 | {\\n " ... leak]\\n} | semmle.label | {\\n " ... leak]\\n} |
| build-leaks.js:5:20:5:46 | JSON.st ... ss.env) | semmle.label | JSON.st ... ss.env) |
| build-leaks.js:5:35:5:45 | process.env | semmle.label | process.env |
| build-leaks.js:13:11:19:10 | raw | semmle.label | raw |
| build-leaks.js:13:11:13:13 | raw | semmle.label | raw |
| build-leaks.js:13:17:19:10 | Object. ... }) | semmle.label | Object. ... }) |
| build-leaks.js:15:13:15:15 | [post update] env | semmle.label | [post update] env |
| build-leaks.js:15:24:15:34 | process.env | semmle.label | process.env |
| build-leaks.js:16:20:16:22 | env | semmle.label | env |
| build-leaks.js:21:11:26:5 | stringifed [process.env] | semmle.label | stringifed [process.env] |
| build-leaks.js:21:11:21:20 | stringifed [process.env] | semmle.label | stringifed [process.env] |
| build-leaks.js:21:24:26:5 | {\\n ... )\\n } [process.env] | semmle.label | {\\n ... )\\n } [process.env] |
| build-leaks.js:22:24:25:14 | Object. ... }, {}) | semmle.label | Object. ... }, {}) |
| build-leaks.js:22:36:22:38 | raw | semmle.label | raw |
@@ -45,7 +45,7 @@ nodes
| build-leaks.js:30:22:30:31 | stringifed [process.env] | semmle.label | stringifed [process.env] |
| build-leaks.js:34:26:34:45 | getEnv('production') [stringified, process.env] | semmle.label | getEnv('production') [stringified, process.env] |
| build-leaks.js:34:26:34:57 | getEnv( ... ngified | semmle.label | getEnv( ... ngified |
| build-leaks.js:40:9:40:60 | pw | semmle.label | pw |
| build-leaks.js:40:9:40:10 | pw | semmle.label | pw |
| build-leaks.js:40:14:40:60 | url.par ... assword | semmle.label | url.par ... assword |
| build-leaks.js:41:43:41:86 | { "proc ... y(pw) } | semmle.label | { "proc ... y(pw) } |
| build-leaks.js:41:67:41:84 | JSON.stringify(pw) | semmle.label | JSON.stringify(pw) |

View File

@@ -46,18 +46,18 @@ edges
| passwords.js:10:11:10:18 | password | passwords.js:7:20:7:20 | x | provenance | |
| passwords.js:14:31:14:38 | password | passwords.js:14:17:14:38 | name + ... assword | provenance | |
| passwords.js:16:29:16:36 | password | passwords.js:16:17:16:38 | `${name ... sword}` | provenance | |
| passwords.js:18:9:20:5 | obj1 [password] | passwords.js:21:17:21:20 | obj1 | provenance | |
| passwords.js:18:16:20:5 | {\\n ... ]\\n } [password] | passwords.js:18:9:20:5 | obj1 [password] | provenance | |
| passwords.js:18:9:18:12 | obj1 [password] | passwords.js:21:17:21:20 | obj1 | provenance | |
| passwords.js:18:16:20:5 | {\\n ... ]\\n } [password] | passwords.js:18:9:18:12 | obj1 [password] | provenance | |
| passwords.js:19:19:19:19 | x | passwords.js:18:16:20:5 | {\\n ... ]\\n } [password] | provenance | |
| passwords.js:23:9:25:5 | obj2 [x] | passwords.js:26:17:26:20 | obj2 | provenance | |
| passwords.js:23:16:25:5 | {\\n ... ]\\n } [x] | passwords.js:23:9:25:5 | obj2 [x] | provenance | |
| passwords.js:23:9:23:12 | obj2 [x] | passwords.js:26:17:26:20 | obj2 | provenance | |
| passwords.js:23:16:25:5 | {\\n ... ]\\n } [x] | passwords.js:23:9:23:12 | obj2 [x] | provenance | |
| passwords.js:24:12:24:19 | password | passwords.js:23:16:25:5 | {\\n ... ]\\n } [x] | provenance | |
| passwords.js:77:9:77:55 | temp [encryptedPassword] | passwords.js:78:17:78:20 | temp [encryptedPassword] | provenance | |
| passwords.js:77:16:77:55 | { encry ... sword } [encryptedPassword] | passwords.js:77:9:77:55 | temp [encryptedPassword] | provenance | |
| passwords.js:77:9:77:12 | temp [encryptedPassword] | passwords.js:78:17:78:20 | temp [encryptedPassword] | provenance | |
| passwords.js:77:16:77:55 | { encry ... sword } [encryptedPassword] | passwords.js:77:9:77:12 | temp [encryptedPassword] | provenance | |
| passwords.js:77:37:77:53 | req.body.password | passwords.js:77:16:77:55 | { encry ... sword } [encryptedPassword] | provenance | |
| passwords.js:78:17:78:20 | temp [encryptedPassword] | passwords.js:78:17:78:38 | temp.en ... assword | provenance | |
| passwords.js:80:9:80:25 | secret | passwords.js:81:24:81:29 | secret | provenance | |
| passwords.js:80:18:80:25 | password | passwords.js:80:9:80:25 | secret | provenance | |
| passwords.js:80:9:80:14 | secret | passwords.js:81:24:81:29 | secret | provenance | |
| passwords.js:80:18:80:25 | password | passwords.js:80:9:80:14 | secret | provenance | |
| passwords.js:81:24:81:29 | secret | passwords.js:81:17:81:31 | `pw: ${secret}` | provenance | |
| passwords.js:93:39:93:46 | password | passwords.js:93:21:93:46 | "Passwo ... assword | provenance | |
| passwords.js:98:39:98:46 | password | passwords.js:98:21:98:46 | "Passwo ... assword | provenance | |
@@ -69,14 +69,14 @@ edges
| passwords.js:122:31:122:49 | password.toString() | passwords.js:122:17:122:49 | name + ... tring() | provenance | |
| passwords.js:123:31:123:38 | password | passwords.js:123:31:123:48 | password.valueOf() | provenance | |
| passwords.js:123:31:123:48 | password.valueOf() | passwords.js:123:17:123:48 | name + ... lueOf() | provenance | |
| passwords.js:127:9:132:5 | config [password] | passwords.js:135:17:135:22 | config | provenance | |
| passwords.js:127:9:132:5 | config [x] | passwords.js:135:17:135:22 | config | provenance | |
| passwords.js:127:9:132:5 | config [x] | passwords.js:136:17:136:22 | config [x] | provenance | |
| passwords.js:127:9:132:5 | config [y] | passwords.js:135:17:135:22 | config | provenance | |
| passwords.js:127:9:132:5 | config [y] | passwords.js:137:17:137:22 | config [y] | provenance | |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [password] | passwords.js:127:9:132:5 | config [password] | provenance | |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [x] | passwords.js:127:9:132:5 | config [x] | provenance | |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [y] | passwords.js:127:9:132:5 | config [y] | provenance | |
| passwords.js:127:9:127:14 | config [password] | passwords.js:135:17:135:22 | config | provenance | |
| passwords.js:127:9:127:14 | config [x] | passwords.js:135:17:135:22 | config | provenance | |
| passwords.js:127:9:127:14 | config [x] | passwords.js:136:17:136:22 | config [x] | provenance | |
| passwords.js:127:9:127:14 | config [y] | passwords.js:135:17:135:22 | config | provenance | |
| passwords.js:127:9:127:14 | config [y] | passwords.js:137:17:137:22 | config [y] | provenance | |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [password] | passwords.js:127:9:127:14 | config [password] | provenance | |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [x] | passwords.js:127:9:127:14 | config [x] | provenance | |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [y] | passwords.js:127:9:127:14 | config [y] | provenance | |
| passwords.js:128:19:128:19 | x | passwords.js:127:18:132:5 | {\\n ... ]\\n } [password] | provenance | |
| passwords.js:130:12:130:19 | password | passwords.js:127:18:132:5 | {\\n ... ]\\n } [x] | provenance | |
| passwords.js:131:12:131:24 | getPassword() | passwords.js:127:18:132:5 | {\\n ... ]\\n } [y] | provenance | |
@@ -90,8 +90,8 @@ edges
| passwords.js:142:26:142:34 | arguments [0] | passwords.js:142:26:142:34 | [apply call taint node] | provenance | |
| passwords.js:142:26:142:34 | arguments [ArrayElement] | passwords.js:142:26:142:34 | [apply call taint node] | provenance | |
| passwords.js:142:26:142:34 | arguments [ArrayElement] | passwords.js:142:26:142:34 | [apply call taint node] | provenance | |
| passwords.js:146:9:148:5 | config [x] | passwords.js:149:21:149:26 | config [x] | provenance | |
| passwords.js:146:18:148:5 | {\\n ... ]\\n } [x] | passwords.js:146:9:148:5 | config [x] | provenance | |
| passwords.js:146:9:146:14 | config [x] | passwords.js:149:21:149:26 | config [x] | provenance | |
| passwords.js:146:18:148:5 | {\\n ... ]\\n } [x] | passwords.js:146:9:146:14 | config [x] | provenance | |
| passwords.js:147:12:147:19 | password | passwords.js:146:18:148:5 | {\\n ... ]\\n } [x] | provenance | |
| passwords.js:149:21:149:26 | config [x] | passwords.js:149:21:149:28 | config.x | provenance | |
| passwords.js:149:21:149:28 | config.x | passwords.js:142:26:142:34 | arguments | provenance | |
@@ -102,9 +102,9 @@ edges
| passwords.js:150:21:150:31 | process.env | passwords.js:142:26:142:34 | arguments | provenance | Config |
| passwords.js:150:21:150:31 | process.env | passwords.js:142:26:142:34 | arguments | provenance | Config |
| passwords.js:150:21:150:31 | process.env | passwords.js:142:26:142:34 | arguments [0] | provenance | |
| passwords.js:152:9:152:63 | procdesc | passwords.js:154:21:154:28 | procdesc | provenance | |
| passwords.js:152:9:152:16 | procdesc | passwords.js:154:21:154:28 | procdesc | provenance | |
| passwords.js:152:20:152:44 | Util.in ... ss.env) | passwords.js:152:20:152:63 | Util.in ... /g, '') | provenance | |
| passwords.js:152:20:152:63 | Util.in ... /g, '') | passwords.js:152:9:152:63 | procdesc | provenance | |
| passwords.js:152:20:152:63 | Util.in ... /g, '') | passwords.js:152:9:152:16 | procdesc | provenance | |
| passwords.js:152:33:152:43 | process.env | passwords.js:152:20:152:44 | Util.in ... ss.env) | provenance | |
| passwords.js:154:21:154:28 | procdesc | passwords.js:142:26:142:34 | arguments | provenance | |
| passwords.js:154:21:154:28 | procdesc | passwords.js:142:26:142:34 | arguments | provenance | Config |
@@ -131,20 +131,20 @@ nodes
| passwords.js:14:31:14:38 | password | semmle.label | password |
| passwords.js:16:17:16:38 | `${name ... sword}` | semmle.label | `${name ... sword}` |
| passwords.js:16:29:16:36 | password | semmle.label | password |
| passwords.js:18:9:20:5 | obj1 [password] | semmle.label | obj1 [password] |
| passwords.js:18:9:18:12 | obj1 [password] | semmle.label | obj1 [password] |
| passwords.js:18:16:20:5 | {\\n ... ]\\n } [password] | semmle.label | {\\n ... ]\\n } [password] |
| passwords.js:19:19:19:19 | x | semmle.label | x |
| passwords.js:21:17:21:20 | obj1 | semmle.label | obj1 |
| passwords.js:23:9:25:5 | obj2 [x] | semmle.label | obj2 [x] |
| passwords.js:23:9:23:12 | obj2 [x] | semmle.label | obj2 [x] |
| passwords.js:23:16:25:5 | {\\n ... ]\\n } [x] | semmle.label | {\\n ... ]\\n } [x] |
| passwords.js:24:12:24:19 | password | semmle.label | password |
| passwords.js:26:17:26:20 | obj2 | semmle.label | obj2 |
| passwords.js:77:9:77:55 | temp [encryptedPassword] | semmle.label | temp [encryptedPassword] |
| passwords.js:77:9:77:12 | temp [encryptedPassword] | semmle.label | temp [encryptedPassword] |
| passwords.js:77:16:77:55 | { encry ... sword } [encryptedPassword] | semmle.label | { encry ... sword } [encryptedPassword] |
| passwords.js:77:37:77:53 | req.body.password | semmle.label | req.body.password |
| passwords.js:78:17:78:20 | temp [encryptedPassword] | semmle.label | temp [encryptedPassword] |
| passwords.js:78:17:78:38 | temp.en ... assword | semmle.label | temp.en ... assword |
| passwords.js:80:9:80:25 | secret | semmle.label | secret |
| passwords.js:80:9:80:14 | secret | semmle.label | secret |
| passwords.js:80:18:80:25 | password | semmle.label | password |
| passwords.js:81:17:81:31 | `pw: ${secret}` | semmle.label | `pw: ${secret}` |
| passwords.js:81:24:81:29 | secret | semmle.label | secret |
@@ -166,9 +166,9 @@ nodes
| passwords.js:123:17:123:48 | name + ... lueOf() | semmle.label | name + ... lueOf() |
| passwords.js:123:31:123:38 | password | semmle.label | password |
| passwords.js:123:31:123:48 | password.valueOf() | semmle.label | password.valueOf() |
| passwords.js:127:9:132:5 | config [password] | semmle.label | config [password] |
| passwords.js:127:9:132:5 | config [x] | semmle.label | config [x] |
| passwords.js:127:9:132:5 | config [y] | semmle.label | config [y] |
| passwords.js:127:9:127:14 | config [password] | semmle.label | config [password] |
| passwords.js:127:9:127:14 | config [x] | semmle.label | config [x] |
| passwords.js:127:9:127:14 | config [y] | semmle.label | config [y] |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [password] | semmle.label | {\\n ... ]\\n } [password] |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [x] | semmle.label | {\\n ... ]\\n } [x] |
| passwords.js:127:18:132:5 | {\\n ... ]\\n } [y] | semmle.label | {\\n ... ]\\n } [y] |
@@ -187,13 +187,13 @@ nodes
| passwords.js:142:26:142:34 | arguments [0] | semmle.label | arguments [0] |
| passwords.js:142:26:142:34 | arguments [ArrayElement] | semmle.label | arguments [ArrayElement] |
| passwords.js:142:26:142:34 | arguments [ArrayElement] | semmle.label | arguments [ArrayElement] |
| passwords.js:146:9:148:5 | config [x] | semmle.label | config [x] |
| passwords.js:146:9:146:14 | config [x] | semmle.label | config [x] |
| passwords.js:146:18:148:5 | {\\n ... ]\\n } [x] | semmle.label | {\\n ... ]\\n } [x] |
| passwords.js:147:12:147:19 | password | semmle.label | password |
| passwords.js:149:21:149:26 | config [x] | semmle.label | config [x] |
| passwords.js:149:21:149:28 | config.x | semmle.label | config.x |
| passwords.js:150:21:150:31 | process.env | semmle.label | process.env |
| passwords.js:152:9:152:63 | procdesc | semmle.label | procdesc |
| passwords.js:152:9:152:16 | procdesc | semmle.label | procdesc |
| passwords.js:152:20:152:44 | Util.in ... ss.env) | semmle.label | Util.in ... ss.env) |
| passwords.js:152:20:152:63 | Util.in ... /g, '') | semmle.label | Util.in ... /g, '') |
| passwords.js:152:33:152:43 | process.env | semmle.label | process.env |

View File

@@ -10,17 +10,17 @@
| tst-webstorage.js:3:20:3:32 | data.password | tst-webstorage.js:3:20:3:32 | data.password | tst-webstorage.js:3:20:3:32 | data.password | This stores sensitive data returned by $@ as clear text. | tst-webstorage.js:3:20:3:32 | data.password | an access to password |
| tst-webstorage.js:4:29:4:41 | data.password | tst-webstorage.js:4:29:4:41 | data.password | tst-webstorage.js:4:29:4:41 | data.password | This stores sensitive data returned by $@ as clear text. | tst-webstorage.js:4:29:4:41 | data.password | an access to password |
edges
| CleartextStorage2.js:5:7:5:58 | pw | CleartextStorage2.js:7:33:7:34 | pw | provenance | |
| CleartextStorage2.js:5:12:5:58 | url.par ... assword | CleartextStorage2.js:5:7:5:58 | pw | provenance | |
| CleartextStorage2.js:5:7:5:8 | pw | CleartextStorage2.js:7:33:7:34 | pw | provenance | |
| CleartextStorage2.js:5:12:5:58 | url.par ... assword | CleartextStorage2.js:5:7:5:8 | pw | provenance | |
| CleartextStorage2.js:7:33:7:34 | pw | CleartextStorage2.js:7:19:7:34 | 'password=' + pw | provenance | |
| CleartextStorage.js:5:7:5:40 | pw | CleartextStorage.js:6:26:6:27 | pw | provenance | |
| CleartextStorage.js:5:12:5:40 | req.par ... sword") | CleartextStorage.js:5:7:5:40 | pw | provenance | |
| CleartextStorage.js:5:7:5:8 | pw | CleartextStorage.js:6:26:6:27 | pw | provenance | |
| CleartextStorage.js:5:12:5:40 | req.par ... sword") | CleartextStorage.js:5:7:5:8 | pw | provenance | |
nodes
| CleartextStorage2.js:5:7:5:58 | pw | semmle.label | pw |
| CleartextStorage2.js:5:7:5:8 | pw | semmle.label | pw |
| CleartextStorage2.js:5:12:5:58 | url.par ... assword | semmle.label | url.par ... assword |
| CleartextStorage2.js:7:19:7:34 | 'password=' + pw | semmle.label | 'password=' + pw |
| CleartextStorage2.js:7:33:7:34 | pw | semmle.label | pw |
| CleartextStorage.js:5:7:5:40 | pw | semmle.label | pw |
| CleartextStorage.js:5:7:5:8 | pw | semmle.label | pw |
| CleartextStorage.js:5:12:5:40 | req.par ... sword") | semmle.label | req.par ... sword") |
| CleartextStorage.js:6:26:6:27 | pw | semmle.label | pw |
| tst-angularjs.js:3:32:3:45 | data1.password | semmle.label | data1.password |

View File

@@ -5,11 +5,11 @@
| tst.js:22:21:22:30 | secretText | tst.js:3:18:3:24 | trusted | tst.js:22:21:22:30 | secretText | $@ depends on $@. | tst.js:21:22:21:60 | crypto. ... ', key) | A broken or weak cryptographic algorithm | tst.js:3:18:3:24 | trusted | sensitive data from an access to trusted |
| tst.js:22:21:22:30 | secretText | tst.js:22:21:22:30 | secretText | tst.js:22:21:22:30 | secretText | $@ depends on $@. | tst.js:21:22:21:60 | crypto. ... ', key) | A broken or weak cryptographic algorithm | tst.js:22:21:22:30 | secretText | sensitive data from an access to secretText |
edges
| tst.js:3:5:3:24 | secretText | tst.js:11:17:11:26 | secretText | provenance | |
| tst.js:3:5:3:24 | secretText | tst.js:22:21:22:30 | secretText | provenance | |
| tst.js:3:18:3:24 | trusted | tst.js:3:5:3:24 | secretText | provenance | |
| tst.js:3:5:3:14 | secretText | tst.js:11:17:11:26 | secretText | provenance | |
| tst.js:3:5:3:14 | secretText | tst.js:22:21:22:30 | secretText | provenance | |
| tst.js:3:18:3:24 | trusted | tst.js:3:5:3:14 | secretText | provenance | |
nodes
| tst.js:3:5:3:24 | secretText | semmle.label | secretText |
| tst.js:3:5:3:14 | secretText | semmle.label | secretText |
| tst.js:3:18:3:24 | trusted | semmle.label | trusted |
| tst.js:11:17:11:26 | secretText | semmle.label | secretText |
| tst.js:17:17:17:25 | o.trusted | semmle.label | o.trusted |

View File

@@ -21,24 +21,24 @@
| tst.js:118:23:118:63 | Math.fl ... 00_000) | tst.js:118:34:118:46 | Math.random() | tst.js:118:23:118:63 | Math.fl ... 00_000) | This uses a cryptographically insecure random number generated at $@ in a security context. | tst.js:118:34:118:46 | Math.random() | Math.random() |
| tst.js:120:16:120:28 | Math.random() | tst.js:120:16:120:28 | Math.random() | tst.js:120:16:120:28 | Math.random() | This uses a cryptographically insecure random number generated at $@ in a security context. | tst.js:120:16:120:28 | Math.random() | Math.random() |
| tst.js:121:18:121:30 | Math.random() | tst.js:121:18:121:30 | Math.random() | tst.js:121:18:121:30 | Math.random() | This uses a cryptographically insecure random number generated at $@ in a security context. | tst.js:121:18:121:30 | Math.random() | Math.random() |
| tst.js:136:9:136:67 | password | tst.js:136:38:136:50 | Math.random() | tst.js:136:9:136:67 | password | This uses a cryptographically insecure random number generated at $@ in a security context. | tst.js:136:38:136:50 | Math.random() | Math.random() |
| tst.js:136:9:136:16 | password | tst.js:136:38:136:50 | Math.random() | tst.js:136:9:136:16 | password | This uses a cryptographically insecure random number generated at $@ in a security context. | tst.js:136:38:136:50 | Math.random() | Math.random() |
edges
| tst.js:6:31:6:43 | Math.random() | tst.js:6:20:6:43 | "prefix ... andom() | provenance | Config |
| tst.js:19:9:19:36 | suffix | tst.js:20:31:20:36 | suffix | provenance | |
| tst.js:19:9:19:14 | suffix | tst.js:20:31:20:36 | suffix | provenance | |
| tst.js:19:18:19:30 | Math.random() | tst.js:19:18:19:36 | Math.random() % 255 | provenance | Config |
| tst.js:19:18:19:36 | Math.random() % 255 | tst.js:19:9:19:36 | suffix | provenance | |
| tst.js:19:18:19:36 | Math.random() % 255 | tst.js:19:9:19:14 | suffix | provenance | |
| tst.js:20:31:20:36 | suffix | tst.js:20:20:20:36 | "prefix" + suffix | provenance | Config |
| tst.js:28:9:28:26 | pw | tst.js:29:20:29:21 | pw | provenance | |
| tst.js:28:14:28:26 | Math.random() | tst.js:28:9:28:26 | pw | provenance | |
| tst.js:28:9:28:10 | pw | tst.js:29:20:29:21 | pw | provenance | |
| tst.js:28:14:28:26 | Math.random() | tst.js:28:9:28:10 | pw | provenance | |
| tst.js:41:21:41:33 | Math.random() | tst.js:41:20:41:33 | !Math.random() | provenance | Config |
| tst.js:61:22:61:34 | Math.random() | tst.js:61:17:61:34 | '' + Math.random() | provenance | Config |
| tst.js:66:29:66:41 | Math.random() | tst.js:66:18:66:42 | Math.fl ... ndom()) | provenance | Config |
| tst.js:71:9:71:48 | rand | tst.js:72:34:72:37 | rand | provenance | |
| tst.js:71:16:71:48 | Math.fl ... 999999) | tst.js:71:9:71:48 | rand | provenance | |
| tst.js:71:9:71:12 | rand | tst.js:72:34:72:37 | rand | provenance | |
| tst.js:71:16:71:48 | Math.fl ... 999999) | tst.js:71:9:71:12 | rand | provenance | |
| tst.js:71:27:71:39 | Math.random() | tst.js:71:27:71:47 | Math.ra ... 9999999 | provenance | Config |
| tst.js:71:27:71:47 | Math.ra ... 9999999 | tst.js:71:16:71:48 | Math.fl ... 999999) | provenance | Config |
| tst.js:72:9:72:48 | concat | tst.js:73:23:73:28 | concat | provenance | |
| tst.js:72:18:72:48 | ts.toSt ... tring() | tst.js:72:9:72:48 | concat | provenance | |
| tst.js:72:9:72:14 | concat | tst.js:73:23:73:28 | concat | provenance | |
| tst.js:72:18:72:48 | ts.toSt ... tring() | tst.js:72:9:72:14 | concat | provenance | |
| tst.js:72:34:72:37 | rand | tst.js:72:34:72:48 | rand.toString() | provenance | Config |
| tst.js:72:34:72:48 | rand.toString() | tst.js:72:18:72:48 | ts.toSt ... tring() | provenance | Config |
| tst.js:77:16:77:21 | secret | tst.js:77:16:77:21 | secret | provenance | |
@@ -51,7 +51,7 @@ edges
| tst.js:117:26:117:54 | Math.ra ... 000_000 | tst.js:117:15:117:55 | Math.fl ... 00_000) | provenance | Config |
| tst.js:118:34:118:46 | Math.random() | tst.js:118:34:118:62 | Math.ra ... 000_000 | provenance | Config |
| tst.js:118:34:118:62 | Math.ra ... 000_000 | tst.js:118:23:118:63 | Math.fl ... 00_000) | provenance | Config |
| tst.js:136:21:136:67 | chars[M ... ength)] | tst.js:136:9:136:67 | password | provenance | Config |
| tst.js:136:21:136:67 | chars[M ... ength)] | tst.js:136:9:136:16 | password | provenance | Config |
| tst.js:136:27:136:66 | Math.fl ... length) | tst.js:136:21:136:67 | chars[M ... ength)] | provenance | Config |
| tst.js:136:38:136:50 | Math.random() | tst.js:136:38:136:65 | Math.ra ... .length | provenance | Config |
| tst.js:136:38:136:65 | Math.ra ... .length | tst.js:136:27:136:66 | Math.fl ... length) | provenance | Config |
@@ -60,12 +60,12 @@ nodes
| tst.js:6:20:6:43 | "prefix ... andom() | semmle.label | "prefix ... andom() |
| tst.js:6:31:6:43 | Math.random() | semmle.label | Math.random() |
| tst.js:10:20:10:32 | Math.random() | semmle.label | Math.random() |
| tst.js:19:9:19:36 | suffix | semmle.label | suffix |
| tst.js:19:9:19:14 | suffix | semmle.label | suffix |
| tst.js:19:18:19:30 | Math.random() | semmle.label | Math.random() |
| tst.js:19:18:19:36 | Math.random() % 255 | semmle.label | Math.random() % 255 |
| tst.js:20:20:20:36 | "prefix" + suffix | semmle.label | "prefix" + suffix |
| tst.js:20:31:20:36 | suffix | semmle.label | suffix |
| tst.js:28:9:28:26 | pw | semmle.label | pw |
| tst.js:28:9:28:10 | pw | semmle.label | pw |
| tst.js:28:14:28:26 | Math.random() | semmle.label | Math.random() |
| tst.js:29:20:29:21 | pw | semmle.label | pw |
| tst.js:41:20:41:33 | !Math.random() | semmle.label | !Math.random() |
@@ -77,11 +77,11 @@ nodes
| tst.js:61:22:61:34 | Math.random() | semmle.label | Math.random() |
| tst.js:66:18:66:42 | Math.fl ... ndom()) | semmle.label | Math.fl ... ndom()) |
| tst.js:66:29:66:41 | Math.random() | semmle.label | Math.random() |
| tst.js:71:9:71:48 | rand | semmle.label | rand |
| tst.js:71:9:71:12 | rand | semmle.label | rand |
| tst.js:71:16:71:48 | Math.fl ... 999999) | semmle.label | Math.fl ... 999999) |
| tst.js:71:27:71:39 | Math.random() | semmle.label | Math.random() |
| tst.js:71:27:71:47 | Math.ra ... 9999999 | semmle.label | Math.ra ... 9999999 |
| tst.js:72:9:72:48 | concat | semmle.label | concat |
| tst.js:72:9:72:14 | concat | semmle.label | concat |
| tst.js:72:18:72:48 | ts.toSt ... tring() | semmle.label | ts.toSt ... tring() |
| tst.js:72:34:72:37 | rand | semmle.label | rand |
| tst.js:72:34:72:48 | rand.toString() | semmle.label | rand.toString() |
@@ -106,7 +106,7 @@ nodes
| tst.js:118:34:118:62 | Math.ra ... 000_000 | semmle.label | Math.ra ... 000_000 |
| tst.js:120:16:120:28 | Math.random() | semmle.label | Math.random() |
| tst.js:121:18:121:30 | Math.random() | semmle.label | Math.random() |
| tst.js:136:9:136:67 | password | semmle.label | password |
| tst.js:136:9:136:16 | password | semmle.label | password |
| tst.js:136:21:136:67 | chars[M ... ength)] | semmle.label | chars[M ... ength)] |
| tst.js:136:27:136:66 | Math.fl ... length) | semmle.label | Math.fl ... length) |
| tst.js:136:38:136:50 | Math.random() | semmle.label | Math.random() |

View File

@@ -3,11 +3,11 @@
| tst.js:18:50:18:53 | null | tst.js:18:50:18:53 | null | tst.js:18:50:18:53 | null | $@ leak vulnerability due to a $@. | tst.js:19:5:19:59 | res.set ... , true) | Credential | tst.js:18:50:18:53 | null | misconfigured CORS header value |
| tst.js:23:50:23:55 | "null" | tst.js:23:50:23:55 | "null" | tst.js:23:50:23:55 | "null" | $@ leak vulnerability due to a $@. | tst.js:24:5:24:59 | res.set ... , true) | Credential | tst.js:23:50:23:55 | "null" | misconfigured CORS header value |
edges
| tst.js:12:9:12:54 | origin | tst.js:13:50:13:55 | origin | provenance | |
| tst.js:12:18:12:41 | url.par ... , true) | tst.js:12:9:12:54 | origin | provenance | |
| tst.js:12:9:12:14 | origin | tst.js:13:50:13:55 | origin | provenance | |
| tst.js:12:18:12:41 | url.par ... , true) | tst.js:12:9:12:14 | origin | provenance | |
| tst.js:12:28:12:34 | req.url | tst.js:12:18:12:41 | url.par ... , true) | provenance | |
nodes
| tst.js:12:9:12:54 | origin | semmle.label | origin |
| tst.js:12:9:12:14 | origin | semmle.label | origin |
| tst.js:12:18:12:41 | url.par ... , true) | semmle.label | url.par ... , true) |
| tst.js:12:28:12:34 | req.url | semmle.label | req.url |
| tst.js:13:50:13:55 | origin | semmle.label | origin |

View File

@@ -5,30 +5,30 @@
| insecure-temporary-file.js:26:22:26:29 | tmpPath2 | insecure-temporary-file.js:25:32:25:42 | os.tmpdir() | insecure-temporary-file.js:26:22:26:29 | tmpPath2 | Insecure creation of file in $@. | insecure-temporary-file.js:25:32:25:42 | os.tmpdir() | the os temp dir |
| insecure-temporary-file.js:28:17:28:24 | tmpPath2 | insecure-temporary-file.js:25:32:25:42 | os.tmpdir() | insecure-temporary-file.js:28:17:28:24 | tmpPath2 | Insecure creation of file in $@. | insecure-temporary-file.js:25:32:25:42 | os.tmpdir() | the os temp dir |
edges
| insecure-temporary-file.js:7:9:11:5 | tmpLocation | insecure-temporary-file.js:13:22:13:32 | tmpLocation | provenance | |
| insecure-temporary-file.js:7:23:11:5 | path.jo ... )\\n ) | insecure-temporary-file.js:7:9:11:5 | tmpLocation | provenance | |
| insecure-temporary-file.js:7:9:7:19 | tmpLocation | insecure-temporary-file.js:13:22:13:32 | tmpLocation | provenance | |
| insecure-temporary-file.js:7:23:11:5 | path.jo ... )\\n ) | insecure-temporary-file.js:7:9:7:19 | tmpLocation | provenance | |
| insecure-temporary-file.js:8:21:8:31 | os.tmpdir() | insecure-temporary-file.js:7:23:11:5 | path.jo ... )\\n ) | provenance | |
| insecure-temporary-file.js:15:9:15:34 | tmpPath | insecure-temporary-file.js:17:32:17:38 | tmpPath | provenance | |
| insecure-temporary-file.js:15:9:15:34 | tmpPath | insecure-temporary-file.js:23:32:23:38 | tmpPath | provenance | |
| insecure-temporary-file.js:15:19:15:34 | "/tmp/something" | insecure-temporary-file.js:15:9:15:34 | tmpPath | provenance | |
| insecure-temporary-file.js:15:9:15:15 | tmpPath | insecure-temporary-file.js:17:32:17:38 | tmpPath | provenance | |
| insecure-temporary-file.js:15:9:15:15 | tmpPath | insecure-temporary-file.js:23:32:23:38 | tmpPath | provenance | |
| insecure-temporary-file.js:15:19:15:34 | "/tmp/something" | insecure-temporary-file.js:15:9:15:15 | tmpPath | provenance | |
| insecure-temporary-file.js:17:32:17:38 | tmpPath | insecure-temporary-file.js:17:22:17:49 | path.jo ... /foo/") | provenance | |
| insecure-temporary-file.js:23:32:23:38 | tmpPath | insecure-temporary-file.js:23:22:23:49 | path.jo ... /foo/") | provenance | |
| insecure-temporary-file.js:25:11:25:92 | tmpPath2 | insecure-temporary-file.js:26:22:26:29 | tmpPath2 | provenance | |
| insecure-temporary-file.js:25:11:25:92 | tmpPath2 | insecure-temporary-file.js:28:17:28:24 | tmpPath2 | provenance | |
| insecure-temporary-file.js:25:22:25:92 | path.jo ... )}.md`) | insecure-temporary-file.js:25:11:25:92 | tmpPath2 | provenance | |
| insecure-temporary-file.js:25:11:25:18 | tmpPath2 | insecure-temporary-file.js:26:22:26:29 | tmpPath2 | provenance | |
| insecure-temporary-file.js:25:11:25:18 | tmpPath2 | insecure-temporary-file.js:28:17:28:24 | tmpPath2 | provenance | |
| insecure-temporary-file.js:25:22:25:92 | path.jo ... )}.md`) | insecure-temporary-file.js:25:11:25:18 | tmpPath2 | provenance | |
| insecure-temporary-file.js:25:32:25:42 | os.tmpdir() | insecure-temporary-file.js:25:22:25:92 | path.jo ... )}.md`) | provenance | |
nodes
| insecure-temporary-file.js:7:9:11:5 | tmpLocation | semmle.label | tmpLocation |
| insecure-temporary-file.js:7:9:7:19 | tmpLocation | semmle.label | tmpLocation |
| insecure-temporary-file.js:7:23:11:5 | path.jo ... )\\n ) | semmle.label | path.jo ... )\\n ) |
| insecure-temporary-file.js:8:21:8:31 | os.tmpdir() | semmle.label | os.tmpdir() |
| insecure-temporary-file.js:13:22:13:32 | tmpLocation | semmle.label | tmpLocation |
| insecure-temporary-file.js:15:9:15:34 | tmpPath | semmle.label | tmpPath |
| insecure-temporary-file.js:15:9:15:15 | tmpPath | semmle.label | tmpPath |
| insecure-temporary-file.js:15:19:15:34 | "/tmp/something" | semmle.label | "/tmp/something" |
| insecure-temporary-file.js:17:22:17:49 | path.jo ... /foo/") | semmle.label | path.jo ... /foo/") |
| insecure-temporary-file.js:17:32:17:38 | tmpPath | semmle.label | tmpPath |
| insecure-temporary-file.js:23:22:23:49 | path.jo ... /foo/") | semmle.label | path.jo ... /foo/") |
| insecure-temporary-file.js:23:32:23:38 | tmpPath | semmle.label | tmpPath |
| insecure-temporary-file.js:25:11:25:92 | tmpPath2 | semmle.label | tmpPath2 |
| insecure-temporary-file.js:25:11:25:18 | tmpPath2 | semmle.label | tmpPath2 |
| insecure-temporary-file.js:25:22:25:92 | path.jo ... )}.md`) | semmle.label | path.jo ... )}.md`) |
| insecure-temporary-file.js:25:32:25:42 | os.tmpdir() | semmle.label | os.tmpdir() |
| insecure-temporary-file.js:26:22:26:29 | tmpPath2 | semmle.label | tmpPath2 |

View File

@@ -111,9 +111,9 @@ edges
| lib/lib.js:35:28:35:31 | name | lib/lib.js:36:13:36:16 | name | provenance | |
| lib/lib.js:41:32:41:35 | name | lib/lib.js:42:17:42:20 | name | provenance | |
| lib/lib.js:41:32:41:35 | name | lib/lib.js:44:12:44:15 | name | provenance | |
| lib/lib.js:44:5:44:25 | name | lib/lib.js:45:17:45:20 | name | provenance | |
| lib/lib.js:44:5:44:8 | name | lib/lib.js:45:17:45:20 | name | provenance | |
| lib/lib.js:44:12:44:15 | name | lib/lib.js:44:12:44:25 | name.substr(1) | provenance | |
| lib/lib.js:44:12:44:25 | name.substr(1) | lib/lib.js:44:5:44:25 | name | provenance | |
| lib/lib.js:44:12:44:25 | name.substr(1) | lib/lib.js:44:5:44:8 | name | provenance | |
| lib/lib.js:52:22:52:25 | name | lib/lib.js:53:16:53:19 | name | provenance | |
| lib/moduleLib/moduleLib.js:1:28:1:31 | name | lib/moduleLib/moduleLib.js:2:13:2:16 | name | provenance | |
| lib/otherLib/js/src/index.js:1:28:1:31 | name | lib/otherLib/js/src/index.js:2:13:2:16 | name | provenance | |
@@ -131,160 +131,160 @@ edges
| lib/subLib5/subclass.js:4:10:4:13 | name | lib/subLib5/subclass.js:5:16:5:19 | name | provenance | |
| lib/subLib6/index.js:1:32:1:35 | name | lib/subLib6/index.js:2:14:2:17 | name | provenance | |
| lib/sublib/factory.js:12:26:12:29 | name | lib/sublib/factory.js:13:24:13:27 | name | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:7:2:7:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:7:2:7:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:8:2:8:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:8:2:8:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:9:2:9:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:9:2:9:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:10:2:10:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:11:2:11:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:11:2:11:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:12:2:12:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:12:2:12:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:13:2:13:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:14:2:14:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:15:2:15:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:15:2:15:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:16:2:16:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:16:2:16:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:17:23:17:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:17:23:17:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:18:2:18:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:18:2:18:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:19:2:19:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:19:2:19:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:20:2:20:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:20:2:20:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:21:6:21:12 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:25:2:25:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:25:2:25:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:26:2:26:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:27:77:27:83 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:28:76:28:82 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:30:2:30:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:30:2:30:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:31:2:31:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:32:2:32:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:33:2:33:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:33:2:33:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:34:2:34:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:36:2:36:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:36:2:36:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:37:2:37:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:37:2:37:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:38:2:38:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:38:2:38:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:40:2:40:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:40:2:40:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:41:2:41:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:43:2:43:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:43:2:43:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:44:2:44:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:46:9:46:15 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:47:2:47:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:48:2:48:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:48:2:48:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:50:14:50:20 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:50:14:50:20 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:51:26:51:32 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:51:26:51:32 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:52:22:52:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:52:22:52:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:53:21:53:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:53:21:53:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:54:22:54:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:54:22:54:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:55:23:55:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:55:23:55:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:56:22:56:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:56:22:56:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:57:25:57:31 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:57:25:57:31 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:58:21:58:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:58:21:58:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:59:23:59:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:59:23:59:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:60:17:60:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:61:18:61:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:62:17:62:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:62:17:62:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:63:21:63:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:63:21:63:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:64:24:64:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:64:24:64:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:65:24:65:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:65:24:65:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:66:19:66:25 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:66:19:66:25 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:67:18:67:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:67:18:67:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:71:2:71:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:71:2:71:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:73:2:73:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:73:2:73:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:75:2:75:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:75:2:75:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:77:2:77:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:77:2:77:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:80:2:80:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:80:2:80:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:81:2:81:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:81:2:81:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:82:2:82:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:83:2:83:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:84:2:84:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:86:2:86:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:86:2:86:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:88:2:88:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:88:2:88:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:89:2:89:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:89:2:89:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:90:2:90:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:90:2:90:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:91:2:91:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:92:2:92:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:94:2:94:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:94:2:94:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:95:2:95:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:95:2:95:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:96:2:96:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:96:2:96:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:98:2:98:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:98:2:98:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:100:2:100:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:100:2:100:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:101:2:101:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:101:2:101:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:102:2:102:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:102:2:102:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:103:2:103:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:103:2:103:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:104:2:104:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:104:2:104:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:105:2:105:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:107:2:107:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:107:2:107:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:108:2:108:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:108:2:108:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:109:2:109:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:109:2:109:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:111:2:111:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:111:2:111:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:112:2:112:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:112:2:112:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:114:2:114:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:114:2:114:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:116:2:116:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:116:2:116:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:118:2:118:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:118:2:118:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:127:2:127:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:129:17:129:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:132:18:132:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:135:21:135:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:32 | tainted | polynomial-redos.js:138:5:138:11 | tainted | provenance | |
| polynomial-redos.js:5:16:5:32 | req.query.tainted | polynomial-redos.js:5:6:5:32 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:7:2:7:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:7:2:7:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:8:2:8:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:8:2:8:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:9:2:9:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:9:2:9:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:10:2:10:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:11:2:11:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:11:2:11:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:12:2:12:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:12:2:12:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:13:2:13:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:14:2:14:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:15:2:15:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:15:2:15:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:16:2:16:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:16:2:16:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:17:23:17:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:17:23:17:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:18:2:18:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:18:2:18:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:19:2:19:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:19:2:19:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:20:2:20:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:20:2:20:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:21:6:21:12 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:25:2:25:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:25:2:25:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:26:2:26:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:27:77:27:83 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:28:76:28:82 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:30:2:30:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:30:2:30:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:31:2:31:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:32:2:32:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:33:2:33:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:33:2:33:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:34:2:34:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:36:2:36:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:36:2:36:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:37:2:37:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:37:2:37:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:38:2:38:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:38:2:38:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:40:2:40:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:40:2:40:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:41:2:41:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:43:2:43:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:43:2:43:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:44:2:44:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:46:9:46:15 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:47:2:47:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:48:2:48:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:48:2:48:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:50:14:50:20 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:50:14:50:20 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:51:26:51:32 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:51:26:51:32 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:52:22:52:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:52:22:52:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:53:21:53:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:53:21:53:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:54:22:54:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:54:22:54:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:55:23:55:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:55:23:55:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:56:22:56:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:56:22:56:28 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:57:25:57:31 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:57:25:57:31 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:58:21:58:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:58:21:58:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:59:23:59:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:59:23:59:29 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:60:17:60:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:61:18:61:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:62:17:62:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:62:17:62:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:63:21:63:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:63:21:63:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:64:24:64:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:64:24:64:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:65:24:65:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:65:24:65:30 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:66:19:66:25 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:66:19:66:25 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:67:18:67:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:67:18:67:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:71:2:71:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:71:2:71:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:73:2:73:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:73:2:73:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:75:2:75:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:75:2:75:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:77:2:77:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:77:2:77:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:80:2:80:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:80:2:80:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:81:2:81:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:81:2:81:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:82:2:82:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:83:2:83:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:84:2:84:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:86:2:86:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:86:2:86:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:88:2:88:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:88:2:88:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:89:2:89:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:89:2:89:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:90:2:90:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:90:2:90:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:91:2:91:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:92:2:92:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:94:2:94:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:94:2:94:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:95:2:95:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:95:2:95:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:96:2:96:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:96:2:96:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:98:2:98:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:98:2:98:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:100:2:100:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:100:2:100:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:101:2:101:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:101:2:101:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:102:2:102:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:102:2:102:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:103:2:103:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:103:2:103:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:104:2:104:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:104:2:104:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:105:2:105:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:107:2:107:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:107:2:107:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:108:2:108:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:108:2:108:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:109:2:109:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:109:2:109:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:111:2:111:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:111:2:111:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:112:2:112:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:112:2:112:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:114:2:114:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:114:2:114:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:116:2:116:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:116:2:116:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:118:2:118:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:118:2:118:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:127:2:127:8 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:129:17:129:23 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:132:18:132:24 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:135:21:135:27 | tainted | provenance | |
| polynomial-redos.js:5:6:5:12 | tainted | polynomial-redos.js:138:5:138:11 | tainted | provenance | |
| polynomial-redos.js:5:16:5:32 | req.query.tainted | polynomial-redos.js:5:6:5:12 | tainted | provenance | |
| polynomial-redos.js:7:2:7:8 | tainted | polynomial-redos.js:8:2:8:8 | tainted | provenance | |
| polynomial-redos.js:7:2:7:8 | tainted | polynomial-redos.js:8:2:8:8 | tainted | provenance | |
| polynomial-redos.js:8:2:8:8 | tainted | polynomial-redos.js:9:2:9:8 | tainted | provenance | |
@@ -435,27 +435,27 @@ edges
| polynomial-redos.js:118:2:118:8 | tainted | polynomial-redos.js:121:18:121:24 | tainted | provenance | |
| polynomial-redos.js:118:2:118:8 | tainted | polynomial-redos.js:127:2:127:8 | tainted | provenance | |
| polynomial-redos.js:120:2:125:3 | (functi ... os]\\n\\t}) [tainted] | polynomial-redos.js:121:18:121:24 | tainted | provenance | |
| polynomial-redos.js:121:7:121:55 | replaced | polynomial-redos.js:123:13:123:20 | replaced | provenance | |
| polynomial-redos.js:121:7:121:14 | replaced | polynomial-redos.js:123:13:123:20 | replaced | provenance | |
| polynomial-redos.js:121:18:121:24 | tainted | polynomial-redos.js:121:18:121:55 | tainted ... /g, '') | provenance | |
| polynomial-redos.js:121:18:121:55 | tainted ... /g, '') | polynomial-redos.js:121:7:121:55 | replaced | provenance | |
| polynomial-redos.js:123:3:123:20 | result | polynomial-redos.js:124:12:124:17 | result | provenance | |
| polynomial-redos.js:123:13:123:20 | replaced | polynomial-redos.js:123:3:123:20 | result | provenance | |
| polynomial-redos.js:121:18:121:55 | tainted ... /g, '') | polynomial-redos.js:121:7:121:14 | replaced | provenance | |
| polynomial-redos.js:123:3:123:8 | result | polynomial-redos.js:124:12:124:17 | result | provenance | |
| polynomial-redos.js:123:13:123:20 | replaced | polynomial-redos.js:123:3:123:8 | result | provenance | |
| polynomial-redos.js:127:2:127:8 | tainted | polynomial-redos.js:129:17:129:23 | tainted | provenance | |
| polynomial-redos.js:129:6:129:42 | modified | polynomial-redos.js:130:2:130:9 | modified | provenance | |
| polynomial-redos.js:129:6:129:13 | modified | polynomial-redos.js:130:2:130:9 | modified | provenance | |
| polynomial-redos.js:129:17:129:23 | tainted | polynomial-redos.js:129:17:129:42 | tainted ... g, "b") | provenance | |
| polynomial-redos.js:129:17:129:23 | tainted | polynomial-redos.js:132:18:132:24 | tainted | provenance | |
| polynomial-redos.js:129:17:129:42 | tainted ... g, "b") | polynomial-redos.js:129:6:129:42 | modified | provenance | |
| polynomial-redos.js:132:6:132:50 | modified2 | polynomial-redos.js:133:2:133:10 | modified2 | provenance | |
| polynomial-redos.js:129:17:129:42 | tainted ... g, "b") | polynomial-redos.js:129:6:129:13 | modified | provenance | |
| polynomial-redos.js:132:6:132:14 | modified2 | polynomial-redos.js:133:2:133:10 | modified2 | provenance | |
| polynomial-redos.js:132:18:132:24 | tainted | polynomial-redos.js:132:18:132:50 | tainted ... g, "e") | provenance | |
| polynomial-redos.js:132:18:132:24 | tainted | polynomial-redos.js:135:21:135:27 | tainted | provenance | |
| polynomial-redos.js:132:18:132:50 | tainted ... g, "e") | polynomial-redos.js:132:6:132:50 | modified2 | provenance | |
| polynomial-redos.js:135:9:135:47 | modified3 | polynomial-redos.js:136:5:136:13 | modified3 | provenance | |
| polynomial-redos.js:135:9:135:47 | modified3 | polynomial-redos.js:140:2:140:10 | modified3 | provenance | |
| polynomial-redos.js:135:9:135:47 | modified3 | polynomial-redos.js:141:2:141:10 | modified3 | provenance | |
| polynomial-redos.js:135:9:135:47 | modified3 | polynomial-redos.js:142:2:142:10 | modified3 | provenance | |
| polynomial-redos.js:132:18:132:50 | tainted ... g, "e") | polynomial-redos.js:132:6:132:14 | modified2 | provenance | |
| polynomial-redos.js:135:9:135:17 | modified3 | polynomial-redos.js:136:5:136:13 | modified3 | provenance | |
| polynomial-redos.js:135:9:135:17 | modified3 | polynomial-redos.js:140:2:140:10 | modified3 | provenance | |
| polynomial-redos.js:135:9:135:17 | modified3 | polynomial-redos.js:141:2:141:10 | modified3 | provenance | |
| polynomial-redos.js:135:9:135:17 | modified3 | polynomial-redos.js:142:2:142:10 | modified3 | provenance | |
| polynomial-redos.js:135:21:135:27 | tainted | polynomial-redos.js:135:21:135:47 | tainted ... /g, "") | provenance | |
| polynomial-redos.js:135:21:135:27 | tainted | polynomial-redos.js:138:5:138:11 | tainted | provenance | |
| polynomial-redos.js:135:21:135:47 | tainted ... /g, "") | polynomial-redos.js:135:9:135:47 | modified3 | provenance | |
| polynomial-redos.js:135:21:135:47 | tainted ... /g, "") | polynomial-redos.js:135:9:135:17 | modified3 | provenance | |
nodes
| lib/closure.js:3:21:3:21 | x | semmle.label | x |
| lib/closure.js:4:16:4:16 | x | semmle.label | x |
@@ -472,7 +472,7 @@ nodes
| lib/lib.js:36:13:36:16 | name | semmle.label | name |
| lib/lib.js:41:32:41:35 | name | semmle.label | name |
| lib/lib.js:42:17:42:20 | name | semmle.label | name |
| lib/lib.js:44:5:44:25 | name | semmle.label | name |
| lib/lib.js:44:5:44:8 | name | semmle.label | name |
| lib/lib.js:44:12:44:15 | name | semmle.label | name |
| lib/lib.js:44:12:44:25 | name.substr(1) | semmle.label | name.substr(1) |
| lib/lib.js:45:17:45:20 | name | semmle.label | name |
@@ -505,7 +505,7 @@ nodes
| lib/subLib6/index.js:2:14:2:17 | name | semmle.label | name |
| lib/sublib/factory.js:12:26:12:29 | name | semmle.label | name |
| lib/sublib/factory.js:13:24:13:27 | name | semmle.label | name |
| polynomial-redos.js:5:6:5:32 | tainted | semmle.label | tainted |
| polynomial-redos.js:5:6:5:12 | tainted | semmle.label | tainted |
| polynomial-redos.js:5:16:5:32 | req.query.tainted | semmle.label | req.query.tainted |
| polynomial-redos.js:7:2:7:8 | tainted | semmle.label | tainted |
| polynomial-redos.js:7:2:7:8 | tainted | semmle.label | tainted |
@@ -658,22 +658,22 @@ nodes
| polynomial-redos.js:118:2:118:8 | tainted | semmle.label | tainted |
| polynomial-redos.js:118:2:118:8 | tainted | semmle.label | tainted |
| polynomial-redos.js:120:2:125:3 | (functi ... os]\\n\\t}) [tainted] | semmle.label | (functi ... os]\\n\\t}) [tainted] |
| polynomial-redos.js:121:7:121:55 | replaced | semmle.label | replaced |
| polynomial-redos.js:121:7:121:14 | replaced | semmle.label | replaced |
| polynomial-redos.js:121:18:121:24 | tainted | semmle.label | tainted |
| polynomial-redos.js:121:18:121:55 | tainted ... /g, '') | semmle.label | tainted ... /g, '') |
| polynomial-redos.js:123:3:123:20 | result | semmle.label | result |
| polynomial-redos.js:123:3:123:8 | result | semmle.label | result |
| polynomial-redos.js:123:13:123:20 | replaced | semmle.label | replaced |
| polynomial-redos.js:124:12:124:17 | result | semmle.label | result |
| polynomial-redos.js:127:2:127:8 | tainted | semmle.label | tainted |
| polynomial-redos.js:129:6:129:42 | modified | semmle.label | modified |
| polynomial-redos.js:129:6:129:13 | modified | semmle.label | modified |
| polynomial-redos.js:129:17:129:23 | tainted | semmle.label | tainted |
| polynomial-redos.js:129:17:129:42 | tainted ... g, "b") | semmle.label | tainted ... g, "b") |
| polynomial-redos.js:130:2:130:9 | modified | semmle.label | modified |
| polynomial-redos.js:132:6:132:50 | modified2 | semmle.label | modified2 |
| polynomial-redos.js:132:6:132:14 | modified2 | semmle.label | modified2 |
| polynomial-redos.js:132:18:132:24 | tainted | semmle.label | tainted |
| polynomial-redos.js:132:18:132:50 | tainted ... g, "e") | semmle.label | tainted ... g, "e") |
| polynomial-redos.js:133:2:133:10 | modified2 | semmle.label | modified2 |
| polynomial-redos.js:135:9:135:47 | modified3 | semmle.label | modified3 |
| polynomial-redos.js:135:9:135:17 | modified3 | semmle.label | modified3 |
| polynomial-redos.js:135:21:135:27 | tainted | semmle.label | tainted |
| polynomial-redos.js:135:21:135:47 | tainted ... /g, "") | semmle.label | tainted ... /g, "") |
| polynomial-redos.js:136:5:136:13 | modified3 | semmle.label | modified3 |

View File

@@ -5,21 +5,21 @@
| tst.js:16:10:16:13 | prop | tst.js:8:28:8:51 | req.que ... trolled | tst.js:16:10:16:13 | prop | A property name to write to depends on a $@. | tst.js:8:28:8:51 | req.que ... trolled | user-provided value |
| tstNonExpr.js:8:17:8:23 | userVal | tstNonExpr.js:5:17:5:23 | req.url | tstNonExpr.js:8:17:8:23 | userVal | A header name depends on a $@. | tstNonExpr.js:5:17:5:23 | req.url | user-provided value |
edges
| tst.js:8:6:8:52 | prop | tst.js:9:8:9:11 | prop | provenance | |
| tst.js:8:6:8:52 | prop | tst.js:13:15:13:18 | prop | provenance | |
| tst.js:8:6:8:52 | prop | tst.js:14:31:14:34 | prop | provenance | |
| tst.js:8:6:8:52 | prop | tst.js:16:10:16:13 | prop | provenance | |
| tst.js:8:13:8:52 | myCoolL ... rolled) | tst.js:8:6:8:52 | prop | provenance | |
| tst.js:8:6:8:9 | prop | tst.js:9:8:9:11 | prop | provenance | |
| tst.js:8:6:8:9 | prop | tst.js:13:15:13:18 | prop | provenance | |
| tst.js:8:6:8:9 | prop | tst.js:14:31:14:34 | prop | provenance | |
| tst.js:8:6:8:9 | prop | tst.js:16:10:16:13 | prop | provenance | |
| tst.js:8:13:8:52 | myCoolL ... rolled) | tst.js:8:6:8:9 | prop | provenance | |
| tst.js:8:28:8:51 | req.que ... trolled | tst.js:8:13:8:52 | myCoolL ... rolled) | provenance | |
| tst.js:8:28:8:51 | req.que ... trolled | tst.js:21:25:21:25 | x | provenance | |
| tst.js:21:25:21:25 | x | tst.js:22:15:22:15 | x | provenance | |
| tst.js:22:6:22:15 | result | tst.js:23:9:23:14 | result | provenance | |
| tst.js:22:15:22:15 | x | tst.js:22:6:22:15 | result | provenance | |
| tst.js:22:6:22:11 | result | tst.js:23:9:23:14 | result | provenance | |
| tst.js:22:15:22:15 | x | tst.js:22:6:22:11 | result | provenance | |
| tst.js:23:9:23:14 | result | tst.js:23:9:23:42 | result. ... length) | provenance | |
| tstNonExpr.js:5:7:5:23 | userVal | tstNonExpr.js:8:17:8:23 | userVal | provenance | |
| tstNonExpr.js:5:17:5:23 | req.url | tstNonExpr.js:5:7:5:23 | userVal | provenance | |
| tstNonExpr.js:5:7:5:13 | userVal | tstNonExpr.js:8:17:8:23 | userVal | provenance | |
| tstNonExpr.js:5:17:5:23 | req.url | tstNonExpr.js:5:7:5:13 | userVal | provenance | |
nodes
| tst.js:8:6:8:52 | prop | semmle.label | prop |
| tst.js:8:6:8:9 | prop | semmle.label | prop |
| tst.js:8:13:8:52 | myCoolL ... rolled) | semmle.label | myCoolL ... rolled) |
| tst.js:8:28:8:51 | req.que ... trolled | semmle.label | req.que ... trolled |
| tst.js:9:8:9:11 | prop | semmle.label | prop |
@@ -27,11 +27,11 @@ nodes
| tst.js:14:31:14:34 | prop | semmle.label | prop |
| tst.js:16:10:16:13 | prop | semmle.label | prop |
| tst.js:21:25:21:25 | x | semmle.label | x |
| tst.js:22:6:22:15 | result | semmle.label | result |
| tst.js:22:6:22:11 | result | semmle.label | result |
| tst.js:22:15:22:15 | x | semmle.label | x |
| tst.js:23:9:23:14 | result | semmle.label | result |
| tst.js:23:9:23:42 | result. ... length) | semmle.label | result. ... length) |
| tstNonExpr.js:5:7:5:23 | userVal | semmle.label | userVal |
| tstNonExpr.js:5:7:5:13 | userVal | semmle.label | userVal |
| tstNonExpr.js:5:17:5:23 | req.url | semmle.label | req.url |
| tstNonExpr.js:8:17:8:23 | userVal | semmle.label | userVal |
subpaths

View File

@@ -14,12 +14,12 @@ edges
| event-stream.js:6:22:6:22 | r | event-stream.js:6:10:6:30 | Buffer. ... "hex") | provenance | Config |
| event-stream.js:9:13:9:36 | "2e2f74 ... 617461" | event-stream.js:5:12:5:12 | r | provenance | |
| event-stream.js:9:13:9:36 | "2e2f74 ... 617461" | event-stream.js:9:11:9:37 | e("2e2f ... 17461") | provenance | Config |
| tst.js:1:5:1:88 | totallyHarmlessString | tst.js:2:18:2:38 | totally ... sString | provenance | |
| tst.js:1:29:1:88 | '636f6e ... 6e2729' | tst.js:1:5:1:88 | totallyHarmlessString | provenance | |
| tst.js:1:5:1:25 | totallyHarmlessString | tst.js:2:18:2:38 | totally ... sString | provenance | |
| tst.js:1:29:1:88 | '636f6e ... 6e2729' | tst.js:1:5:1:25 | totallyHarmlessString | provenance | |
| tst.js:2:6:2:46 | Buffer. ... 'hex') | tst.js:2:6:2:57 | Buffer. ... tring() | provenance | Config |
| tst.js:2:18:2:38 | totally ... sString | tst.js:2:6:2:46 | Buffer. ... 'hex') | provenance | Config |
| tst.js:5:5:5:23 | test | tst.js:7:8:7:11 | test | provenance | |
| tst.js:5:12:5:23 | "0123456789" | tst.js:5:5:5:23 | test | provenance | |
| tst.js:5:5:5:8 | test | tst.js:7:8:7:11 | test | provenance | |
| tst.js:5:12:5:23 | "0123456789" | tst.js:5:5:5:8 | test | provenance | |
| tst.js:7:8:7:11 | test | tst.js:7:8:7:15 | test+"n" | provenance | Config |
nodes
| event-stream-orig.js:93:16:93:16 | r | semmle.label | r |
@@ -34,12 +34,12 @@ nodes
| event-stream.js:6:22:6:22 | r | semmle.label | r |
| event-stream.js:9:11:9:37 | e("2e2f ... 17461") | semmle.label | e("2e2f ... 17461") |
| event-stream.js:9:13:9:36 | "2e2f74 ... 617461" | semmle.label | "2e2f74 ... 617461" |
| tst.js:1:5:1:88 | totallyHarmlessString | semmle.label | totallyHarmlessString |
| tst.js:1:5:1:25 | totallyHarmlessString | semmle.label | totallyHarmlessString |
| tst.js:1:29:1:88 | '636f6e ... 6e2729' | semmle.label | '636f6e ... 6e2729' |
| tst.js:2:6:2:46 | Buffer. ... 'hex') | semmle.label | Buffer. ... 'hex') |
| tst.js:2:6:2:57 | Buffer. ... tring() | semmle.label | Buffer. ... tring() |
| tst.js:2:18:2:38 | totally ... sString | semmle.label | totally ... sString |
| tst.js:5:5:5:23 | test | semmle.label | test |
| tst.js:5:5:5:8 | test | semmle.label | test |
| tst.js:5:12:5:23 | "0123456789" | semmle.label | "0123456789" |
| tst.js:7:8:7:11 | test | semmle.label | test |
| tst.js:7:8:7:15 | test+"n" | semmle.label | test+"n" |

View File

@@ -74,16 +74,16 @@ edges
| pako.js:13:14:13:22 | req.files | pako.js:13:14:13:39 | req.fil ... le.data | provenance | |
| pako.js:13:14:13:39 | req.fil ... le.data | pako.js:28:19:28:25 | zipFile | provenance | |
| pako.js:17:19:17:25 | zipFile | pako.js:18:48:18:54 | zipFile | provenance | |
| pako.js:18:11:18:68 | myArray | pako.js:21:31:21:37 | myArray | provenance | |
| pako.js:18:21:18:68 | Buffer. ... uffer)) | pako.js:18:11:18:68 | myArray | provenance | |
| pako.js:18:11:18:17 | myArray | pako.js:21:31:21:37 | myArray | provenance | |
| pako.js:18:21:18:68 | Buffer. ... uffer)) | pako.js:18:11:18:17 | myArray | provenance | |
| pako.js:18:33:18:67 | new Uin ... buffer) | pako.js:18:21:18:68 | Buffer. ... uffer)) | provenance | |
| pako.js:18:48:18:54 | zipFile | pako.js:18:48:18:66 | zipFile.data.buffer | provenance | |
| pako.js:18:48:18:66 | zipFile.data.buffer | pako.js:18:33:18:67 | new Uin ... buffer) | provenance | Config |
| pako.js:28:19:28:25 | zipFile | pako.js:29:36:29:42 | zipFile | provenance | |
| pako.js:29:11:29:62 | myArray | pako.js:32:31:32:37 | myArray | provenance | |
| pako.js:29:11:29:62 | myArray [ArrayElement] | pako.js:32:31:32:37 | myArray | provenance | |
| pako.js:29:21:29:55 | new Uin ... buffer) | pako.js:29:11:29:62 | myArray | provenance | |
| pako.js:29:21:29:55 | new Uin ... buffer) [ArrayElement] | pako.js:29:11:29:62 | myArray [ArrayElement] | provenance | |
| pako.js:29:11:29:17 | myArray | pako.js:32:31:32:37 | myArray | provenance | |
| pako.js:29:11:29:17 | myArray [ArrayElement] | pako.js:32:31:32:37 | myArray | provenance | |
| pako.js:29:21:29:55 | new Uin ... buffer) | pako.js:29:11:29:17 | myArray | provenance | |
| pako.js:29:21:29:55 | new Uin ... buffer) [ArrayElement] | pako.js:29:11:29:17 | myArray [ArrayElement] | provenance | |
| pako.js:29:36:29:42 | zipFile | pako.js:29:36:29:54 | zipFile.data.buffer | provenance | |
| pako.js:29:36:29:54 | zipFile.data.buffer | pako.js:29:21:29:55 | new Uin ... buffer) | provenance | Config |
| pako.js:29:36:29:54 | zipFile.data.buffer | pako.js:29:21:29:55 | new Uin ... buffer) [ArrayElement] | provenance | |
@@ -132,8 +132,8 @@ edges
| zlib.js:75:39:75:45 | zipFile | zlib.js:75:39:75:50 | zipFile.data | provenance | |
| zlib.js:75:39:75:50 | zipFile.data | zlib.js:75:25:75:51 | Readabl ... e.data) | provenance | Config |
| zlib.js:82:43:82:49 | zipFile | zlib.js:83:39:83:45 | zipFile | provenance | |
| zlib.js:83:11:83:51 | inputStream | zlib.js:86:9:86:19 | inputStream | provenance | |
| zlib.js:83:25:83:51 | Readabl ... e.data) | zlib.js:83:11:83:51 | inputStream | provenance | |
| zlib.js:83:11:83:21 | inputStream | zlib.js:86:9:86:19 | inputStream | provenance | |
| zlib.js:83:25:83:51 | Readabl ... e.data) | zlib.js:83:11:83:21 | inputStream | provenance | |
| zlib.js:83:39:83:45 | zipFile | zlib.js:83:39:83:50 | zipFile.data | provenance | |
| zlib.js:83:39:83:50 | zipFile.data | zlib.js:83:25:83:51 | Readabl ... e.data) | provenance | Config |
| zlib.js:86:9:86:19 | inputStream | zlib.js:87:9:87:27 | zlib.createGunzip() | provenance | Config |
@@ -178,15 +178,15 @@ nodes
| pako.js:13:14:13:22 | req.files | semmle.label | req.files |
| pako.js:13:14:13:39 | req.fil ... le.data | semmle.label | req.fil ... le.data |
| pako.js:17:19:17:25 | zipFile | semmle.label | zipFile |
| pako.js:18:11:18:68 | myArray | semmle.label | myArray |
| pako.js:18:11:18:17 | myArray | semmle.label | myArray |
| pako.js:18:21:18:68 | Buffer. ... uffer)) | semmle.label | Buffer. ... uffer)) |
| pako.js:18:33:18:67 | new Uin ... buffer) | semmle.label | new Uin ... buffer) |
| pako.js:18:48:18:54 | zipFile | semmle.label | zipFile |
| pako.js:18:48:18:66 | zipFile.data.buffer | semmle.label | zipFile.data.buffer |
| pako.js:21:31:21:37 | myArray | semmle.label | myArray |
| pako.js:28:19:28:25 | zipFile | semmle.label | zipFile |
| pako.js:29:11:29:62 | myArray | semmle.label | myArray |
| pako.js:29:11:29:62 | myArray [ArrayElement] | semmle.label | myArray [ArrayElement] |
| pako.js:29:11:29:17 | myArray | semmle.label | myArray |
| pako.js:29:11:29:17 | myArray [ArrayElement] | semmle.label | myArray [ArrayElement] |
| pako.js:29:21:29:55 | new Uin ... buffer) | semmle.label | new Uin ... buffer) |
| pako.js:29:21:29:55 | new Uin ... buffer) [ArrayElement] | semmle.label | new Uin ... buffer) [ArrayElement] |
| pako.js:29:36:29:42 | zipFile | semmle.label | zipFile |
@@ -246,7 +246,7 @@ nodes
| zlib.js:78:22:78:39 | zlib.createUnzip() | semmle.label | zlib.createUnzip() |
| zlib.js:79:22:79:50 | zlib.cr ... press() | semmle.label | zlib.cr ... press() |
| zlib.js:82:43:82:49 | zipFile | semmle.label | zipFile |
| zlib.js:83:11:83:51 | inputStream | semmle.label | inputStream |
| zlib.js:83:11:83:21 | inputStream | semmle.label | inputStream |
| zlib.js:83:25:83:51 | Readabl ... e.data) | semmle.label | Readabl ... e.data) |
| zlib.js:83:39:83:45 | zipFile | semmle.label | zipFile |
| zlib.js:83:39:83:50 | zipFile.data | semmle.label | zipFile.data |

View File

@@ -79,41 +79,41 @@ edges
| react.js:31:43:31:64 | documen ... on.hash | react.js:31:43:31:74 | documen ... bstr(1) | provenance | Config |
| react.js:37:43:37:64 | documen ... on.hash | react.js:37:43:37:74 | documen ... bstr(1) | provenance | Config |
| react.js:43:19:43:40 | documen ... on.hash | react.js:43:19:43:50 | documen ... bstr(1) | provenance | Config |
| regexp-exec.js:4:11:4:20 | [, group1] | regexp-exec.js:4:11:4:57 | group1 | provenance | |
| regexp-exec.js:4:11:4:57 | group1 | regexp-exec.js:5:28:5:33 | group1 | provenance | |
| regexp-exec.js:4:11:4:20 | [, group1] | regexp-exec.js:4:14:4:19 | group1 | provenance | |
| regexp-exec.js:4:14:4:19 | group1 | regexp-exec.js:5:28:5:33 | group1 | provenance | |
| regexp-exec.js:4:24:4:57 | /#(.*)/ ... n.href) | regexp-exec.js:4:11:4:20 | [, group1] | provenance | |
| regexp-exec.js:4:37:4:56 | window.location.href | regexp-exec.js:4:24:4:57 | /#(.*)/ ... n.href) | provenance | Config |
| regexp-exec.js:9:11:9:20 | [, group1] | regexp-exec.js:9:11:9:58 | group1 | provenance | |
| regexp-exec.js:9:11:9:58 | group1 | regexp-exec.js:10:28:10:33 | group1 | provenance | |
| regexp-exec.js:9:11:9:20 | [, group1] | regexp-exec.js:9:14:9:19 | group1 | provenance | |
| regexp-exec.js:9:14:9:19 | group1 | regexp-exec.js:10:28:10:33 | group1 | provenance | |
| regexp-exec.js:9:24:9:58 | /\\?(.*) ... n.href) | regexp-exec.js:9:11:9:20 | [, group1] | provenance | |
| regexp-exec.js:9:38:9:57 | window.location.href | regexp-exec.js:9:24:9:58 | /\\?(.*) ... n.href) | provenance | Config |
| regexp-exec.js:29:11:29:20 | [, group1] | regexp-exec.js:29:11:29:58 | group1 | provenance | |
| regexp-exec.js:29:11:29:58 | group1 | regexp-exec.js:30:28:30:33 | group1 | provenance | |
| regexp-exec.js:29:11:29:20 | [, group1] | regexp-exec.js:29:14:29:19 | group1 | provenance | |
| regexp-exec.js:29:14:29:19 | group1 | regexp-exec.js:30:28:30:33 | group1 | provenance | |
| regexp-exec.js:29:24:29:43 | window.location.href | regexp-exec.js:29:24:29:58 | window. ... #(.*)/) | provenance | Config |
| regexp-exec.js:29:24:29:58 | window. ... #(.*)/) | regexp-exec.js:29:11:29:20 | [, group1] | provenance | |
| regexp-exec.js:34:11:34:20 | [, group1] | regexp-exec.js:34:11:34:64 | group1 | provenance | |
| regexp-exec.js:34:11:34:64 | group1 | regexp-exec.js:35:28:35:33 | group1 | provenance | |
| regexp-exec.js:34:11:34:20 | [, group1] | regexp-exec.js:34:14:34:19 | group1 | provenance | |
| regexp-exec.js:34:14:34:19 | group1 | regexp-exec.js:35:28:35:33 | group1 | provenance | |
| regexp-exec.js:34:24:34:43 | window.location.href | regexp-exec.js:34:24:34:61 | window. ... #(.*)/) | provenance | Config |
| regexp-exec.js:34:24:34:61 | window. ... #(.*)/) | regexp-exec.js:34:11:34:20 | [, group1] | provenance | |
| regexp-exec.js:39:11:39:20 | [, group1] | regexp-exec.js:39:11:39:71 | group1 | provenance | |
| regexp-exec.js:39:11:39:71 | group1 | regexp-exec.js:40:28:40:33 | group1 | provenance | |
| regexp-exec.js:39:11:39:20 | [, group1] | regexp-exec.js:39:14:39:19 | group1 | provenance | |
| regexp-exec.js:39:14:39:19 | group1 | regexp-exec.js:40:28:40:33 | group1 | provenance | |
| regexp-exec.js:39:24:39:71 | new Reg ... n.href) | regexp-exec.js:39:11:39:20 | [, group1] | provenance | |
| regexp-exec.js:39:51:39:70 | window.location.href | regexp-exec.js:39:24:39:71 | new Reg ... n.href) | provenance | Config |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:4:27:4:29 | url | provenance | |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:16:27:16:29 | url | provenance | |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:19:27:19:29 | url | provenance | |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:22:27:22:29 | url | provenance | |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:25:27:25:29 | url | provenance | |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:28:27:28:29 | url | provenance | |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:31:27:31:29 | url | provenance | |
| sanitizer.js:2:9:2:25 | url | sanitizer.js:37:27:37:29 | url | provenance | |
| sanitizer.js:2:15:2:25 | window.name | sanitizer.js:2:9:2:25 | url | provenance | |
| tst2.js:2:7:2:33 | href | tst2.js:3:21:3:24 | href | provenance | |
| tst2.js:2:14:2:33 | window.location.href | tst2.js:2:7:2:33 | href | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:4:27:4:29 | url | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:16:27:16:29 | url | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:19:27:19:29 | url | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:22:27:22:29 | url | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:25:27:25:29 | url | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:28:27:28:29 | url | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:31:27:31:29 | url | provenance | |
| sanitizer.js:2:9:2:11 | url | sanitizer.js:37:27:37:29 | url | provenance | |
| sanitizer.js:2:15:2:25 | window.name | sanitizer.js:2:9:2:11 | url | provenance | |
| tst2.js:2:7:2:10 | href | tst2.js:3:21:3:24 | href | provenance | |
| tst2.js:2:14:2:33 | window.location.href | tst2.js:2:7:2:10 | href | provenance | |
| tst2.js:3:21:3:24 | href | tst2.js:3:21:3:55 | href.su ... '?')+1) | provenance | Config |
| tst6.js:2:7:2:45 | redirect | tst6.js:3:21:3:28 | redirect | provenance | |
| tst6.js:2:7:2:45 | redirect | tst6.js:4:17:4:24 | redirect | provenance | |
| tst6.js:2:18:2:45 | $locati ... irect') | tst6.js:2:7:2:45 | redirect | provenance | |
| tst6.js:2:7:2:14 | redirect | tst6.js:3:21:3:28 | redirect | provenance | |
| tst6.js:2:7:2:14 | redirect | tst6.js:4:17:4:24 | redirect | provenance | |
| tst6.js:2:18:2:45 | $locati ... irect') | tst6.js:2:7:2:14 | redirect | provenance | |
| tst6.js:5:21:5:48 | $locati ... irect') | tst6.js:5:21:5:56 | $locati ... + "foo" | provenance | |
| tst7.js:1:12:1:35 | documen ... .search | tst7.js:1:12:1:48 | documen ... ring(1) | provenance | Config |
| tst7.js:3:27:3:50 | documen ... .search | tst7.js:3:27:3:63 | documen ... ring(1) | provenance | Config |
@@ -126,63 +126,63 @@ edges
| tst10.js:8:27:8:63 | documen ... ring(1) | tst10.js:8:17:8:63 | '//foo' ... ring(1) | provenance | |
| tst10.js:10:33:10:56 | documen ... .search | tst10.js:10:33:10:69 | documen ... ring(1) | provenance | Config |
| tst10.js:10:33:10:69 | documen ... ring(1) | tst10.js:10:17:10:69 | 'https: ... ring(1) | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:4:15:4:21 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:8:21:8:27 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:12:14:12:20 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:16:17:16:23 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:20:14:20:20 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:24:14:24:20 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:28:21:28:27 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:32:17:32:23 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:36:21:36:27 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:40:15:40:21 | payload | provenance | |
| tst13.js:2:9:2:52 | payload | tst13.js:44:14:44:20 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:4:15:4:21 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:8:21:8:27 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:12:14:12:20 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:16:17:16:23 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:20:14:20:20 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:24:14:24:20 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:28:21:28:27 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:32:17:32:23 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:36:21:36:27 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:40:15:40:21 | payload | provenance | |
| tst13.js:2:9:2:15 | payload | tst13.js:44:14:44:20 | payload | provenance | |
| tst13.js:2:19:2:42 | documen ... .search | tst13.js:2:19:2:52 | documen ... bstr(1) | provenance | Config |
| tst13.js:2:19:2:52 | documen ... bstr(1) | tst13.js:2:9:2:52 | payload | provenance | |
| tst13.js:2:19:2:52 | documen ... bstr(1) | tst13.js:2:9:2:15 | payload | provenance | |
| tst13.js:49:32:49:32 | e | tst13.js:50:23:50:23 | e | provenance | |
| tst13.js:52:34:52:34 | e | tst13.js:53:28:53:28 | e | provenance | |
| tst13.js:59:9:59:52 | payload | tst13.js:61:18:61:24 | payload | provenance | |
| tst13.js:59:9:59:15 | payload | tst13.js:61:18:61:24 | payload | provenance | |
| tst13.js:59:19:59:42 | documen ... .search | tst13.js:59:19:59:52 | documen ... bstr(1) | provenance | Config |
| tst13.js:59:19:59:52 | documen ... bstr(1) | tst13.js:59:9:59:52 | payload | provenance | |
| tst13.js:65:9:65:49 | payload | tst13.js:67:21:67:27 | payload | provenance | |
| tst13.js:59:19:59:52 | documen ... bstr(1) | tst13.js:59:9:59:15 | payload | provenance | |
| tst13.js:65:9:65:15 | payload | tst13.js:67:21:67:27 | payload | provenance | |
| tst13.js:65:19:65:39 | history ... on.hash | tst13.js:65:19:65:49 | history ... bstr(1) | provenance | |
| tst13.js:65:19:65:49 | history ... bstr(1) | tst13.js:65:9:65:49 | payload | provenance | |
| tst13.js:72:9:72:49 | payload | tst13.js:74:21:74:27 | payload | provenance | |
| tst13.js:65:19:65:49 | history ... bstr(1) | tst13.js:65:9:65:15 | payload | provenance | |
| tst13.js:72:9:72:15 | payload | tst13.js:74:21:74:27 | payload | provenance | |
| tst13.js:72:19:72:39 | history ... on.hash | tst13.js:72:19:72:49 | history ... bstr(1) | provenance | |
| tst13.js:72:19:72:49 | history ... bstr(1) | tst13.js:72:9:72:49 | payload | provenance | |
| tst13.js:78:9:78:48 | url | tst13.js:80:21:80:23 | url | provenance | |
| tst13.js:78:9:78:48 | url | tst13.js:81:28:81:30 | url | provenance | |
| tst13.js:78:9:78:48 | url | tst13.js:82:27:82:29 | url | provenance | |
| tst13.js:78:9:78:48 | url | tst13.js:83:22:83:24 | url | provenance | |
| tst13.js:72:19:72:49 | history ... bstr(1) | tst13.js:72:9:72:15 | payload | provenance | |
| tst13.js:78:9:78:11 | url | tst13.js:80:21:80:23 | url | provenance | |
| tst13.js:78:9:78:11 | url | tst13.js:81:28:81:30 | url | provenance | |
| tst13.js:78:9:78:11 | url | tst13.js:82:27:82:29 | url | provenance | |
| tst13.js:78:9:78:11 | url | tst13.js:83:22:83:24 | url | provenance | |
| tst13.js:78:15:78:38 | documen ... .search | tst13.js:78:15:78:48 | documen ... bstr(1) | provenance | Config |
| tst13.js:78:15:78:48 | documen ... bstr(1) | tst13.js:78:9:78:48 | url | provenance | |
| tst15.js:2:9:2:42 | url | tst15.js:3:23:3:25 | url | provenance | |
| tst15.js:2:9:2:42 | url | tst15.js:4:23:4:25 | url | provenance | |
| tst15.js:2:9:2:42 | url | tst15.js:5:23:5:25 | url | provenance | |
| tst13.js:78:15:78:48 | documen ... bstr(1) | tst13.js:78:9:78:11 | url | provenance | |
| tst15.js:2:9:2:11 | url | tst15.js:3:23:3:25 | url | provenance | |
| tst15.js:2:9:2:11 | url | tst15.js:4:23:4:25 | url | provenance | |
| tst15.js:2:9:2:11 | url | tst15.js:5:23:5:25 | url | provenance | |
| tst15.js:2:15:2:31 | document.location | tst15.js:2:15:2:42 | documen ... tring() | provenance | |
| tst15.js:2:15:2:42 | documen ... tring() | tst15.js:2:9:2:42 | url | provenance | |
| tst15.js:2:15:2:42 | documen ... tring() | tst15.js:2:9:2:11 | url | provenance | |
| tst15.js:3:23:3:25 | url | tst15.js:3:23:3:38 | url.substring(0) | provenance | |
| tst15.js:3:23:3:38 | url.substring(0) | tst15.js:3:23:3:51 | url.sub ... ring(1) | provenance | Config |
| tst15.js:4:23:4:25 | url | tst15.js:4:23:4:42 | url.substring(0, 10) | provenance | |
| tst15.js:4:23:4:42 | url.substring(0, 10) | tst15.js:4:23:4:55 | url.sub ... ring(1) | provenance | Config |
| tst15.js:5:23:5:25 | url | tst15.js:5:23:5:60 | url.sub ... ', 10)) | provenance | |
| tst15.js:5:23:5:60 | url.sub ... ', 10)) | tst15.js:5:23:5:73 | url.sub ... ring(1) | provenance | Config |
| tst15.js:7:9:7:43 | url2 | tst15.js:8:23:8:26 | url2 | provenance | |
| tst15.js:7:9:7:43 | url2 | tst15.js:9:23:9:26 | url2 | provenance | |
| tst15.js:7:9:7:43 | url2 | tst15.js:10:23:10:26 | url2 | provenance | |
| tst15.js:7:9:7:12 | url2 | tst15.js:8:23:8:26 | url2 | provenance | |
| tst15.js:7:9:7:12 | url2 | tst15.js:9:23:9:26 | url2 | provenance | |
| tst15.js:7:9:7:12 | url2 | tst15.js:10:23:10:26 | url2 | provenance | |
| tst15.js:7:16:7:32 | document.location | tst15.js:7:16:7:43 | documen ... tring() | provenance | |
| tst15.js:7:16:7:43 | documen ... tring() | tst15.js:7:9:7:43 | url2 | provenance | |
| tst15.js:7:16:7:43 | documen ... tring() | tst15.js:7:9:7:12 | url2 | provenance | |
| tst15.js:8:23:8:26 | url2 | tst15.js:8:23:8:39 | url2.substring(0) | provenance | |
| tst15.js:8:23:8:39 | url2.substring(0) | tst15.js:8:23:8:60 | url2.su ... nown()) | provenance | Config |
| tst15.js:9:23:9:26 | url2 | tst15.js:9:23:9:43 | url2.su ... (0, 10) | provenance | |
| tst15.js:9:23:9:43 | url2.su ... (0, 10) | tst15.js:9:23:9:64 | url2.su ... nown()) | provenance | Config |
| tst15.js:10:23:10:26 | url2 | tst15.js:10:23:10:62 | url2.su ... ', 10)) | provenance | |
| tst15.js:10:23:10:62 | url2.su ... ', 10)) | tst15.js:10:23:10:83 | url2.su ... nown()) | provenance | Config |
| tst15.js:12:9:12:52 | search | tst15.js:13:23:13:28 | search | provenance | |
| tst15.js:12:9:12:52 | search | tst15.js:14:23:14:28 | search | provenance | |
| tst15.js:12:9:12:52 | search | tst15.js:15:23:15:28 | search | provenance | |
| tst15.js:12:9:12:14 | search | tst15.js:13:23:13:28 | search | provenance | |
| tst15.js:12:9:12:14 | search | tst15.js:14:23:14:28 | search | provenance | |
| tst15.js:12:9:12:14 | search | tst15.js:15:23:15:28 | search | provenance | |
| tst15.js:12:18:12:41 | documen ... .search | tst15.js:12:18:12:52 | documen ... tring() | provenance | |
| tst15.js:12:18:12:52 | documen ... tring() | tst15.js:12:9:12:52 | search | provenance | |
| tst15.js:12:18:12:52 | documen ... tring() | tst15.js:12:9:12:14 | search | provenance | |
| tst15.js:13:23:13:28 | search | tst15.js:13:23:13:41 | search.substring(0) | provenance | |
| tst15.js:13:23:13:41 | search.substring(0) | tst15.js:13:23:13:54 | search. ... ring(1) | provenance | Config |
| tst15.js:14:23:14:28 | search | tst15.js:14:23:14:45 | search. ... (0, 10) | provenance | |
@@ -208,9 +208,9 @@ edges
| tst.js:19:34:19:55 | documen ... on.href | tst.js:19:20:19:56 | indirec ... n.href) | provenance | Config |
| tst.js:23:22:23:79 | new Reg ... n.href) | tst.js:23:22:23:82 | new Reg ... ref)[1] | provenance | |
| tst.js:23:62:23:78 | win.location.href | tst.js:23:22:23:79 | new Reg ... n.href) | provenance | Config |
| typed.ts:4:13:4:49 | params | typed.ts:5:25:5:30 | params | provenance | |
| typed.ts:4:13:4:18 | params | typed.ts:5:25:5:30 | params | provenance | |
| typed.ts:4:22:4:36 | location.search | typed.ts:4:22:4:49 | locatio ... ring(1) | provenance | Config |
| typed.ts:4:22:4:49 | locatio ... ring(1) | typed.ts:4:13:4:49 | params | provenance | |
| typed.ts:4:22:4:49 | locatio ... ring(1) | typed.ts:4:13:4:18 | params | provenance | |
| typed.ts:5:25:5:30 | params | typed.ts:7:24:7:34 | redirectUri | provenance | |
| typed.ts:7:24:7:34 | redirectUri | typed.ts:8:33:8:43 | redirectUri | provenance | |
| typed.ts:25:25:25:34 | loc.search | typed.ts:25:25:25:47 | loc.sea ... ring(1) | provenance | Config |
@@ -236,31 +236,31 @@ nodes
| react.js:43:19:43:40 | documen ... on.hash | semmle.label | documen ... on.hash |
| react.js:43:19:43:50 | documen ... bstr(1) | semmle.label | documen ... bstr(1) |
| regexp-exec.js:4:11:4:20 | [, group1] | semmle.label | [, group1] |
| regexp-exec.js:4:11:4:57 | group1 | semmle.label | group1 |
| regexp-exec.js:4:14:4:19 | group1 | semmle.label | group1 |
| regexp-exec.js:4:24:4:57 | /#(.*)/ ... n.href) | semmle.label | /#(.*)/ ... n.href) |
| regexp-exec.js:4:37:4:56 | window.location.href | semmle.label | window.location.href |
| regexp-exec.js:5:28:5:33 | group1 | semmle.label | group1 |
| regexp-exec.js:9:11:9:20 | [, group1] | semmle.label | [, group1] |
| regexp-exec.js:9:11:9:58 | group1 | semmle.label | group1 |
| regexp-exec.js:9:14:9:19 | group1 | semmle.label | group1 |
| regexp-exec.js:9:24:9:58 | /\\?(.*) ... n.href) | semmle.label | /\\?(.*) ... n.href) |
| regexp-exec.js:9:38:9:57 | window.location.href | semmle.label | window.location.href |
| regexp-exec.js:10:28:10:33 | group1 | semmle.label | group1 |
| regexp-exec.js:29:11:29:20 | [, group1] | semmle.label | [, group1] |
| regexp-exec.js:29:11:29:58 | group1 | semmle.label | group1 |
| regexp-exec.js:29:14:29:19 | group1 | semmle.label | group1 |
| regexp-exec.js:29:24:29:43 | window.location.href | semmle.label | window.location.href |
| regexp-exec.js:29:24:29:58 | window. ... #(.*)/) | semmle.label | window. ... #(.*)/) |
| regexp-exec.js:30:28:30:33 | group1 | semmle.label | group1 |
| regexp-exec.js:34:11:34:20 | [, group1] | semmle.label | [, group1] |
| regexp-exec.js:34:11:34:64 | group1 | semmle.label | group1 |
| regexp-exec.js:34:14:34:19 | group1 | semmle.label | group1 |
| regexp-exec.js:34:24:34:43 | window.location.href | semmle.label | window.location.href |
| regexp-exec.js:34:24:34:61 | window. ... #(.*)/) | semmle.label | window. ... #(.*)/) |
| regexp-exec.js:35:28:35:33 | group1 | semmle.label | group1 |
| regexp-exec.js:39:11:39:20 | [, group1] | semmle.label | [, group1] |
| regexp-exec.js:39:11:39:71 | group1 | semmle.label | group1 |
| regexp-exec.js:39:14:39:19 | group1 | semmle.label | group1 |
| regexp-exec.js:39:24:39:71 | new Reg ... n.href) | semmle.label | new Reg ... n.href) |
| regexp-exec.js:39:51:39:70 | window.location.href | semmle.label | window.location.href |
| regexp-exec.js:40:28:40:33 | group1 | semmle.label | group1 |
| sanitizer.js:2:9:2:25 | url | semmle.label | url |
| sanitizer.js:2:9:2:11 | url | semmle.label | url |
| sanitizer.js:2:15:2:25 | window.name | semmle.label | window.name |
| sanitizer.js:4:27:4:29 | url | semmle.label | url |
| sanitizer.js:16:27:16:29 | url | semmle.label | url |
@@ -270,11 +270,11 @@ nodes
| sanitizer.js:28:27:28:29 | url | semmle.label | url |
| sanitizer.js:31:27:31:29 | url | semmle.label | url |
| sanitizer.js:37:27:37:29 | url | semmle.label | url |
| tst2.js:2:7:2:33 | href | semmle.label | href |
| tst2.js:2:7:2:10 | href | semmle.label | href |
| tst2.js:2:14:2:33 | window.location.href | semmle.label | window.location.href |
| tst2.js:3:21:3:24 | href | semmle.label | href |
| tst2.js:3:21:3:55 | href.su ... '?')+1) | semmle.label | href.su ... '?')+1) |
| tst6.js:2:7:2:45 | redirect | semmle.label | redirect |
| tst6.js:2:7:2:14 | redirect | semmle.label | redirect |
| tst6.js:2:18:2:45 | $locati ... irect') | semmle.label | $locati ... irect') |
| tst6.js:3:21:3:28 | redirect | semmle.label | redirect |
| tst6.js:4:17:4:24 | redirect | semmle.label | redirect |
@@ -298,7 +298,7 @@ nodes
| tst10.js:10:17:10:69 | 'https: ... ring(1) | semmle.label | 'https: ... ring(1) |
| tst10.js:10:33:10:56 | documen ... .search | semmle.label | documen ... .search |
| tst10.js:10:33:10:69 | documen ... ring(1) | semmle.label | documen ... ring(1) |
| tst13.js:2:9:2:52 | payload | semmle.label | payload |
| tst13.js:2:9:2:15 | payload | semmle.label | payload |
| tst13.js:2:19:2:42 | documen ... .search | semmle.label | documen ... .search |
| tst13.js:2:19:2:52 | documen ... bstr(1) | semmle.label | documen ... bstr(1) |
| tst13.js:4:15:4:21 | payload | semmle.label | payload |
@@ -316,26 +316,26 @@ nodes
| tst13.js:50:23:50:23 | e | semmle.label | e |
| tst13.js:52:34:52:34 | e | semmle.label | e |
| tst13.js:53:28:53:28 | e | semmle.label | e |
| tst13.js:59:9:59:52 | payload | semmle.label | payload |
| tst13.js:59:9:59:15 | payload | semmle.label | payload |
| tst13.js:59:19:59:42 | documen ... .search | semmle.label | documen ... .search |
| tst13.js:59:19:59:52 | documen ... bstr(1) | semmle.label | documen ... bstr(1) |
| tst13.js:61:18:61:24 | payload | semmle.label | payload |
| tst13.js:65:9:65:49 | payload | semmle.label | payload |
| tst13.js:65:9:65:15 | payload | semmle.label | payload |
| tst13.js:65:19:65:39 | history ... on.hash | semmle.label | history ... on.hash |
| tst13.js:65:19:65:49 | history ... bstr(1) | semmle.label | history ... bstr(1) |
| tst13.js:67:21:67:27 | payload | semmle.label | payload |
| tst13.js:72:9:72:49 | payload | semmle.label | payload |
| tst13.js:72:9:72:15 | payload | semmle.label | payload |
| tst13.js:72:19:72:39 | history ... on.hash | semmle.label | history ... on.hash |
| tst13.js:72:19:72:49 | history ... bstr(1) | semmle.label | history ... bstr(1) |
| tst13.js:74:21:74:27 | payload | semmle.label | payload |
| tst13.js:78:9:78:48 | url | semmle.label | url |
| tst13.js:78:9:78:11 | url | semmle.label | url |
| tst13.js:78:15:78:38 | documen ... .search | semmle.label | documen ... .search |
| tst13.js:78:15:78:48 | documen ... bstr(1) | semmle.label | documen ... bstr(1) |
| tst13.js:80:21:80:23 | url | semmle.label | url |
| tst13.js:81:28:81:30 | url | semmle.label | url |
| tst13.js:82:27:82:29 | url | semmle.label | url |
| tst13.js:83:22:83:24 | url | semmle.label | url |
| tst15.js:2:9:2:42 | url | semmle.label | url |
| tst15.js:2:9:2:11 | url | semmle.label | url |
| tst15.js:2:15:2:31 | document.location | semmle.label | document.location |
| tst15.js:2:15:2:42 | documen ... tring() | semmle.label | documen ... tring() |
| tst15.js:3:23:3:25 | url | semmle.label | url |
@@ -347,7 +347,7 @@ nodes
| tst15.js:5:23:5:25 | url | semmle.label | url |
| tst15.js:5:23:5:60 | url.sub ... ', 10)) | semmle.label | url.sub ... ', 10)) |
| tst15.js:5:23:5:73 | url.sub ... ring(1) | semmle.label | url.sub ... ring(1) |
| tst15.js:7:9:7:43 | url2 | semmle.label | url2 |
| tst15.js:7:9:7:12 | url2 | semmle.label | url2 |
| tst15.js:7:16:7:32 | document.location | semmle.label | document.location |
| tst15.js:7:16:7:43 | documen ... tring() | semmle.label | documen ... tring() |
| tst15.js:8:23:8:26 | url2 | semmle.label | url2 |
@@ -359,7 +359,7 @@ nodes
| tst15.js:10:23:10:26 | url2 | semmle.label | url2 |
| tst15.js:10:23:10:62 | url2.su ... ', 10)) | semmle.label | url2.su ... ', 10)) |
| tst15.js:10:23:10:83 | url2.su ... nown()) | semmle.label | url2.su ... nown()) |
| tst15.js:12:9:12:52 | search | semmle.label | search |
| tst15.js:12:9:12:14 | search | semmle.label | search |
| tst15.js:12:18:12:41 | documen ... .search | semmle.label | documen ... .search |
| tst15.js:12:18:12:52 | documen ... tring() | semmle.label | documen ... tring() |
| tst15.js:13:23:13:28 | search | semmle.label | search |
@@ -400,7 +400,7 @@ nodes
| tst.js:23:22:23:79 | new Reg ... n.href) | semmle.label | new Reg ... n.href) |
| tst.js:23:22:23:82 | new Reg ... ref)[1] | semmle.label | new Reg ... ref)[1] |
| tst.js:23:62:23:78 | win.location.href | semmle.label | win.location.href |
| typed.ts:4:13:4:49 | params | semmle.label | params |
| typed.ts:4:13:4:18 | params | semmle.label | params |
| typed.ts:4:22:4:36 | location.search | semmle.label | location.search |
| typed.ts:4:22:4:49 | locatio ... ring(1) | semmle.label | locatio ... ring(1) |
| typed.ts:5:25:5:30 | params | semmle.label | params |

View File

@@ -30,16 +30,16 @@
| react-native.js:8:17:8:23 | tainted | react-native.js:7:17:7:33 | req.param("code") | react-native.js:8:17:8:23 | tainted | Untrusted URL redirection depends on a $@. | react-native.js:7:17:7:33 | req.param("code") | user-provided value |
| react-native.js:9:26:9:32 | tainted | react-native.js:7:17:7:33 | req.param("code") | react-native.js:9:26:9:32 | tainted | Untrusted URL redirection depends on a $@. | react-native.js:7:17:7:33 | req.param("code") | user-provided value |
edges
| ServerSideUrlRedirectGood2.js:16:7:16:34 | target | ServerSideUrlRedirectGood2.js:18:18:18:23 | target | provenance | |
| ServerSideUrlRedirectGood2.js:16:16:16:34 | req.query["target"] | ServerSideUrlRedirectGood2.js:16:7:16:34 | target | provenance | |
| express.js:25:7:25:34 | target | express.js:30:18:30:23 | target | provenance | |
| express.js:25:7:25:34 | target | express.js:31:16:31:21 | target | provenance | |
| express.js:25:16:25:34 | req.param("target") | express.js:25:7:25:34 | target | provenance | |
| ServerSideUrlRedirectGood2.js:16:7:16:12 | target | ServerSideUrlRedirectGood2.js:18:18:18:23 | target | provenance | |
| ServerSideUrlRedirectGood2.js:16:16:16:34 | req.query["target"] | ServerSideUrlRedirectGood2.js:16:7:16:12 | target | provenance | |
| express.js:25:7:25:12 | target | express.js:30:18:30:23 | target | provenance | |
| express.js:25:7:25:12 | target | express.js:31:16:31:21 | target | provenance | |
| express.js:25:16:25:34 | req.param("target") | express.js:25:7:25:12 | target | provenance | |
| express.js:35:69:35:87 | req.param('action') | express.js:35:16:35:108 | (req.pa ... ntacts" | provenance | |
| express.js:68:19:68:37 | req.param("target") | express.js:68:16:68:43 | `${req. ... )}/foo` | provenance | |
| express.js:77:7:77:34 | target | express.js:83:18:83:23 | target | provenance | |
| express.js:77:7:77:34 | target | express.js:89:16:89:21 | target | provenance | |
| express.js:77:16:77:34 | req.param("target") | express.js:77:7:77:34 | target | provenance | |
| express.js:77:7:77:12 | target | express.js:83:18:83:23 | target | provenance | |
| express.js:77:7:77:12 | target | express.js:89:16:89:21 | target | provenance | |
| express.js:77:16:77:34 | req.param("target") | express.js:77:7:77:12 | target | provenance | |
| express.js:109:16:109:63 | [req.qu ... ection] | express.js:109:16:109:72 | [req.qu ... oin('') | provenance | |
| express.js:109:16:109:63 | [req.qu ... ection] [0] | express.js:109:16:109:72 | [req.qu ... oin('') | provenance | |
| express.js:109:17:109:30 | req.query.page | express.js:109:16:109:63 | [req.qu ... ection] | provenance | |
@@ -50,45 +50,45 @@ edges
| express.js:124:22:124:36 | req.params.user | express.js:124:16:124:36 | '/' + r ... ms.user | provenance | |
| express.js:125:23:125:37 | req.params.user | express.js:125:16:125:37 | '//' + ... ms.user | provenance | |
| express.js:126:22:126:36 | req.params.user | express.js:126:16:126:36 | 'u' + r ... ms.user | provenance | |
| express.js:140:7:140:34 | target | express.js:145:18:145:23 | target | provenance | |
| express.js:140:7:140:34 | target | express.js:150:18:150:23 | target | provenance | |
| express.js:140:16:140:34 | req.param("target") | express.js:140:7:140:34 | target | provenance | |
| express.js:154:7:154:54 | myThing | express.js:155:16:155:22 | myThing | provenance | |
| express.js:154:7:154:54 | myThing [ArrayElement] | express.js:155:16:155:22 | myThing | provenance | |
| express.js:140:7:140:12 | target | express.js:145:18:145:23 | target | provenance | |
| express.js:140:7:140:12 | target | express.js:150:18:150:23 | target | provenance | |
| express.js:140:16:140:34 | req.param("target") | express.js:140:7:140:12 | target | provenance | |
| express.js:154:7:154:13 | myThing | express.js:155:16:155:22 | myThing | provenance | |
| express.js:154:7:154:13 | myThing [ArrayElement] | express.js:155:16:155:22 | myThing | provenance | |
| express.js:154:17:154:41 | JSON.st ... .query) | express.js:154:17:154:54 | JSON.st ... (1, -1) | provenance | |
| express.js:154:17:154:41 | JSON.st ... .query) | express.js:154:17:154:54 | JSON.st ... (1, -1) [ArrayElement] | provenance | |
| express.js:154:17:154:54 | JSON.st ... (1, -1) | express.js:154:7:154:54 | myThing | provenance | |
| express.js:154:17:154:54 | JSON.st ... (1, -1) [ArrayElement] | express.js:154:7:154:54 | myThing [ArrayElement] | provenance | |
| express.js:154:17:154:54 | JSON.st ... (1, -1) | express.js:154:7:154:13 | myThing | provenance | |
| express.js:154:17:154:54 | JSON.st ... (1, -1) [ArrayElement] | express.js:154:7:154:13 | myThing [ArrayElement] | provenance | |
| express.js:154:32:154:40 | req.query | express.js:154:17:154:41 | JSON.st ... .query) | provenance | |
| koa.js:6:6:6:27 | url | koa.js:7:15:7:17 | url | provenance | |
| koa.js:6:6:6:27 | url | koa.js:8:18:8:20 | url | provenance | |
| koa.js:6:6:6:27 | url | koa.js:14:16:14:18 | url | provenance | |
| koa.js:6:6:6:27 | url | koa.js:20:16:20:18 | url | provenance | |
| koa.js:6:12:6:27 | ctx.query.target | koa.js:6:6:6:27 | url | provenance | |
| koa.js:6:6:6:8 | url | koa.js:7:15:7:17 | url | provenance | |
| koa.js:6:6:6:8 | url | koa.js:8:18:8:20 | url | provenance | |
| koa.js:6:6:6:8 | url | koa.js:14:16:14:18 | url | provenance | |
| koa.js:6:6:6:8 | url | koa.js:20:16:20:18 | url | provenance | |
| koa.js:6:12:6:27 | ctx.query.target | koa.js:6:6:6:8 | url | provenance | |
| koa.js:8:18:8:20 | url | koa.js:8:15:8:26 | `${url}${x}` | provenance | |
| next.ts:11:31:11:38 | req.body | next.ts:11:31:11:50 | req.body.callbackUrl | provenance | |
| node.js:5:7:5:52 | target | node.js:6:34:6:39 | target | provenance | |
| node.js:5:16:5:39 | url.par ... , true) | node.js:5:7:5:52 | target | provenance | |
| node.js:5:7:5:12 | target | node.js:6:34:6:39 | target | provenance | |
| node.js:5:16:5:39 | url.par ... , true) | node.js:5:7:5:12 | target | provenance | |
| node.js:5:26:5:32 | req.url | node.js:5:16:5:39 | url.par ... , true) | provenance | |
| node.js:10:7:10:52 | target | node.js:13:40:13:45 | target | provenance | |
| node.js:10:16:10:39 | url.par ... , true) | node.js:10:7:10:52 | target | provenance | |
| node.js:10:7:10:12 | target | node.js:13:40:13:45 | target | provenance | |
| node.js:10:16:10:39 | url.par ... , true) | node.js:10:7:10:12 | target | provenance | |
| node.js:10:26:10:32 | req.url | node.js:10:16:10:39 | url.par ... , true) | provenance | |
| node.js:13:40:13:45 | target | node.js:13:34:13:45 | '/' + target | provenance | |
| node.js:27:7:27:52 | target | node.js:29:34:29:39 | target | provenance | |
| node.js:27:16:27:39 | url.par ... , true) | node.js:27:7:27:52 | target | provenance | |
| node.js:27:7:27:12 | target | node.js:29:34:29:39 | target | provenance | |
| node.js:27:16:27:39 | url.par ... , true) | node.js:27:7:27:12 | target | provenance | |
| node.js:27:26:27:32 | req.url | node.js:27:16:27:39 | url.par ... , true) | provenance | |
| node.js:29:34:29:39 | target | node.js:29:34:29:55 | target ... =" + me | provenance | |
| react-native.js:7:7:7:33 | tainted | react-native.js:8:17:8:23 | tainted | provenance | |
| react-native.js:7:7:7:33 | tainted | react-native.js:9:26:9:32 | tainted | provenance | |
| react-native.js:7:17:7:33 | req.param("code") | react-native.js:7:7:7:33 | tainted | provenance | |
| react-native.js:7:7:7:13 | tainted | react-native.js:8:17:8:23 | tainted | provenance | |
| react-native.js:7:7:7:13 | tainted | react-native.js:9:26:9:32 | tainted | provenance | |
| react-native.js:7:17:7:33 | req.param("code") | react-native.js:7:7:7:13 | tainted | provenance | |
nodes
| ServerSideUrlRedirect.js:4:16:4:34 | req.query["target"] | semmle.label | req.query["target"] |
| ServerSideUrlRedirectGood2.js:16:7:16:34 | target | semmle.label | target |
| ServerSideUrlRedirectGood2.js:16:7:16:12 | target | semmle.label | target |
| ServerSideUrlRedirectGood2.js:16:16:16:34 | req.query["target"] | semmle.label | req.query["target"] |
| ServerSideUrlRedirectGood2.js:18:18:18:23 | target | semmle.label | target |
| express.js:6:16:6:34 | req.param("target") | semmle.label | req.param("target") |
| express.js:10:26:10:44 | req.param("target") | semmle.label | req.param("target") |
| express.js:25:7:25:34 | target | semmle.label | target |
| express.js:25:7:25:12 | target | semmle.label | target |
| express.js:25:16:25:34 | req.param("target") | semmle.label | req.param("target") |
| express.js:30:18:30:23 | target | semmle.label | target |
| express.js:31:16:31:21 | target | semmle.label | target |
@@ -96,7 +96,7 @@ nodes
| express.js:35:69:35:87 | req.param('action') | semmle.label | req.param('action') |
| express.js:68:16:68:43 | `${req. ... )}/foo` | semmle.label | `${req. ... )}/foo` |
| express.js:68:19:68:37 | req.param("target") | semmle.label | req.param("target") |
| express.js:77:7:77:34 | target | semmle.label | target |
| express.js:77:7:77:12 | target | semmle.label | target |
| express.js:77:16:77:34 | req.param("target") | semmle.label | req.param("target") |
| express.js:83:18:83:23 | target | semmle.label | target |
| express.js:89:16:89:21 | target | semmle.label | target |
@@ -115,18 +115,18 @@ nodes
| express.js:126:22:126:36 | req.params.user | semmle.label | req.params.user |
| express.js:133:16:133:28 | req.query.foo | semmle.label | req.query.foo |
| express.js:136:16:136:24 | query.foo | semmle.label | query.foo |
| express.js:140:7:140:34 | target | semmle.label | target |
| express.js:140:7:140:12 | target | semmle.label | target |
| express.js:140:16:140:34 | req.param("target") | semmle.label | req.param("target") |
| express.js:145:18:145:23 | target | semmle.label | target |
| express.js:150:18:150:23 | target | semmle.label | target |
| express.js:154:7:154:54 | myThing | semmle.label | myThing |
| express.js:154:7:154:54 | myThing [ArrayElement] | semmle.label | myThing [ArrayElement] |
| express.js:154:7:154:13 | myThing | semmle.label | myThing |
| express.js:154:7:154:13 | myThing [ArrayElement] | semmle.label | myThing [ArrayElement] |
| express.js:154:17:154:41 | JSON.st ... .query) | semmle.label | JSON.st ... .query) |
| express.js:154:17:154:54 | JSON.st ... (1, -1) | semmle.label | JSON.st ... (1, -1) |
| express.js:154:17:154:54 | JSON.st ... (1, -1) [ArrayElement] | semmle.label | JSON.st ... (1, -1) [ArrayElement] |
| express.js:154:32:154:40 | req.query | semmle.label | req.query |
| express.js:155:16:155:22 | myThing | semmle.label | myThing |
| koa.js:6:6:6:27 | url | semmle.label | url |
| koa.js:6:6:6:8 | url | semmle.label | url |
| koa.js:6:12:6:27 | ctx.query.target | semmle.label | ctx.query.target |
| koa.js:7:15:7:17 | url | semmle.label | url |
| koa.js:8:15:8:26 | `${url}${x}` | semmle.label | `${url}${x}` |
@@ -135,21 +135,21 @@ nodes
| koa.js:20:16:20:18 | url | semmle.label | url |
| next.ts:11:31:11:38 | req.body | semmle.label | req.body |
| next.ts:11:31:11:50 | req.body.callbackUrl | semmle.label | req.body.callbackUrl |
| node.js:5:7:5:52 | target | semmle.label | target |
| node.js:5:7:5:12 | target | semmle.label | target |
| node.js:5:16:5:39 | url.par ... , true) | semmle.label | url.par ... , true) |
| node.js:5:26:5:32 | req.url | semmle.label | req.url |
| node.js:6:34:6:39 | target | semmle.label | target |
| node.js:10:7:10:52 | target | semmle.label | target |
| node.js:10:7:10:12 | target | semmle.label | target |
| node.js:10:16:10:39 | url.par ... , true) | semmle.label | url.par ... , true) |
| node.js:10:26:10:32 | req.url | semmle.label | req.url |
| node.js:13:34:13:45 | '/' + target | semmle.label | '/' + target |
| node.js:13:40:13:45 | target | semmle.label | target |
| node.js:27:7:27:52 | target | semmle.label | target |
| node.js:27:7:27:12 | target | semmle.label | target |
| node.js:27:16:27:39 | url.par ... , true) | semmle.label | url.par ... , true) |
| node.js:27:26:27:32 | req.url | semmle.label | req.url |
| node.js:29:34:29:39 | target | semmle.label | target |
| node.js:29:34:29:55 | target ... =" + me | semmle.label | target ... =" + me |
| react-native.js:7:7:7:33 | tainted | semmle.label | tainted |
| react-native.js:7:7:7:13 | tainted | semmle.label | tainted |
| react-native.js:7:17:7:33 | req.param("code") | semmle.label | req.param("code") |
| react-native.js:8:17:8:23 | tainted | semmle.label | tainted |
| react-native.js:9:26:9:32 | tainted | semmle.label | tainted |

View File

@@ -8,12 +8,12 @@
| libxml.sax.js:6:22:6:42 | req.par ... e-xml") | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | XML parsing depends on a $@ without guarding against external entity expansion. | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | user-provided value |
| libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | XML parsing depends on a $@ without guarding against external entity expansion. | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | user-provided value |
edges
| domparser.js:2:7:2:36 | src | domparser.js:10:55:10:57 | src | provenance | |
| domparser.js:2:7:2:36 | src | domparser.js:12:57:12:59 | src | provenance | |
| domparser.js:2:13:2:36 | documen ... .search | domparser.js:2:7:2:36 | src | provenance | |
| domparser.js:2:7:2:9 | src | domparser.js:10:55:10:57 | src | provenance | |
| domparser.js:2:7:2:9 | src | domparser.js:12:57:12:59 | src | provenance | |
| domparser.js:2:13:2:36 | documen ... .search | domparser.js:2:7:2:9 | src | provenance | |
| libxml.noent.js:12:27:12:35 | req.files | libxml.noent.js:12:27:12:66 | req.fil ... 'utf8') | provenance | |
nodes
| domparser.js:2:7:2:36 | src | semmle.label | src |
| domparser.js:2:7:2:9 | src | semmle.label | src |
| domparser.js:2:13:2:36 | documen ... .search | semmle.label | documen ... .search |
| domparser.js:10:55:10:57 | src | semmle.label | src |
| domparser.js:12:57:12:59 | src | semmle.label | src |

View File

@@ -7,19 +7,19 @@
| tst.js:9:17:9:23 | tainted | tst.js:6:17:6:37 | req.par ... rName") | tst.js:9:17:9:23 | tainted | XPath expression depends on a $@. | tst.js:6:17:6:37 | req.par ... rName") | user-provided value |
| tst.js:11:8:11:14 | tainted | tst.js:6:17:6:37 | req.par ... rName") | tst.js:11:8:11:14 | tainted | XPath expression depends on a $@. | tst.js:6:17:6:37 | req.par ... rName") | user-provided value |
edges
| XpathInjectionBad.js:6:7:6:38 | userName | XpathInjectionBad.js:8:66:8:73 | userName | provenance | |
| XpathInjectionBad.js:6:18:6:38 | req.par ... rName") | XpathInjectionBad.js:6:7:6:38 | userName | provenance | |
| XpathInjectionBad.js:6:7:6:14 | userName | XpathInjectionBad.js:8:66:8:73 | userName | provenance | |
| XpathInjectionBad.js:6:18:6:38 | req.par ... rName") | XpathInjectionBad.js:6:7:6:14 | userName | provenance | |
| XpathInjectionBad.js:8:66:8:73 | userName | XpathInjectionBad.js:8:34:8:96 | "//user ... text()" | provenance | |
| tst2.js:1:13:1:34 | documen ... on.hash | tst2.js:1:13:1:47 | documen ... ring(1) | provenance | |
| tst2.js:1:13:1:47 | documen ... ring(1) | tst2.js:2:27:2:31 | query | provenance | |
| tst2.js:1:13:1:47 | documen ... ring(1) | tst2.js:3:19:3:23 | query | provenance | |
| tst.js:6:7:6:37 | tainted | tst.js:7:15:7:21 | tainted | provenance | |
| tst.js:6:7:6:37 | tainted | tst.js:8:16:8:22 | tainted | provenance | |
| tst.js:6:7:6:37 | tainted | tst.js:9:17:9:23 | tainted | provenance | |
| tst.js:6:7:6:37 | tainted | tst.js:11:8:11:14 | tainted | provenance | |
| tst.js:6:17:6:37 | req.par ... rName") | tst.js:6:7:6:37 | tainted | provenance | |
| tst.js:6:7:6:13 | tainted | tst.js:7:15:7:21 | tainted | provenance | |
| tst.js:6:7:6:13 | tainted | tst.js:8:16:8:22 | tainted | provenance | |
| tst.js:6:7:6:13 | tainted | tst.js:9:17:9:23 | tainted | provenance | |
| tst.js:6:7:6:13 | tainted | tst.js:11:8:11:14 | tainted | provenance | |
| tst.js:6:17:6:37 | req.par ... rName") | tst.js:6:7:6:13 | tainted | provenance | |
nodes
| XpathInjectionBad.js:6:7:6:38 | userName | semmle.label | userName |
| XpathInjectionBad.js:6:7:6:14 | userName | semmle.label | userName |
| XpathInjectionBad.js:6:18:6:38 | req.par ... rName") | semmle.label | req.par ... rName") |
| XpathInjectionBad.js:8:34:8:96 | "//user ... text()" | semmle.label | "//user ... text()" |
| XpathInjectionBad.js:8:66:8:73 | userName | semmle.label | userName |
@@ -27,7 +27,7 @@ nodes
| tst2.js:1:13:1:47 | documen ... ring(1) | semmle.label | documen ... ring(1) |
| tst2.js:2:27:2:31 | query | semmle.label | query |
| tst2.js:3:19:3:23 | query | semmle.label | query |
| tst.js:6:7:6:37 | tainted | semmle.label | tainted |
| tst.js:6:7:6:13 | tainted | semmle.label | tainted |
| tst.js:6:17:6:37 | req.par ... rName") | semmle.label | req.par ... rName") |
| tst.js:7:15:7:21 | tainted | semmle.label | tainted |
| tst.js:8:16:8:22 | tainted | semmle.label | tainted |

View File

@@ -18,19 +18,19 @@
| RegExpInjection.js:95:14:95:22 | sanitized | RegExpInjection.js:92:15:92:32 | req.param("input") | RegExpInjection.js:95:14:95:22 | sanitized | This regular expression is constructed from a $@. | RegExpInjection.js:92:15:92:32 | req.param("input") | user-provided value |
| tst.js:6:16:6:35 | "^"+ data.name + "$" | tst.js:5:16:5:29 | req.query.data | tst.js:6:16:6:35 | "^"+ data.name + "$" | This regular expression is constructed from a $@. | tst.js:5:16:5:29 | req.query.data | user-provided value |
edges
| RegExpInjection.js:5:7:5:28 | key | RegExpInjection.js:7:31:7:33 | key | provenance | |
| RegExpInjection.js:5:7:5:28 | key | RegExpInjection.js:17:19:17:21 | key | provenance | |
| RegExpInjection.js:5:7:5:28 | key | RegExpInjection.js:18:19:18:21 | key | provenance | |
| RegExpInjection.js:5:7:5:28 | key | RegExpInjection.js:28:12:28:14 | key | provenance | |
| RegExpInjection.js:5:7:5:28 | key | RegExpInjection.js:49:14:49:16 | key | provenance | |
| RegExpInjection.js:5:13:5:28 | req.param("key") | RegExpInjection.js:5:7:5:28 | key | provenance | |
| RegExpInjection.js:5:31:5:56 | input | RegExpInjection.js:35:23:35:27 | input | provenance | |
| RegExpInjection.js:5:31:5:56 | input | RegExpInjection.js:36:26:36:30 | input | provenance | |
| RegExpInjection.js:5:31:5:56 | input | RegExpInjection.js:37:25:37:29 | input | provenance | |
| RegExpInjection.js:5:31:5:56 | input | RegExpInjection.js:40:24:40:28 | input | provenance | |
| RegExpInjection.js:5:31:5:56 | input | RegExpInjection.js:41:27:41:31 | input | provenance | |
| RegExpInjection.js:5:31:5:56 | input | RegExpInjection.js:42:26:42:30 | input | provenance | |
| RegExpInjection.js:5:39:5:56 | req.param("input") | RegExpInjection.js:5:31:5:56 | input | provenance | |
| RegExpInjection.js:5:7:5:9 | key | RegExpInjection.js:7:31:7:33 | key | provenance | |
| RegExpInjection.js:5:7:5:9 | key | RegExpInjection.js:17:19:17:21 | key | provenance | |
| RegExpInjection.js:5:7:5:9 | key | RegExpInjection.js:18:19:18:21 | key | provenance | |
| RegExpInjection.js:5:7:5:9 | key | RegExpInjection.js:28:12:28:14 | key | provenance | |
| RegExpInjection.js:5:7:5:9 | key | RegExpInjection.js:49:14:49:16 | key | provenance | |
| RegExpInjection.js:5:13:5:28 | req.param("key") | RegExpInjection.js:5:7:5:9 | key | provenance | |
| RegExpInjection.js:5:31:5:35 | input | RegExpInjection.js:35:23:35:27 | input | provenance | |
| RegExpInjection.js:5:31:5:35 | input | RegExpInjection.js:36:26:36:30 | input | provenance | |
| RegExpInjection.js:5:31:5:35 | input | RegExpInjection.js:37:25:37:29 | input | provenance | |
| RegExpInjection.js:5:31:5:35 | input | RegExpInjection.js:40:24:40:28 | input | provenance | |
| RegExpInjection.js:5:31:5:35 | input | RegExpInjection.js:41:27:41:31 | input | provenance | |
| RegExpInjection.js:5:31:5:35 | input | RegExpInjection.js:42:26:42:30 | input | provenance | |
| RegExpInjection.js:5:39:5:56 | req.param("input") | RegExpInjection.js:5:31:5:35 | input | provenance | |
| RegExpInjection.js:7:31:7:33 | key | RegExpInjection.js:7:23:7:45 | "\\\\b" + ... (.*)\\n" | provenance | |
| RegExpInjection.js:9:17:9:17 | s | RegExpInjection.js:10:26:10:26 | s | provenance | |
| RegExpInjection.js:10:20:10:27 | wrap2(s) | RegExpInjection.js:10:12:10:27 | "\\\\b" + wrap2(s) | provenance | |
@@ -50,25 +50,25 @@ edges
| RegExpInjection.js:49:14:49:16 | key | RegExpInjection.js:49:14:49:27 | key.split(".") [ArrayElement] | provenance | |
| RegExpInjection.js:49:14:49:27 | key.split(".") [ArrayElement] | RegExpInjection.js:49:14:49:42 | key.spl ... x => x) [ArrayElement] | provenance | |
| RegExpInjection.js:49:14:49:42 | key.spl ... x => x) [ArrayElement] | RegExpInjection.js:49:14:49:52 | key.spl ... in("-") | provenance | |
| RegExpInjection.js:55:31:55:56 | input | RegExpInjection.js:59:14:59:18 | input | provenance | |
| RegExpInjection.js:55:39:55:56 | req.param("input") | RegExpInjection.js:55:31:55:56 | input | provenance | |
| RegExpInjection.js:77:7:77:32 | input | RegExpInjection.js:82:25:82:29 | input | provenance | |
| RegExpInjection.js:77:15:77:32 | req.param("input") | RegExpInjection.js:77:7:77:32 | input | provenance | |
| RegExpInjection.js:55:31:55:35 | input | RegExpInjection.js:59:14:59:18 | input | provenance | |
| RegExpInjection.js:55:39:55:56 | req.param("input") | RegExpInjection.js:55:31:55:35 | input | provenance | |
| RegExpInjection.js:77:7:77:11 | input | RegExpInjection.js:82:25:82:29 | input | provenance | |
| RegExpInjection.js:77:15:77:32 | req.param("input") | RegExpInjection.js:77:7:77:11 | input | provenance | |
| RegExpInjection.js:82:25:82:29 | input | RegExpInjection.js:82:25:82:48 | input.r ... g, "\|") | provenance | |
| RegExpInjection.js:82:25:82:48 | input.r ... g, "\|") | RegExpInjection.js:82:14:82:55 | "^.*\\.( ... + ")$" | provenance | |
| RegExpInjection.js:88:20:88:31 | process.argv | RegExpInjection.js:88:16:88:49 | `^${pro ... r.app$` | provenance | |
| RegExpInjection.js:92:7:92:32 | input | RegExpInjection.js:94:19:94:23 | input | provenance | |
| RegExpInjection.js:92:15:92:32 | req.param("input") | RegExpInjection.js:92:7:92:32 | input | provenance | |
| RegExpInjection.js:94:7:94:106 | sanitized | RegExpInjection.js:95:14:95:22 | sanitized | provenance | |
| RegExpInjection.js:92:7:92:11 | input | RegExpInjection.js:94:19:94:23 | input | provenance | |
| RegExpInjection.js:92:15:92:32 | req.param("input") | RegExpInjection.js:92:7:92:11 | input | provenance | |
| RegExpInjection.js:94:7:94:15 | sanitized | RegExpInjection.js:95:14:95:22 | sanitized | provenance | |
| RegExpInjection.js:94:19:94:23 | input | RegExpInjection.js:94:19:94:106 | input.r ... "\\\\$&") | provenance | |
| RegExpInjection.js:94:19:94:106 | input.r ... "\\\\$&") | RegExpInjection.js:94:7:94:106 | sanitized | provenance | |
| tst.js:5:9:5:29 | data | tst.js:6:21:6:24 | data | provenance | |
| tst.js:5:16:5:29 | req.query.data | tst.js:5:9:5:29 | data | provenance | |
| RegExpInjection.js:94:19:94:106 | input.r ... "\\\\$&") | RegExpInjection.js:94:7:94:15 | sanitized | provenance | |
| tst.js:5:9:5:12 | data | tst.js:6:21:6:24 | data | provenance | |
| tst.js:5:16:5:29 | req.query.data | tst.js:5:9:5:12 | data | provenance | |
| tst.js:6:21:6:24 | data | tst.js:6:16:6:35 | "^"+ data.name + "$" | provenance | |
nodes
| RegExpInjection.js:5:7:5:28 | key | semmle.label | key |
| RegExpInjection.js:5:7:5:9 | key | semmle.label | key |
| RegExpInjection.js:5:13:5:28 | req.param("key") | semmle.label | req.param("key") |
| RegExpInjection.js:5:31:5:56 | input | semmle.label | input |
| RegExpInjection.js:5:31:5:35 | input | semmle.label | input |
| RegExpInjection.js:5:39:5:56 | req.param("input") | semmle.label | req.param("input") |
| RegExpInjection.js:7:23:7:45 | "\\\\b" + ... (.*)\\n" | semmle.label | "\\\\b" + ... (.*)\\n" |
| RegExpInjection.js:7:31:7:33 | key | semmle.label | key |
@@ -99,23 +99,23 @@ nodes
| RegExpInjection.js:49:14:49:27 | key.split(".") [ArrayElement] | semmle.label | key.split(".") [ArrayElement] |
| RegExpInjection.js:49:14:49:42 | key.spl ... x => x) [ArrayElement] | semmle.label | key.spl ... x => x) [ArrayElement] |
| RegExpInjection.js:49:14:49:52 | key.spl ... in("-") | semmle.label | key.spl ... in("-") |
| RegExpInjection.js:55:31:55:56 | input | semmle.label | input |
| RegExpInjection.js:55:31:55:35 | input | semmle.label | input |
| RegExpInjection.js:55:39:55:56 | req.param("input") | semmle.label | req.param("input") |
| RegExpInjection.js:59:14:59:18 | input | semmle.label | input |
| RegExpInjection.js:77:7:77:32 | input | semmle.label | input |
| RegExpInjection.js:77:7:77:11 | input | semmle.label | input |
| RegExpInjection.js:77:15:77:32 | req.param("input") | semmle.label | req.param("input") |
| RegExpInjection.js:82:14:82:55 | "^.*\\.( ... + ")$" | semmle.label | "^.*\\.( ... + ")$" |
| RegExpInjection.js:82:25:82:29 | input | semmle.label | input |
| RegExpInjection.js:82:25:82:48 | input.r ... g, "\|") | semmle.label | input.r ... g, "\|") |
| RegExpInjection.js:88:16:88:49 | `^${pro ... r.app$` | semmle.label | `^${pro ... r.app$` |
| RegExpInjection.js:88:20:88:31 | process.argv | semmle.label | process.argv |
| RegExpInjection.js:92:7:92:32 | input | semmle.label | input |
| RegExpInjection.js:92:7:92:11 | input | semmle.label | input |
| RegExpInjection.js:92:15:92:32 | req.param("input") | semmle.label | req.param("input") |
| RegExpInjection.js:94:7:94:106 | sanitized | semmle.label | sanitized |
| RegExpInjection.js:94:7:94:15 | sanitized | semmle.label | sanitized |
| RegExpInjection.js:94:19:94:23 | input | semmle.label | input |
| RegExpInjection.js:94:19:94:106 | input.r ... "\\\\$&") | semmle.label | input.r ... "\\\\$&") |
| RegExpInjection.js:95:14:95:22 | sanitized | semmle.label | sanitized |
| tst.js:5:9:5:29 | data | semmle.label | data |
| tst.js:5:9:5:12 | data | semmle.label | data |
| tst.js:5:16:5:29 | req.query.data | semmle.label | req.query.data |
| tst.js:6:16:6:35 | "^"+ data.name + "$" | semmle.label | "^"+ data.name + "$" |
| tst.js:6:21:6:24 | data | semmle.label | data |

View File

@@ -8,27 +8,27 @@
edges
| RegExpInjection.js:6:18:6:28 | process.env | RegExpInjection.js:6:14:6:48 | `^${pro ... r.app$` | provenance | |
| RegExpInjection.js:8:18:8:28 | process.env | RegExpInjection.js:8:14:8:40 | `^${pro ... }/bin$` | provenance | |
| RegExpInjection.js:10:7:10:35 | envVar | RegExpInjection.js:11:14:11:19 | envVar | provenance | |
| RegExpInjection.js:10:16:10:26 | process.env | RegExpInjection.js:10:7:10:35 | envVar | provenance | |
| RegExpInjection.js:10:7:10:12 | envVar | RegExpInjection.js:11:14:11:19 | envVar | provenance | |
| RegExpInjection.js:10:16:10:26 | process.env | RegExpInjection.js:10:7:10:12 | envVar | provenance | |
| RegExpInjection.js:14:18:14:29 | process.argv | RegExpInjection.js:14:14:14:47 | `^${pro ... r.app$` | provenance | |
| RegExpInjection.js:16:7:16:28 | argv | RegExpInjection.js:17:14:17:17 | argv | provenance | |
| RegExpInjection.js:16:14:16:25 | process.argv | RegExpInjection.js:16:7:16:28 | argv | provenance | |
| RegExpInjection.js:20:7:20:36 | userInput | RegExpInjection.js:21:14:21:22 | userInput | provenance | |
| RegExpInjection.js:20:19:20:36 | req.param("input") | RegExpInjection.js:20:7:20:36 | userInput | provenance | |
| RegExpInjection.js:16:7:16:10 | argv | RegExpInjection.js:17:14:17:17 | argv | provenance | |
| RegExpInjection.js:16:14:16:25 | process.argv | RegExpInjection.js:16:7:16:10 | argv | provenance | |
| RegExpInjection.js:20:7:20:15 | userInput | RegExpInjection.js:21:14:21:22 | userInput | provenance | |
| RegExpInjection.js:20:19:20:36 | req.param("input") | RegExpInjection.js:20:7:20:15 | userInput | provenance | |
nodes
| RegExpInjection.js:6:14:6:48 | `^${pro ... r.app$` | semmle.label | `^${pro ... r.app$` |
| RegExpInjection.js:6:18:6:28 | process.env | semmle.label | process.env |
| RegExpInjection.js:8:14:8:40 | `^${pro ... }/bin$` | semmle.label | `^${pro ... }/bin$` |
| RegExpInjection.js:8:18:8:28 | process.env | semmle.label | process.env |
| RegExpInjection.js:10:7:10:35 | envVar | semmle.label | envVar |
| RegExpInjection.js:10:7:10:12 | envVar | semmle.label | envVar |
| RegExpInjection.js:10:16:10:26 | process.env | semmle.label | process.env |
| RegExpInjection.js:11:14:11:19 | envVar | semmle.label | envVar |
| RegExpInjection.js:14:14:14:47 | `^${pro ... r.app$` | semmle.label | `^${pro ... r.app$` |
| RegExpInjection.js:14:18:14:29 | process.argv | semmle.label | process.argv |
| RegExpInjection.js:16:7:16:28 | argv | semmle.label | argv |
| RegExpInjection.js:16:7:16:10 | argv | semmle.label | argv |
| RegExpInjection.js:16:14:16:25 | process.argv | semmle.label | process.argv |
| RegExpInjection.js:17:14:17:17 | argv | semmle.label | argv |
| RegExpInjection.js:20:7:20:36 | userInput | semmle.label | userInput |
| RegExpInjection.js:20:7:20:15 | userInput | semmle.label | userInput |
| RegExpInjection.js:20:19:20:36 | req.param("input") | semmle.label | req.param("input") |
| RegExpInjection.js:21:14:21:22 | userInput | semmle.label | userInput |
subpaths

View File

@@ -16,82 +16,82 @@
| tst.js:50:5:50:6 | fn | tst.js:47:39:47:40 | ev | tst.js:50:5:50:6 | fn | Invocation of method with $@ name may dispatch to unexpected target and cause an exception. | tst.js:47:39:47:40 | ev | user-controlled |
edges
| UnsafeDynamicMethodAccess.js:5:37:5:38 | ev | UnsafeDynamicMethodAccess.js:6:30:6:31 | ev | provenance | |
| UnsafeDynamicMethodAccess.js:6:9:6:37 | message | UnsafeDynamicMethodAccess.js:15:9:15:15 | message | provenance | |
| UnsafeDynamicMethodAccess.js:6:19:6:37 | JSON.parse(ev.data) | UnsafeDynamicMethodAccess.js:6:9:6:37 | message | provenance | |
| UnsafeDynamicMethodAccess.js:6:9:6:15 | message | UnsafeDynamicMethodAccess.js:15:9:15:15 | message | provenance | |
| UnsafeDynamicMethodAccess.js:6:19:6:37 | JSON.parse(ev.data) | UnsafeDynamicMethodAccess.js:6:9:6:15 | message | provenance | |
| UnsafeDynamicMethodAccess.js:6:30:6:31 | ev | UnsafeDynamicMethodAccess.js:6:30:6:36 | ev.data | provenance | Config |
| UnsafeDynamicMethodAccess.js:6:30:6:36 | ev.data | UnsafeDynamicMethodAccess.js:6:19:6:37 | JSON.parse(ev.data) | provenance | Config |
| UnsafeDynamicMethodAccess.js:15:9:15:15 | message | UnsafeDynamicMethodAccess.js:15:9:15:20 | message.name | provenance | Config |
| UnsafeDynamicMethodAccess.js:15:9:15:20 | message.name | UnsafeDynamicMethodAccess.js:15:5:15:21 | obj[message.name] | provenance | Config |
| UnvalidatedDynamicMethodCall2.js:13:9:13:47 | action | UnvalidatedDynamicMethodCall2.js:14:13:14:18 | action | provenance | |
| UnvalidatedDynamicMethodCall2.js:13:18:13:47 | actions ... action) | UnvalidatedDynamicMethodCall2.js:13:9:13:47 | action | provenance | |
| UnvalidatedDynamicMethodCall2.js:13:9:13:14 | action | UnvalidatedDynamicMethodCall2.js:14:13:14:18 | action | provenance | |
| UnvalidatedDynamicMethodCall2.js:13:18:13:47 | actions ... action) | UnvalidatedDynamicMethodCall2.js:13:9:13:14 | action | provenance | |
| UnvalidatedDynamicMethodCall2.js:13:30:13:46 | req.params.action | UnvalidatedDynamicMethodCall2.js:13:18:13:47 | actions ... action) | provenance | Config |
| UnvalidatedDynamicMethodCall.js:14:7:14:41 | action | UnvalidatedDynamicMethodCall.js:15:11:15:16 | action | provenance | |
| UnvalidatedDynamicMethodCall.js:14:16:14:41 | actions ... action] | UnvalidatedDynamicMethodCall.js:14:7:14:41 | action | provenance | |
| UnvalidatedDynamicMethodCall.js:14:7:14:12 | action | UnvalidatedDynamicMethodCall.js:15:11:15:16 | action | provenance | |
| UnvalidatedDynamicMethodCall.js:14:16:14:41 | actions ... action] | UnvalidatedDynamicMethodCall.js:14:7:14:12 | action | provenance | |
| UnvalidatedDynamicMethodCall.js:14:24:14:40 | req.params.action | UnvalidatedDynamicMethodCall.js:14:16:14:41 | actions ... action] | provenance | Config |
| UnvalidatedDynamicMethodCallGood4.js:14:13:14:51 | action | UnvalidatedDynamicMethodCallGood4.js:15:17:15:22 | action | provenance | |
| UnvalidatedDynamicMethodCallGood4.js:14:22:14:51 | actions ... action) | UnvalidatedDynamicMethodCallGood4.js:14:13:14:51 | action | provenance | |
| UnvalidatedDynamicMethodCallGood4.js:14:13:14:18 | action | UnvalidatedDynamicMethodCallGood4.js:15:17:15:22 | action | provenance | |
| UnvalidatedDynamicMethodCallGood4.js:14:22:14:51 | actions ... action) | UnvalidatedDynamicMethodCallGood4.js:14:13:14:18 | action | provenance | |
| UnvalidatedDynamicMethodCallGood4.js:14:34:14:50 | req.params.action | UnvalidatedDynamicMethodCallGood4.js:14:22:14:51 | actions ... action) | provenance | Config |
| tst.js:6:39:6:40 | ev | tst.js:7:27:7:28 | ev | provenance | |
| tst.js:6:39:6:40 | ev | tst.js:9:9:9:10 | ev | provenance | |
| tst.js:7:9:7:39 | name | tst.js:11:9:11:12 | name | provenance | |
| tst.js:7:9:7:39 | name | tst.js:17:18:17:21 | name | provenance | |
| tst.js:7:9:7:39 | name | tst.js:21:11:21:14 | name | provenance | |
| tst.js:7:9:7:39 | name | tst.js:26:11:26:14 | name | provenance | |
| tst.js:7:9:7:39 | name | tst.js:28:11:28:14 | name | provenance | |
| tst.js:7:9:7:39 | name | tst.js:34:21:34:24 | name | provenance | |
| tst.js:7:9:7:12 | name | tst.js:11:9:11:12 | name | provenance | |
| tst.js:7:9:7:12 | name | tst.js:17:18:17:21 | name | provenance | |
| tst.js:7:9:7:12 | name | tst.js:21:11:21:14 | name | provenance | |
| tst.js:7:9:7:12 | name | tst.js:26:11:26:14 | name | provenance | |
| tst.js:7:9:7:12 | name | tst.js:28:11:28:14 | name | provenance | |
| tst.js:7:9:7:12 | name | tst.js:34:21:34:24 | name | provenance | |
| tst.js:7:16:7:34 | JSON.parse(ev.data) | tst.js:7:16:7:39 | JSON.pa ... a).name | provenance | Config |
| tst.js:7:16:7:39 | JSON.pa ... a).name | tst.js:7:9:7:39 | name | provenance | |
| tst.js:7:16:7:39 | JSON.pa ... a).name | tst.js:7:9:7:12 | name | provenance | |
| tst.js:7:27:7:28 | ev | tst.js:7:27:7:33 | ev.data | provenance | Config |
| tst.js:7:27:7:33 | ev.data | tst.js:7:16:7:34 | JSON.parse(ev.data) | provenance | Config |
| tst.js:9:9:9:10 | ev | tst.js:9:9:9:15 | ev.data | provenance | Config |
| tst.js:9:9:9:15 | ev.data | tst.js:9:5:9:16 | obj[ev.data] | provenance | Config |
| tst.js:11:9:11:12 | name | tst.js:11:5:11:13 | obj[name] | provenance | Config |
| tst.js:17:9:17:22 | fn | tst.js:18:5:18:6 | fn | provenance | |
| tst.js:17:9:17:22 | fn | tst.js:20:7:20:8 | fn | provenance | |
| tst.js:17:9:17:22 | fn | tst.js:22:11:22:12 | fn | provenance | |
| tst.js:17:14:17:22 | obj[name] | tst.js:17:9:17:22 | fn | provenance | |
| tst.js:17:9:17:10 | fn | tst.js:18:5:18:6 | fn | provenance | |
| tst.js:17:9:17:10 | fn | tst.js:20:7:20:8 | fn | provenance | |
| tst.js:17:9:17:10 | fn | tst.js:22:11:22:12 | fn | provenance | |
| tst.js:17:14:17:22 | obj[name] | tst.js:17:9:17:10 | fn | provenance | |
| tst.js:17:18:17:21 | name | tst.js:17:14:17:22 | obj[name] | provenance | Config |
| tst.js:21:11:21:14 | name | tst.js:21:7:21:15 | obj[name] | provenance | Config |
| tst.js:26:11:26:14 | name | tst.js:26:7:26:15 | obj[name] | provenance | Config |
| tst.js:28:11:28:14 | name | tst.js:28:7:28:15 | obj[name] | provenance | Config |
| tst.js:34:9:34:24 | key | tst.js:35:9:35:11 | key | provenance | |
| tst.js:34:9:34:24 | key | tst.js:37:11:37:13 | key | provenance | |
| tst.js:34:15:34:24 | "$" + name | tst.js:34:9:34:24 | key | provenance | |
| tst.js:34:9:34:11 | key | tst.js:35:9:35:11 | key | provenance | |
| tst.js:34:9:34:11 | key | tst.js:37:11:37:13 | key | provenance | |
| tst.js:34:15:34:24 | "$" + name | tst.js:34:9:34:11 | key | provenance | |
| tst.js:34:21:34:24 | name | tst.js:34:15:34:24 | "$" + name | provenance | Config |
| tst.js:35:9:35:11 | key | tst.js:35:5:35:12 | obj[key] | provenance | Config |
| tst.js:37:11:37:13 | key | tst.js:37:7:37:14 | obj[key] | provenance | Config |
| tst.js:47:39:47:40 | ev | tst.js:48:27:48:28 | ev | provenance | |
| tst.js:48:9:48:39 | name | tst.js:49:19:49:22 | name | provenance | |
| tst.js:48:9:48:12 | name | tst.js:49:19:49:22 | name | provenance | |
| tst.js:48:16:48:34 | JSON.parse(ev.data) | tst.js:48:16:48:39 | JSON.pa ... a).name | provenance | Config |
| tst.js:48:16:48:39 | JSON.pa ... a).name | tst.js:48:9:48:39 | name | provenance | |
| tst.js:48:16:48:39 | JSON.pa ... a).name | tst.js:48:9:48:12 | name | provenance | |
| tst.js:48:27:48:28 | ev | tst.js:48:27:48:33 | ev.data | provenance | Config |
| tst.js:48:27:48:33 | ev.data | tst.js:48:16:48:34 | JSON.parse(ev.data) | provenance | Config |
| tst.js:49:9:49:23 | fn | tst.js:50:5:50:6 | fn | provenance | |
| tst.js:49:14:49:23 | obj2[name] | tst.js:49:9:49:23 | fn | provenance | |
| tst.js:49:9:49:10 | fn | tst.js:50:5:50:6 | fn | provenance | |
| tst.js:49:14:49:23 | obj2[name] | tst.js:49:9:49:10 | fn | provenance | |
| tst.js:49:19:49:22 | name | tst.js:49:14:49:23 | obj2[name] | provenance | Config |
nodes
| UnsafeDynamicMethodAccess.js:5:37:5:38 | ev | semmle.label | ev |
| UnsafeDynamicMethodAccess.js:6:9:6:37 | message | semmle.label | message |
| UnsafeDynamicMethodAccess.js:6:9:6:15 | message | semmle.label | message |
| UnsafeDynamicMethodAccess.js:6:19:6:37 | JSON.parse(ev.data) | semmle.label | JSON.parse(ev.data) |
| UnsafeDynamicMethodAccess.js:6:30:6:31 | ev | semmle.label | ev |
| UnsafeDynamicMethodAccess.js:6:30:6:36 | ev.data | semmle.label | ev.data |
| UnsafeDynamicMethodAccess.js:15:5:15:21 | obj[message.name] | semmle.label | obj[message.name] |
| UnsafeDynamicMethodAccess.js:15:9:15:15 | message | semmle.label | message |
| UnsafeDynamicMethodAccess.js:15:9:15:20 | message.name | semmle.label | message.name |
| UnvalidatedDynamicMethodCall2.js:13:9:13:47 | action | semmle.label | action |
| UnvalidatedDynamicMethodCall2.js:13:9:13:14 | action | semmle.label | action |
| UnvalidatedDynamicMethodCall2.js:13:18:13:47 | actions ... action) | semmle.label | actions ... action) |
| UnvalidatedDynamicMethodCall2.js:13:30:13:46 | req.params.action | semmle.label | req.params.action |
| UnvalidatedDynamicMethodCall2.js:14:13:14:18 | action | semmle.label | action |
| UnvalidatedDynamicMethodCall.js:14:7:14:41 | action | semmle.label | action |
| UnvalidatedDynamicMethodCall.js:14:7:14:12 | action | semmle.label | action |
| UnvalidatedDynamicMethodCall.js:14:16:14:41 | actions ... action] | semmle.label | actions ... action] |
| UnvalidatedDynamicMethodCall.js:14:24:14:40 | req.params.action | semmle.label | req.params.action |
| UnvalidatedDynamicMethodCall.js:15:11:15:16 | action | semmle.label | action |
| UnvalidatedDynamicMethodCallGood4.js:14:13:14:51 | action | semmle.label | action |
| UnvalidatedDynamicMethodCallGood4.js:14:13:14:18 | action | semmle.label | action |
| UnvalidatedDynamicMethodCallGood4.js:14:22:14:51 | actions ... action) | semmle.label | actions ... action) |
| UnvalidatedDynamicMethodCallGood4.js:14:34:14:50 | req.params.action | semmle.label | req.params.action |
| UnvalidatedDynamicMethodCallGood4.js:15:17:15:22 | action | semmle.label | action |
| tst.js:6:39:6:40 | ev | semmle.label | ev |
| tst.js:7:9:7:39 | name | semmle.label | name |
| tst.js:7:9:7:12 | name | semmle.label | name |
| tst.js:7:16:7:34 | JSON.parse(ev.data) | semmle.label | JSON.parse(ev.data) |
| tst.js:7:16:7:39 | JSON.pa ... a).name | semmle.label | JSON.pa ... a).name |
| tst.js:7:27:7:28 | ev | semmle.label | ev |
@@ -101,7 +101,7 @@ nodes
| tst.js:9:9:9:15 | ev.data | semmle.label | ev.data |
| tst.js:11:5:11:13 | obj[name] | semmle.label | obj[name] |
| tst.js:11:9:11:12 | name | semmle.label | name |
| tst.js:17:9:17:22 | fn | semmle.label | fn |
| tst.js:17:9:17:10 | fn | semmle.label | fn |
| tst.js:17:14:17:22 | obj[name] | semmle.label | obj[name] |
| tst.js:17:18:17:21 | name | semmle.label | name |
| tst.js:18:5:18:6 | fn | semmle.label | fn |
@@ -113,7 +113,7 @@ nodes
| tst.js:26:11:26:14 | name | semmle.label | name |
| tst.js:28:7:28:15 | obj[name] | semmle.label | obj[name] |
| tst.js:28:11:28:14 | name | semmle.label | name |
| tst.js:34:9:34:24 | key | semmle.label | key |
| tst.js:34:9:34:11 | key | semmle.label | key |
| tst.js:34:15:34:24 | "$" + name | semmle.label | "$" + name |
| tst.js:34:21:34:24 | name | semmle.label | name |
| tst.js:35:5:35:12 | obj[key] | semmle.label | obj[key] |
@@ -121,12 +121,12 @@ nodes
| tst.js:37:7:37:14 | obj[key] | semmle.label | obj[key] |
| tst.js:37:11:37:13 | key | semmle.label | key |
| tst.js:47:39:47:40 | ev | semmle.label | ev |
| tst.js:48:9:48:39 | name | semmle.label | name |
| tst.js:48:9:48:12 | name | semmle.label | name |
| tst.js:48:16:48:34 | JSON.parse(ev.data) | semmle.label | JSON.parse(ev.data) |
| tst.js:48:16:48:39 | JSON.pa ... a).name | semmle.label | JSON.pa ... a).name |
| tst.js:48:27:48:28 | ev | semmle.label | ev |
| tst.js:48:27:48:33 | ev.data | semmle.label | ev.data |
| tst.js:49:9:49:23 | fn | semmle.label | fn |
| tst.js:49:9:49:10 | fn | semmle.label | fn |
| tst.js:49:14:49:23 | obj2[name] | semmle.label | obj2[name] |
| tst.js:49:19:49:22 | name | semmle.label | name |
| tst.js:50:5:50:6 | fn | semmle.label | fn |

View File

@@ -20,46 +20,46 @@
| resource-exhaustion.js:88:16:88:16 | n | resource-exhaustion.js:5:21:5:27 | req.url | resource-exhaustion.js:88:16:88:16 | n | This creates a buffer with a user-controlled size from a $@. | resource-exhaustion.js:5:21:5:27 | req.url | user-provided value |
| resource-exhaustion.js:92:18:92:18 | n | resource-exhaustion.js:5:21:5:27 | req.url | resource-exhaustion.js:92:18:92:18 | n | This creates a buffer with a user-controlled size from a $@. | resource-exhaustion.js:5:21:5:27 | req.url | user-provided value |
edges
| documentaion-examples/ResourceExhaustion_timeout.js:5:6:5:59 | delay | documentaion-examples/ResourceExhaustion_timeout.js:7:16:7:20 | delay | provenance | |
| documentaion-examples/ResourceExhaustion_timeout.js:5:14:5:59 | parseIn ... .delay) | documentaion-examples/ResourceExhaustion_timeout.js:5:6:5:59 | delay | provenance | |
| documentaion-examples/ResourceExhaustion_timeout.js:5:6:5:10 | delay | documentaion-examples/ResourceExhaustion_timeout.js:7:16:7:20 | delay | provenance | |
| documentaion-examples/ResourceExhaustion_timeout.js:5:14:5:59 | parseIn ... .delay) | documentaion-examples/ResourceExhaustion_timeout.js:5:6:5:10 | delay | provenance | |
| documentaion-examples/ResourceExhaustion_timeout.js:5:23:5:46 | url.par ... , true) | documentaion-examples/ResourceExhaustion_timeout.js:5:23:5:58 | url.par ... y.delay | provenance | |
| documentaion-examples/ResourceExhaustion_timeout.js:5:23:5:58 | url.par ... y.delay | documentaion-examples/ResourceExhaustion_timeout.js:5:14:5:59 | parseIn ... .delay) | provenance | Config |
| documentaion-examples/ResourceExhaustion_timeout.js:5:33:5:39 | req.url | documentaion-examples/ResourceExhaustion_timeout.js:5:23:5:46 | url.par ... , true) | provenance | |
| resource-exhaustion.js:5:7:5:42 | s | resource-exhaustion.js:6:20:6:20 | s | provenance | |
| resource-exhaustion.js:5:7:5:42 | s | resource-exhaustion.js:35:12:35:12 | s | provenance | |
| resource-exhaustion.js:5:7:5:42 | s | resource-exhaustion.js:82:17:82:17 | s | provenance | |
| resource-exhaustion.js:5:7:5:42 | s | resource-exhaustion.js:84:18:84:18 | s | provenance | |
| resource-exhaustion.js:5:11:5:34 | url.par ... , true) | resource-exhaustion.js:5:7:5:42 | s | provenance | |
| resource-exhaustion.js:5:7:5:7 | s | resource-exhaustion.js:6:20:6:20 | s | provenance | |
| resource-exhaustion.js:5:7:5:7 | s | resource-exhaustion.js:35:12:35:12 | s | provenance | |
| resource-exhaustion.js:5:7:5:7 | s | resource-exhaustion.js:82:17:82:17 | s | provenance | |
| resource-exhaustion.js:5:7:5:7 | s | resource-exhaustion.js:84:18:84:18 | s | provenance | |
| resource-exhaustion.js:5:11:5:34 | url.par ... , true) | resource-exhaustion.js:5:7:5:7 | s | provenance | |
| resource-exhaustion.js:5:21:5:27 | req.url | resource-exhaustion.js:5:11:5:34 | url.par ... , true) | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:14:16:14:16 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:15:22:15:22 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:16:26:16:26 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:20:20:20:20 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:22:18:22:18 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:27:9:27:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:28:13:28:13 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:29:9:29:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:30:9:30:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:31:9:31:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:32:9:32:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:34:12:34:12 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:81:17:81:17 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:83:18:83:18 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:88:16:88:16 | n | provenance | |
| resource-exhaustion.js:6:7:6:21 | n | resource-exhaustion.js:92:18:92:18 | n | provenance | |
| resource-exhaustion.js:6:11:6:21 | parseInt(s) | resource-exhaustion.js:6:7:6:21 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:14:16:14:16 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:15:22:15:22 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:16:26:16:26 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:20:20:20:20 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:22:18:22:18 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:27:9:27:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:28:13:28:13 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:29:9:29:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:30:9:30:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:31:9:31:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:32:9:32:9 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:34:12:34:12 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:81:17:81:17 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:83:18:83:18 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:88:16:88:16 | n | provenance | |
| resource-exhaustion.js:6:7:6:7 | n | resource-exhaustion.js:92:18:92:18 | n | provenance | |
| resource-exhaustion.js:6:11:6:21 | parseInt(s) | resource-exhaustion.js:6:7:6:7 | n | provenance | |
| resource-exhaustion.js:6:20:6:20 | s | resource-exhaustion.js:6:11:6:21 | parseInt(s) | provenance | Config |
nodes
| documentaion-examples/ResourceExhaustion_timeout.js:5:6:5:59 | delay | semmle.label | delay |
| documentaion-examples/ResourceExhaustion_timeout.js:5:6:5:10 | delay | semmle.label | delay |
| documentaion-examples/ResourceExhaustion_timeout.js:5:14:5:59 | parseIn ... .delay) | semmle.label | parseIn ... .delay) |
| documentaion-examples/ResourceExhaustion_timeout.js:5:23:5:46 | url.par ... , true) | semmle.label | url.par ... , true) |
| documentaion-examples/ResourceExhaustion_timeout.js:5:23:5:58 | url.par ... y.delay | semmle.label | url.par ... y.delay |
| documentaion-examples/ResourceExhaustion_timeout.js:5:33:5:39 | req.url | semmle.label | req.url |
| documentaion-examples/ResourceExhaustion_timeout.js:7:16:7:20 | delay | semmle.label | delay |
| resource-exhaustion.js:5:7:5:42 | s | semmle.label | s |
| resource-exhaustion.js:5:7:5:7 | s | semmle.label | s |
| resource-exhaustion.js:5:11:5:34 | url.par ... , true) | semmle.label | url.par ... , true) |
| resource-exhaustion.js:5:21:5:27 | req.url | semmle.label | req.url |
| resource-exhaustion.js:6:7:6:21 | n | semmle.label | n |
| resource-exhaustion.js:6:7:6:7 | n | semmle.label | n |
| resource-exhaustion.js:6:11:6:21 | parseInt(s) | semmle.label | parseInt(s) |
| resource-exhaustion.js:6:20:6:20 | s | semmle.label | s |
| resource-exhaustion.js:14:16:14:16 | n | semmle.label | n |

View File

@@ -10,25 +10,25 @@
| libxml.sax.js:6:22:6:42 | req.par ... e-xml") | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | XML parsing depends on a $@ without guarding against uncontrolled entity expansion. | libxml.sax.js:6:22:6:42 | req.par ... e-xml") | user-provided value |
| libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | XML parsing depends on a $@ without guarding against uncontrolled entity expansion. | libxml.saxpush.js:6:15:6:35 | req.par ... e-xml") | user-provided value |
edges
| closure.js:2:7:2:36 | src | closure.js:3:24:3:26 | src | provenance | |
| closure.js:2:13:2:36 | documen ... .search | closure.js:2:7:2:36 | src | provenance | |
| domparser.js:2:7:2:36 | src | domparser.js:5:37:5:39 | src | provenance | |
| domparser.js:2:7:2:36 | src | domparser.js:9:55:9:57 | src | provenance | |
| domparser.js:2:7:2:36 | src | domparser.js:11:57:11:59 | src | provenance | |
| domparser.js:2:13:2:36 | documen ... .search | domparser.js:2:7:2:36 | src | provenance | |
| jquery.js:2:7:2:36 | src | jquery.js:4:14:4:16 | src | provenance | |
| jquery.js:2:13:2:36 | documen ... .search | jquery.js:2:7:2:36 | src | provenance | |
| closure.js:2:7:2:9 | src | closure.js:3:24:3:26 | src | provenance | |
| closure.js:2:13:2:36 | documen ... .search | closure.js:2:7:2:9 | src | provenance | |
| domparser.js:2:7:2:9 | src | domparser.js:5:37:5:39 | src | provenance | |
| domparser.js:2:7:2:9 | src | domparser.js:9:55:9:57 | src | provenance | |
| domparser.js:2:7:2:9 | src | domparser.js:11:57:11:59 | src | provenance | |
| domparser.js:2:13:2:36 | documen ... .search | domparser.js:2:7:2:9 | src | provenance | |
| jquery.js:2:7:2:9 | src | jquery.js:4:14:4:16 | src | provenance | |
| jquery.js:2:13:2:36 | documen ... .search | jquery.js:2:7:2:9 | src | provenance | |
nodes
| closure.js:2:7:2:36 | src | semmle.label | src |
| closure.js:2:7:2:9 | src | semmle.label | src |
| closure.js:2:13:2:36 | documen ... .search | semmle.label | documen ... .search |
| closure.js:3:24:3:26 | src | semmle.label | src |
| domparser.js:2:7:2:36 | src | semmle.label | src |
| domparser.js:2:7:2:9 | src | semmle.label | src |
| domparser.js:2:13:2:36 | documen ... .search | semmle.label | documen ... .search |
| domparser.js:5:37:5:39 | src | semmle.label | src |
| domparser.js:9:55:9:57 | src | semmle.label | src |
| domparser.js:11:57:11:59 | src | semmle.label | src |
| expat.js:6:16:6:36 | req.par ... e-xml") | semmle.label | req.par ... e-xml") |
| jquery.js:2:7:2:36 | src | semmle.label | src |
| jquery.js:2:7:2:9 | src | semmle.label | src |
| jquery.js:2:13:2:36 | documen ... .search | semmle.label | documen ... .search |
| jquery.js:4:14:4:16 | src | semmle.label | src |
| libxml.js:5:21:5:41 | req.par ... e-xml") | semmle.label | req.par ... e-xml") |

View File

@@ -172,15 +172,15 @@
| __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' | __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' | __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' | The hard-coded value "hgfedcba" is used as $@. | __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' | password |
edges
| HardcodedCredentials.js:18:16:18:30 | "user:hgfedcba" | HardcodedCredentials.js:20:36:20:51 | getCredentials() | provenance | |
| HardcodedCredentials.js:171:11:171:25 | USER | HardcodedCredentials.js:173:35:173:38 | USER | provenance | |
| HardcodedCredentials.js:171:18:171:25 | 'sdsdag' | HardcodedCredentials.js:171:11:171:25 | USER | provenance | |
| HardcodedCredentials.js:172:11:172:25 | PASS | HardcodedCredentials.js:173:43:173:46 | PASS | provenance | |
| HardcodedCredentials.js:172:18:172:25 | 'sdsdag' | HardcodedCredentials.js:172:11:172:25 | PASS | provenance | |
| HardcodedCredentials.js:173:11:173:49 | AUTH | HardcodedCredentials.js:178:39:178:42 | AUTH | provenance | |
| HardcodedCredentials.js:173:11:173:49 | AUTH | HardcodedCredentials.js:188:39:188:42 | AUTH | provenance | |
| HardcodedCredentials.js:173:11:173:49 | AUTH | HardcodedCredentials.js:195:46:195:49 | AUTH | provenance | |
| HardcodedCredentials.js:173:11:173:49 | AUTH | HardcodedCredentials.js:204:44:204:47 | AUTH | provenance | |
| HardcodedCredentials.js:173:18:173:49 | base64. ... PASS}`) | HardcodedCredentials.js:173:11:173:49 | AUTH | provenance | |
| HardcodedCredentials.js:171:11:171:14 | USER | HardcodedCredentials.js:173:35:173:38 | USER | provenance | |
| HardcodedCredentials.js:171:18:171:25 | 'sdsdag' | HardcodedCredentials.js:171:11:171:14 | USER | provenance | |
| HardcodedCredentials.js:172:11:172:14 | PASS | HardcodedCredentials.js:173:43:173:46 | PASS | provenance | |
| HardcodedCredentials.js:172:18:172:25 | 'sdsdag' | HardcodedCredentials.js:172:11:172:14 | PASS | provenance | |
| HardcodedCredentials.js:173:11:173:14 | AUTH | HardcodedCredentials.js:178:39:178:42 | AUTH | provenance | |
| HardcodedCredentials.js:173:11:173:14 | AUTH | HardcodedCredentials.js:188:39:188:42 | AUTH | provenance | |
| HardcodedCredentials.js:173:11:173:14 | AUTH | HardcodedCredentials.js:195:46:195:49 | AUTH | provenance | |
| HardcodedCredentials.js:173:11:173:14 | AUTH | HardcodedCredentials.js:204:44:204:47 | AUTH | provenance | |
| HardcodedCredentials.js:173:18:173:49 | base64. ... PASS}`) | HardcodedCredentials.js:173:11:173:14 | AUTH | provenance | |
| HardcodedCredentials.js:173:32:173:48 | `${USER}:${PASS}` | HardcodedCredentials.js:173:18:173:49 | base64. ... PASS}`) | provenance | Config |
| HardcodedCredentials.js:173:35:173:38 | USER | HardcodedCredentials.js:173:32:173:48 | `${USER}:${PASS}` | provenance | Config |
| HardcodedCredentials.js:173:43:173:46 | PASS | HardcodedCredentials.js:173:32:173:48 | `${USER}:${PASS}` | provenance | Config |
@@ -188,54 +188,54 @@ edges
| HardcodedCredentials.js:188:39:188:42 | AUTH | HardcodedCredentials.js:188:30:188:44 | `Basic ${AUTH}` | provenance | Config |
| HardcodedCredentials.js:195:46:195:49 | AUTH | HardcodedCredentials.js:195:37:195:51 | `Basic ${AUTH}` | provenance | Config |
| HardcodedCredentials.js:204:44:204:47 | AUTH | HardcodedCredentials.js:204:35:204:49 | `Basic ${AUTH}` | provenance | Config |
| HardcodedCredentials.js:214:11:214:25 | USER | HardcodedCredentials.js:216:35:216:38 | USER | provenance | |
| HardcodedCredentials.js:214:18:214:25 | 'sdsdag' | HardcodedCredentials.js:214:11:214:25 | USER | provenance | |
| HardcodedCredentials.js:215:11:215:25 | PASS | HardcodedCredentials.js:216:43:216:46 | PASS | provenance | |
| HardcodedCredentials.js:215:18:215:25 | 'sdsdag' | HardcodedCredentials.js:215:11:215:25 | PASS | provenance | |
| HardcodedCredentials.js:216:11:216:49 | AUTH | HardcodedCredentials.js:221:46:221:49 | AUTH | provenance | |
| HardcodedCredentials.js:216:18:216:49 | base64. ... PASS}`) | HardcodedCredentials.js:216:11:216:49 | AUTH | provenance | |
| HardcodedCredentials.js:214:11:214:14 | USER | HardcodedCredentials.js:216:35:216:38 | USER | provenance | |
| HardcodedCredentials.js:214:18:214:25 | 'sdsdag' | HardcodedCredentials.js:214:11:214:14 | USER | provenance | |
| HardcodedCredentials.js:215:11:215:14 | PASS | HardcodedCredentials.js:216:43:216:46 | PASS | provenance | |
| HardcodedCredentials.js:215:18:215:25 | 'sdsdag' | HardcodedCredentials.js:215:11:215:14 | PASS | provenance | |
| HardcodedCredentials.js:216:11:216:14 | AUTH | HardcodedCredentials.js:221:46:221:49 | AUTH | provenance | |
| HardcodedCredentials.js:216:18:216:49 | base64. ... PASS}`) | HardcodedCredentials.js:216:11:216:14 | AUTH | provenance | |
| HardcodedCredentials.js:216:32:216:48 | `${USER}:${PASS}` | HardcodedCredentials.js:216:18:216:49 | base64. ... PASS}`) | provenance | Config |
| HardcodedCredentials.js:216:35:216:38 | USER | HardcodedCredentials.js:216:32:216:48 | `${USER}:${PASS}` | provenance | Config |
| HardcodedCredentials.js:216:43:216:46 | PASS | HardcodedCredentials.js:216:32:216:48 | `${USER}:${PASS}` | provenance | Config |
| HardcodedCredentials.js:221:46:221:49 | AUTH | HardcodedCredentials.js:221:37:221:51 | `Basic ${AUTH}` | provenance | Config |
| HardcodedCredentials.js:231:11:231:29 | username | HardcodedCredentials.js:237:47:237:54 | username | provenance | |
| HardcodedCredentials.js:231:22:231:29 | 'sdsdag' | HardcodedCredentials.js:231:11:231:29 | username | provenance | |
| HardcodedCredentials.js:231:11:231:18 | username | HardcodedCredentials.js:237:47:237:54 | username | provenance | |
| HardcodedCredentials.js:231:22:231:29 | 'sdsdag' | HardcodedCredentials.js:231:11:231:18 | username | provenance | |
| HardcodedCredentials.js:237:35:237:72 | Buffer. ... ssword) | HardcodedCredentials.js:237:35:237:91 | Buffer. ... ase64') | provenance | Config |
| HardcodedCredentials.js:237:35:237:91 | Buffer. ... ase64') | HardcodedCredentials.js:237:24:237:91 | 'Basic ... ase64') | provenance | Config |
| HardcodedCredentials.js:237:47:237:54 | username | HardcodedCredentials.js:237:47:237:71 | usernam ... assword | provenance | Config |
| HardcodedCredentials.js:237:47:237:71 | usernam ... assword | HardcodedCredentials.js:237:35:237:72 | Buffer. ... ssword) | provenance | Config |
| HardcodedCredentials.js:237:47:237:71 | usernam ... assword | HardcodedCredentials.js:237:35:237:91 | Buffer. ... ase64') | provenance | Config |
| HardcodedCredentials.js:245:9:245:44 | privateKey | HardcodedCredentials.js:246:42:246:51 | privateKey | provenance | |
| HardcodedCredentials.js:245:22:245:44 | "myHard ... ateKey" | HardcodedCredentials.js:245:9:245:44 | privateKey | provenance | |
| HardcodedCredentials.js:248:9:248:42 | publicKey | HardcodedCredentials.js:249:23:249:31 | publicKey | provenance | |
| HardcodedCredentials.js:248:21:248:42 | "myHard ... licKey" | HardcodedCredentials.js:248:9:248:42 | publicKey | provenance | |
| HardcodedCredentials.js:245:9:245:18 | privateKey | HardcodedCredentials.js:246:42:246:51 | privateKey | provenance | |
| HardcodedCredentials.js:245:22:245:44 | "myHard ... ateKey" | HardcodedCredentials.js:245:9:245:18 | privateKey | provenance | |
| HardcodedCredentials.js:248:9:248:17 | publicKey | HardcodedCredentials.js:249:23:249:31 | publicKey | provenance | |
| HardcodedCredentials.js:248:21:248:42 | "myHard ... licKey" | HardcodedCredentials.js:248:9:248:17 | publicKey | provenance | |
| HardcodedCredentials.js:268:33:268:56 | foo ? ' ... 'OAuth' | HardcodedCredentials.js:268:30:268:73 | `${foo ... Token}` | provenance | Config |
| HardcodedCredentials.js:268:39:268:46 | 'Bearer' | HardcodedCredentials.js:268:33:268:56 | foo ? ' ... 'OAuth' | provenance | |
| HardcodedCredentials.js:268:50:268:56 | 'OAuth' | HardcodedCredentials.js:268:33:268:56 | foo ? ' ... 'OAuth' | provenance | |
| HardcodedCredentials.js:308:9:308:44 | privateKey | HardcodedCredentials.js:309:34:309:43 | privateKey | provenance | |
| HardcodedCredentials.js:308:22:308:44 | "myHard ... ateKey" | HardcodedCredentials.js:308:9:308:44 | privateKey | provenance | |
| HardcodedCredentials.js:316:9:316:44 | privateKey | HardcodedCredentials.js:317:52:317:61 | privateKey | provenance | |
| HardcodedCredentials.js:316:22:316:44 | "myHard ... ateKey" | HardcodedCredentials.js:316:9:316:44 | privateKey | provenance | |
| HardcodedCredentials.js:308:9:308:18 | privateKey | HardcodedCredentials.js:309:34:309:43 | privateKey | provenance | |
| HardcodedCredentials.js:308:22:308:44 | "myHard ... ateKey" | HardcodedCredentials.js:308:9:308:18 | privateKey | provenance | |
| HardcodedCredentials.js:316:9:316:18 | privateKey | HardcodedCredentials.js:317:52:317:61 | privateKey | provenance | |
| HardcodedCredentials.js:316:22:316:44 | "myHard ... ateKey" | HardcodedCredentials.js:316:9:316:18 | privateKey | provenance | |
| HardcodedCredentials.js:317:52:317:61 | privateKey | HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) | provenance | Config |
| HardcodedCredentials.js:319:11:321:29 | spki | HardcodedCredentials.js:322:43:322:46 | spki | provenance | |
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` | HardcodedCredentials.js:319:11:321:29 | spki | provenance | |
| HardcodedCredentials.js:322:9:322:56 | publicKey | HardcodedCredentials.js:323:27:323:35 | publicKey | provenance | |
| HardcodedCredentials.js:322:21:322:56 | await j ... RS256') | HardcodedCredentials.js:322:9:322:56 | publicKey | provenance | |
| HardcodedCredentials.js:319:11:319:14 | spki | HardcodedCredentials.js:322:43:322:46 | spki | provenance | |
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` | HardcodedCredentials.js:319:11:319:14 | spki | provenance | |
| HardcodedCredentials.js:322:9:322:17 | publicKey | HardcodedCredentials.js:323:27:323:35 | publicKey | provenance | |
| HardcodedCredentials.js:322:21:322:56 | await j ... RS256') | HardcodedCredentials.js:322:9:322:17 | publicKey | provenance | |
| HardcodedCredentials.js:322:43:322:46 | spki | HardcodedCredentials.js:322:21:322:56 | await j ... RS256') | provenance | Config |
| HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' | HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) | provenance | Config |
| HardcodedCredentials.js:331:5:331:46 | publicKey | HardcodedCredentials.js:335:31:335:39 | publicKey | provenance | |
| HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) | HardcodedCredentials.js:331:5:331:46 | publicKey | provenance | |
| HardcodedCredentials.js:344:9:344:43 | secretKey | HardcodedCredentials.js:349:21:349:29 | secretKey | provenance | |
| HardcodedCredentials.js:344:9:344:43 | secretKey | HardcodedCredentials.js:360:33:360:41 | secretKey | provenance | |
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:344:9:344:43 | secretKey | provenance | |
| HardcodedCredentials.js:331:5:331:13 | publicKey | HardcodedCredentials.js:335:31:335:39 | publicKey | provenance | |
| HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) | HardcodedCredentials.js:331:5:331:13 | publicKey | provenance | |
| HardcodedCredentials.js:344:9:344:17 | secretKey | HardcodedCredentials.js:349:21:349:29 | secretKey | provenance | |
| HardcodedCredentials.js:344:9:344:17 | secretKey | HardcodedCredentials.js:360:33:360:41 | secretKey | provenance | |
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:344:9:344:17 | secretKey | provenance | |
| HardcodedCredentials.js:360:33:360:41 | secretKey | HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") | provenance | Config |
| HardcodedCredentials.js:375:9:375:43 | secretKey | HardcodedCredentials.js:378:24:378:32 | secretKey | provenance | |
| HardcodedCredentials.js:375:9:375:43 | secretKey | HardcodedCredentials.js:385:31:385:39 | secretKey | provenance | |
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:375:9:375:43 | secretKey | provenance | |
| HardcodedCredentials.js:396:9:396:43 | secretKey | HardcodedCredentials.js:399:17:399:25 | secretKey | provenance | |
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" | HardcodedCredentials.js:396:9:396:43 | secretKey | provenance | |
| HardcodedCredentials.js:414:9:414:43 | secretKey | HardcodedCredentials.js:416:27:416:35 | secretKey | provenance | |
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" | HardcodedCredentials.js:414:9:414:43 | secretKey | provenance | |
| HardcodedCredentials.js:375:9:375:17 | secretKey | HardcodedCredentials.js:378:24:378:32 | secretKey | provenance | |
| HardcodedCredentials.js:375:9:375:17 | secretKey | HardcodedCredentials.js:385:31:385:39 | secretKey | provenance | |
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:375:9:375:17 | secretKey | provenance | |
| HardcodedCredentials.js:396:9:396:17 | secretKey | HardcodedCredentials.js:399:17:399:25 | secretKey | provenance | |
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" | HardcodedCredentials.js:396:9:396:17 | secretKey | provenance | |
| HardcodedCredentials.js:414:9:414:17 | secretKey | HardcodedCredentials.js:416:27:416:35 | secretKey | provenance | |
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" | HardcodedCredentials.js:414:9:414:17 | secretKey | provenance | |
nodes
| HardcodedCredentials.js:5:15:5:22 | 'dbuser' | semmle.label | 'dbuser' |
| HardcodedCredentials.js:8:19:8:28 | 'hgfedcba' | semmle.label | 'hgfedcba' |
@@ -292,11 +292,11 @@ nodes
| HardcodedCredentials.js:160:38:160:56 | "oiuneawrgiyubaegr" | semmle.label | "oiuneawrgiyubaegr" |
| HardcodedCredentials.js:161:41:161:59 | 'oiuneawrgiyubaegr' | semmle.label | 'oiuneawrgiyubaegr' |
| HardcodedCredentials.js:164:35:164:45 | 'change_me' | semmle.label | 'change_me' |
| HardcodedCredentials.js:171:11:171:25 | USER | semmle.label | USER |
| HardcodedCredentials.js:171:11:171:14 | USER | semmle.label | USER |
| HardcodedCredentials.js:171:18:171:25 | 'sdsdag' | semmle.label | 'sdsdag' |
| HardcodedCredentials.js:172:11:172:25 | PASS | semmle.label | PASS |
| HardcodedCredentials.js:172:11:172:14 | PASS | semmle.label | PASS |
| HardcodedCredentials.js:172:18:172:25 | 'sdsdag' | semmle.label | 'sdsdag' |
| HardcodedCredentials.js:173:11:173:49 | AUTH | semmle.label | AUTH |
| HardcodedCredentials.js:173:11:173:14 | AUTH | semmle.label | AUTH |
| HardcodedCredentials.js:173:18:173:49 | base64. ... PASS}`) | semmle.label | base64. ... PASS}`) |
| HardcodedCredentials.js:173:32:173:48 | `${USER}:${PASS}` | semmle.label | `${USER}:${PASS}` |
| HardcodedCredentials.js:173:35:173:38 | USER | semmle.label | USER |
@@ -309,28 +309,28 @@ nodes
| HardcodedCredentials.js:195:46:195:49 | AUTH | semmle.label | AUTH |
| HardcodedCredentials.js:204:35:204:49 | `Basic ${AUTH}` | semmle.label | `Basic ${AUTH}` |
| HardcodedCredentials.js:204:44:204:47 | AUTH | semmle.label | AUTH |
| HardcodedCredentials.js:214:11:214:25 | USER | semmle.label | USER |
| HardcodedCredentials.js:214:11:214:14 | USER | semmle.label | USER |
| HardcodedCredentials.js:214:18:214:25 | 'sdsdag' | semmle.label | 'sdsdag' |
| HardcodedCredentials.js:215:11:215:25 | PASS | semmle.label | PASS |
| HardcodedCredentials.js:215:11:215:14 | PASS | semmle.label | PASS |
| HardcodedCredentials.js:215:18:215:25 | 'sdsdag' | semmle.label | 'sdsdag' |
| HardcodedCredentials.js:216:11:216:49 | AUTH | semmle.label | AUTH |
| HardcodedCredentials.js:216:11:216:14 | AUTH | semmle.label | AUTH |
| HardcodedCredentials.js:216:18:216:49 | base64. ... PASS}`) | semmle.label | base64. ... PASS}`) |
| HardcodedCredentials.js:216:32:216:48 | `${USER}:${PASS}` | semmle.label | `${USER}:${PASS}` |
| HardcodedCredentials.js:216:35:216:38 | USER | semmle.label | USER |
| HardcodedCredentials.js:216:43:216:46 | PASS | semmle.label | PASS |
| HardcodedCredentials.js:221:37:221:51 | `Basic ${AUTH}` | semmle.label | `Basic ${AUTH}` |
| HardcodedCredentials.js:221:46:221:49 | AUTH | semmle.label | AUTH |
| HardcodedCredentials.js:231:11:231:29 | username | semmle.label | username |
| HardcodedCredentials.js:231:11:231:18 | username | semmle.label | username |
| HardcodedCredentials.js:231:22:231:29 | 'sdsdag' | semmle.label | 'sdsdag' |
| HardcodedCredentials.js:237:24:237:91 | 'Basic ... ase64') | semmle.label | 'Basic ... ase64') |
| HardcodedCredentials.js:237:35:237:72 | Buffer. ... ssword) | semmle.label | Buffer. ... ssword) |
| HardcodedCredentials.js:237:35:237:91 | Buffer. ... ase64') | semmle.label | Buffer. ... ase64') |
| HardcodedCredentials.js:237:47:237:54 | username | semmle.label | username |
| HardcodedCredentials.js:237:47:237:71 | usernam ... assword | semmle.label | usernam ... assword |
| HardcodedCredentials.js:245:9:245:44 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:245:9:245:18 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:245:22:245:44 | "myHard ... ateKey" | semmle.label | "myHard ... ateKey" |
| HardcodedCredentials.js:246:42:246:51 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:248:9:248:42 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:248:9:248:17 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:248:21:248:42 | "myHard ... licKey" | semmle.label | "myHard ... licKey" |
| HardcodedCredentials.js:249:23:249:31 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:260:30:260:40 | `Basic foo` | semmle.label | `Basic foo` |
@@ -358,36 +358,36 @@ nodes
| HardcodedCredentials.js:300:44:300:56 | 'SampleToken' | semmle.label | 'SampleToken' |
| HardcodedCredentials.js:301:44:301:55 | 'MyPassword' | semmle.label | 'MyPassword' |
| HardcodedCredentials.js:302:44:302:69 | 'iubfew ... ybgera' | semmle.label | 'iubfew ... ybgera' |
| HardcodedCredentials.js:308:9:308:44 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:308:9:308:18 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:308:22:308:44 | "myHard ... ateKey" | semmle.label | "myHard ... ateKey" |
| HardcodedCredentials.js:309:34:309:43 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:316:9:316:44 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:316:9:316:18 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:316:22:316:44 | "myHard ... ateKey" | semmle.label | "myHard ... ateKey" |
| HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) | semmle.label | new Tex ... ateKey) |
| HardcodedCredentials.js:317:52:317:61 | privateKey | semmle.label | privateKey |
| HardcodedCredentials.js:319:11:321:29 | spki | semmle.label | spki |
| HardcodedCredentials.js:319:11:319:14 | spki | semmle.label | spki |
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` | semmle.label | `-----B ... Y-----` |
| HardcodedCredentials.js:322:9:322:56 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:322:9:322:17 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:322:21:322:56 | await j ... RS256') | semmle.label | await j ... RS256') |
| HardcodedCredentials.js:322:43:322:46 | spki | semmle.label | spki |
| HardcodedCredentials.js:323:27:323:35 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' | semmle.label | 'whYOFK ... -6f...' |
| HardcodedCredentials.js:331:5:331:46 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:331:5:331:13 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) | semmle.label | await j ... k, alg) |
| HardcodedCredentials.js:335:31:335:39 | publicKey | semmle.label | publicKey |
| HardcodedCredentials.js:344:9:344:43 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:344:9:344:17 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | semmle.label | "myHard ... ateKey" |
| HardcodedCredentials.js:349:21:349:29 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") | semmle.label | Buffer. ... ase64") |
| HardcodedCredentials.js:360:33:360:41 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:375:9:375:43 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:375:9:375:17 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | semmle.label | "myHard ... ateKey" |
| HardcodedCredentials.js:378:24:378:32 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:385:31:385:39 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:396:9:396:43 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:396:9:396:17 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" | semmle.label | "myHard ... ateKey" |
| HardcodedCredentials.js:399:17:399:25 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:414:9:414:43 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:414:9:414:17 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" | semmle.label | "myHard ... ateKey" |
| HardcodedCredentials.js:416:27:416:35 | secretKey | semmle.label | secretKey |
| HardcodedCredentials.js:423:43:423:53 | "AccessID1" | semmle.label | "AccessID1" |

View File

@@ -13,8 +13,8 @@ edges
| example_bypass.js:6:9:6:19 | req.cookies | example_bypass.js:6:9:6:34 | req.coo ... nUserId | provenance | |
| tst.js:13:9:13:19 | req.cookies | tst.js:13:9:13:30 | req.coo ... inThing | provenance | |
| tst.js:24:17:24:17 | v | tst.js:25:16:25:16 | v | provenance | |
| tst.js:27:9:27:37 | v3 | tst.js:28:9:28:10 | v3 | provenance | |
| tst.js:27:14:27:37 | id(req. ... okieId) | tst.js:27:9:27:37 | v3 | provenance | |
| tst.js:27:9:27:10 | v3 | tst.js:28:9:28:10 | v3 | provenance | |
| tst.js:27:14:27:37 | id(req. ... okieId) | tst.js:27:9:27:10 | v3 | provenance | |
| tst.js:27:17:27:27 | req.cookies | tst.js:27:17:27:36 | req.cookies.cookieId | provenance | |
| tst.js:27:17:27:36 | req.cookies.cookieId | tst.js:24:17:24:17 | v | provenance | |
| tst.js:27:17:27:36 | req.cookies.cookieId | tst.js:27:14:27:37 | id(req. ... okieId) | provenance | |
@@ -35,7 +35,7 @@ nodes
| tst.js:13:9:13:30 | req.coo ... inThing | semmle.label | req.coo ... inThing |
| tst.js:24:17:24:17 | v | semmle.label | v |
| tst.js:25:16:25:16 | v | semmle.label | v |
| tst.js:27:9:27:37 | v3 | semmle.label | v3 |
| tst.js:27:9:27:10 | v3 | semmle.label | v3 |
| tst.js:27:14:27:37 | id(req. ... okieId) | semmle.label | id(req. ... okieId) |
| tst.js:27:17:27:27 | req.cookies | semmle.label | req.cookies |
| tst.js:27:17:27:36 | req.cookies.cookieId | semmle.label | req.cookies.cookieId |

View File

@@ -6,12 +6,12 @@
| insecure-download.js:48:12:48:38 | "http:/ ... unsafe" | insecure-download.js:48:12:48:38 | "http:/ ... unsafe" | insecure-download.js:48:12:48:38 | "http:/ ... unsafe" | $@ of sensitive file from $@. | insecure-download.js:48:5:48:71 | nugget( ... => { }) | Download | insecure-download.js:48:12:48:38 | "http:/ ... unsafe" | HTTP source |
| insecure-download.js:52:11:52:45 | "http:/ ... nknown" | insecure-download.js:52:11:52:45 | "http:/ ... nknown" | insecure-download.js:52:11:52:45 | "http:/ ... nknown" | $@ of sensitive file from $@. | insecure-download.js:52:5:54:6 | $.get(" ... \\n }) | Download | insecure-download.js:52:11:52:45 | "http:/ ... nknown" | HTTP source |
edges
| insecure-download.js:36:9:36:45 | url | insecure-download.js:37:23:37:25 | url | provenance | |
| insecure-download.js:36:9:36:45 | url | insecure-download.js:39:26:39:28 | url | provenance | |
| insecure-download.js:36:15:36:45 | "http:/ ... fe.APK" | insecure-download.js:36:9:36:45 | url | provenance | |
| insecure-download.js:36:9:36:11 | url | insecure-download.js:37:23:37:25 | url | provenance | |
| insecure-download.js:36:9:36:11 | url | insecure-download.js:39:26:39:28 | url | provenance | |
| insecure-download.js:36:15:36:45 | "http:/ ... fe.APK" | insecure-download.js:36:9:36:11 | url | provenance | |
nodes
| insecure-download.js:30:12:30:42 | "http:/ ... fe.APK" | semmle.label | "http:/ ... fe.APK" |
| insecure-download.js:36:9:36:45 | url | semmle.label | url |
| insecure-download.js:36:9:36:11 | url | semmle.label | url |
| insecure-download.js:36:15:36:45 | "http:/ ... fe.APK" | semmle.label | "http:/ ... fe.APK" |
| insecure-download.js:37:23:37:25 | url | semmle.label | url |
| insecure-download.js:39:26:39:28 | url | semmle.label | url |

View File

@@ -14,21 +14,21 @@
| tst.js:100:9:100:16 | data.foo | tst.js:100:9:100:16 | data.foo | tst.js:100:9:100:16 | data.foo | Potential type confusion as $@ may be either an array or a string. | tst.js:100:9:100:16 | data.foo | this HTTP request parameter |
| tst.js:106:5:106:8 | data | tst.js:105:16:105:29 | req.query.data | tst.js:106:5:106:8 | data | Potential type confusion as $@ may be either an array or a string. | tst.js:105:16:105:29 | req.query.data | this HTTP request parameter |
edges
| tst.js:5:9:5:27 | foo | tst.js:6:5:6:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:6:5:6:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:8:5:8:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:8:5:8:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:17:7:17:9 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:21:5:21:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:22:5:22:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:23:5:23:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:25:5:25:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:27:5:27:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:27:5:27:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:28:5:28:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:28:5:28:7 | foo | provenance | |
| tst.js:5:9:5:27 | foo | tst.js:30:5:30:7 | foo | provenance | |
| tst.js:5:15:5:27 | req.query.foo | tst.js:5:9:5:27 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:6:5:6:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:6:5:6:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:8:5:8:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:8:5:8:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:17:7:17:9 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:21:5:21:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:22:5:22:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:23:5:23:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:25:5:25:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:27:5:27:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:27:5:27:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:28:5:28:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:28:5:28:7 | foo | provenance | |
| tst.js:5:9:5:11 | foo | tst.js:30:5:30:7 | foo | provenance | |
| tst.js:5:15:5:27 | req.query.foo | tst.js:5:9:5:11 | foo | provenance | |
| tst.js:6:5:6:7 | foo | tst.js:8:5:8:7 | foo | provenance | |
| tst.js:6:5:6:7 | foo | tst.js:8:5:8:7 | foo | provenance | |
| tst.js:8:5:8:7 | foo | tst.js:10:5:12:5 | functio ... t\\n } [foo] | provenance | |
@@ -48,15 +48,15 @@ edges
| tst.js:27:5:27:7 | foo | tst.js:28:5:28:7 | foo | provenance | |
| tst.js:28:5:28:7 | foo | tst.js:30:5:30:7 | foo | provenance | |
| tst.js:41:12:41:12 | f [foo] | tst.js:11:9:11:11 | foo | provenance | |
| tst.js:47:9:47:35 | foo | tst.js:48:5:48:7 | foo | provenance | |
| tst.js:47:15:47:35 | ctx.req ... ery.foo | tst.js:47:9:47:35 | foo | provenance | |
| tst.js:47:9:47:11 | foo | tst.js:48:5:48:7 | foo | provenance | |
| tst.js:47:15:47:35 | ctx.req ... ery.foo | tst.js:47:9:47:11 | foo | provenance | |
| tst.js:79:25:79:38 | req.query.path | tst.js:82:23:82:23 | p | provenance | |
| tst.js:82:23:82:23 | p | tst.js:83:9:83:9 | p | provenance | |
| tst.js:82:23:82:23 | p | tst.js:84:9:84:9 | p | provenance | |
| tst.js:105:9:105:29 | data | tst.js:106:5:106:8 | data | provenance | |
| tst.js:105:16:105:29 | req.query.data | tst.js:105:9:105:29 | data | provenance | |
| tst.js:105:9:105:12 | data | tst.js:106:5:106:8 | data | provenance | |
| tst.js:105:16:105:29 | req.query.data | tst.js:105:9:105:12 | data | provenance | |
nodes
| tst.js:5:9:5:27 | foo | semmle.label | foo |
| tst.js:5:9:5:11 | foo | semmle.label | foo |
| tst.js:5:15:5:27 | req.query.foo | semmle.label | req.query.foo |
| tst.js:6:5:6:7 | foo | semmle.label | foo |
| tst.js:6:5:6:7 | foo | semmle.label | foo |
@@ -78,7 +78,7 @@ nodes
| tst.js:28:5:28:7 | foo | semmle.label | foo |
| tst.js:30:5:30:7 | foo | semmle.label | foo |
| tst.js:41:12:41:12 | f [foo] | semmle.label | f [foo] |
| tst.js:47:9:47:35 | foo | semmle.label | foo |
| tst.js:47:9:47:11 | foo | semmle.label | foo |
| tst.js:47:15:47:35 | ctx.req ... ery.foo | semmle.label | ctx.req ... ery.foo |
| tst.js:48:5:48:7 | foo | semmle.label | foo |
| tst.js:79:25:79:38 | req.query.path | semmle.label | req.query.path |
@@ -88,7 +88,7 @@ nodes
| tst.js:92:5:92:12 | data.foo | semmle.label | data.foo |
| tst.js:94:9:94:16 | data.foo | semmle.label | data.foo |
| tst.js:100:9:100:16 | data.foo | semmle.label | data.foo |
| tst.js:105:9:105:29 | data | semmle.label | data |
| tst.js:105:9:105:12 | data | semmle.label | data |
| tst.js:105:16:105:29 | req.query.data | semmle.label | req.query.data |
| tst.js:106:5:106:8 | data | semmle.label | data |
subpaths

View File

@@ -29,59 +29,59 @@
edges
| lib.js:1:38:1:40 | obj | lib.js:6:7:6:9 | obj | provenance | |
| lib.js:1:43:1:46 | path | lib.js:2:21:2:24 | path | provenance | |
| lib.js:2:7:2:27 | currentPath | lib.js:11:21:11:31 | currentPath | provenance | |
| lib.js:2:7:2:17 | currentPath | lib.js:11:21:11:31 | currentPath | provenance | |
| lib.js:2:21:2:24 | path | lib.js:2:21:2:27 | path[0] | provenance | Config |
| lib.js:2:21:2:27 | path[0] | lib.js:2:7:2:27 | currentPath | provenance | |
| lib.js:2:21:2:27 | path[0] | lib.js:2:7:2:17 | currentPath | provenance | |
| lib.js:11:17:11:32 | obj[currentPath] | lib.js:1:38:1:40 | obj | provenance | |
| lib.js:11:21:11:31 | currentPath | lib.js:11:17:11:32 | obj[currentPath] | provenance | Config |
| lib.js:14:38:14:41 | path | lib.js:15:7:15:10 | path | provenance | |
| lib.js:15:7:15:10 | path | lib.js:15:7:15:13 | path[0] | provenance | Config |
| lib.js:15:7:15:13 | path[0] | lib.js:15:3:15:14 | obj[path[0]] | provenance | Config |
| lib.js:20:7:20:25 | path | lib.js:22:7:22:10 | path | provenance | |
| lib.js:20:7:20:10 | path | lib.js:22:7:22:10 | path | provenance | |
| lib.js:20:14:20:22 | arguments | lib.js:20:14:20:25 | arguments[1] | provenance | Config |
| lib.js:20:14:20:25 | arguments[1] | lib.js:20:7:20:25 | path | provenance | |
| lib.js:20:14:20:25 | arguments[1] | lib.js:20:7:20:10 | path | provenance | |
| lib.js:22:7:22:10 | path | lib.js:22:7:22:13 | path[0] | provenance | Config |
| lib.js:22:7:22:13 | path[0] | lib.js:22:3:22:14 | obj[path[0]] | provenance | Config |
| lib.js:25:44:25:47 | path | lib.js:26:14:26:17 | path | provenance | |
| lib.js:26:14:26:17 | path | lib.js:26:14:26:20 | path[0] | provenance | Config |
| lib.js:26:14:26:20 | path[0] | lib.js:26:10:26:21 | obj[path[0]] | provenance | Config |
| lib.js:30:9:30:52 | args | lib.js:32:14:32:17 | args | provenance | |
| lib.js:30:9:30:52 | args [ArrayElement] | lib.js:32:14:32:17 | args [ArrayElement] | provenance | |
| lib.js:30:16:30:52 | Array.p ... uments) | lib.js:30:9:30:52 | args | provenance | |
| lib.js:30:16:30:52 | Array.p ... uments) [ArrayElement] | lib.js:30:9:30:52 | args [ArrayElement] | provenance | |
| lib.js:30:9:30:12 | args | lib.js:32:14:32:17 | args | provenance | |
| lib.js:30:9:30:12 | args [ArrayElement] | lib.js:32:14:32:17 | args [ArrayElement] | provenance | |
| lib.js:30:16:30:52 | Array.p ... uments) | lib.js:30:9:30:12 | args | provenance | |
| lib.js:30:16:30:52 | Array.p ... uments) [ArrayElement] | lib.js:30:9:30:12 | args [ArrayElement] | provenance | |
| lib.js:30:16:30:52 | reflective call | lib.js:30:16:30:52 | Array.p ... uments) | provenance | |
| lib.js:30:16:30:52 | reflective call [ArrayElement] | lib.js:30:16:30:52 | Array.p ... uments) [ArrayElement] | provenance | |
| lib.js:30:43:30:51 | arguments | lib.js:30:16:30:52 | reflective call | provenance | Config |
| lib.js:30:43:30:51 | arguments | lib.js:30:16:30:52 | reflective call [ArrayElement] | provenance | Config |
| lib.js:32:7:32:20 | path | lib.js:34:7:34:10 | path | provenance | |
| lib.js:32:7:32:10 | path | lib.js:34:7:34:10 | path | provenance | |
| lib.js:32:14:32:17 | args | lib.js:32:14:32:20 | args[1] | provenance | Config |
| lib.js:32:14:32:17 | args [ArrayElement] | lib.js:32:14:32:20 | args[1] | provenance | |
| lib.js:32:14:32:20 | args[1] | lib.js:32:7:32:20 | path | provenance | |
| lib.js:32:14:32:20 | args[1] | lib.js:32:7:32:10 | path | provenance | |
| lib.js:34:7:34:10 | path | lib.js:34:7:34:13 | path[0] | provenance | Config |
| lib.js:34:7:34:13 | path[0] | lib.js:34:3:34:14 | obj[path[0]] | provenance | Config |
| lib.js:38:9:38:36 | args | lib.js:40:14:40:17 | args | provenance | |
| lib.js:38:16:38:36 | Array.f ... uments) | lib.js:38:9:38:36 | args | provenance | |
| lib.js:38:9:38:12 | args | lib.js:40:14:40:17 | args | provenance | |
| lib.js:38:16:38:36 | Array.f ... uments) | lib.js:38:9:38:12 | args | provenance | |
| lib.js:38:27:38:35 | arguments | lib.js:38:16:38:36 | Array.f ... uments) | provenance | Config |
| lib.js:40:7:40:20 | path | lib.js:42:7:42:10 | path | provenance | |
| lib.js:40:7:40:10 | path | lib.js:42:7:42:10 | path | provenance | |
| lib.js:40:14:40:17 | args | lib.js:40:14:40:20 | args[1] | provenance | Config |
| lib.js:40:14:40:20 | args[1] | lib.js:40:7:40:20 | path | provenance | |
| lib.js:40:14:40:20 | args[1] | lib.js:40:7:40:10 | path | provenance | |
| lib.js:42:7:42:10 | path | lib.js:42:7:42:13 | path[0] | provenance | Config |
| lib.js:42:7:42:13 | path[0] | lib.js:42:3:42:14 | obj[path[0]] | provenance | Config |
| lib.js:83:7:83:25 | path | lib.js:86:19:86:22 | path | provenance | |
| lib.js:83:7:83:10 | path | lib.js:86:19:86:22 | path | provenance | |
| lib.js:83:14:83:22 | arguments | lib.js:83:14:83:25 | arguments[1] | provenance | Config |
| lib.js:83:14:83:25 | arguments[1] | lib.js:83:7:83:25 | path | provenance | |
| lib.js:86:7:86:26 | proto | lib.js:87:10:87:14 | proto | provenance | |
| lib.js:86:15:86:26 | obj[path[0]] | lib.js:86:7:86:26 | proto | provenance | |
| lib.js:83:14:83:25 | arguments[1] | lib.js:83:7:83:10 | path | provenance | |
| lib.js:86:7:86:11 | proto | lib.js:87:10:87:14 | proto | provenance | |
| lib.js:86:15:86:26 | obj[path[0]] | lib.js:86:7:86:11 | proto | provenance | |
| lib.js:86:19:86:22 | path | lib.js:86:19:86:25 | path[0] | provenance | Config |
| lib.js:86:19:86:25 | path[0] | lib.js:86:15:86:26 | obj[path[0]] | provenance | Config |
| lib.js:90:43:90:46 | path | lib.js:91:24:91:27 | path | provenance | |
| lib.js:91:7:91:28 | maybeProto | lib.js:92:3:92:12 | maybeProto | provenance | |
| lib.js:91:7:91:28 | maybeProto | lib.js:95:3:95:12 | maybeProto | provenance | |
| lib.js:91:20:91:28 | obj[path] | lib.js:91:7:91:28 | maybeProto | provenance | |
| lib.js:91:7:91:16 | maybeProto | lib.js:92:3:92:12 | maybeProto | provenance | |
| lib.js:91:7:91:16 | maybeProto | lib.js:95:3:95:12 | maybeProto | provenance | |
| lib.js:91:20:91:28 | obj[path] | lib.js:91:7:91:16 | maybeProto | provenance | |
| lib.js:91:24:91:27 | path | lib.js:91:20:91:28 | obj[path] | provenance | Config |
| lib.js:104:7:104:24 | one | lib.js:108:7:108:9 | one | provenance | |
| lib.js:104:7:104:9 | one | lib.js:108:7:108:9 | one | provenance | |
| lib.js:104:13:104:21 | arguments | lib.js:104:13:104:24 | arguments[1] | provenance | Config |
| lib.js:104:13:104:24 | arguments[1] | lib.js:104:7:104:24 | one | provenance | |
| lib.js:104:13:104:24 | arguments[1] | lib.js:104:7:104:9 | one | provenance | |
| lib.js:108:7:108:9 | one | lib.js:108:3:108:10 | obj[one] | provenance | Config |
| lib.js:118:29:118:32 | path | lib.js:119:17:119:20 | path | provenance | |
| lib.js:119:17:119:20 | path | lib.js:119:17:119:23 | path[0] | provenance | Config |
@@ -98,11 +98,11 @@ edges
| sublib/sub.js:1:37:1:40 | path | sublib/sub.js:2:7:2:10 | path | provenance | |
| sublib/sub.js:2:7:2:10 | path | sublib/sub.js:2:7:2:13 | path[0] | provenance | Config |
| sublib/sub.js:2:7:2:13 | path[0] | sublib/sub.js:2:3:2:14 | obj[path[0]] | provenance | Config |
| tst.js:5:9:5:38 | taint | tst.js:8:12:8:16 | taint | provenance | |
| tst.js:5:9:5:38 | taint | tst.js:9:12:9:16 | taint | provenance | |
| tst.js:5:9:5:38 | taint | tst.js:12:25:12:29 | taint | provenance | |
| tst.js:5:9:5:38 | taint | tst.js:14:27:14:31 | taint | provenance | |
| tst.js:5:17:5:38 | String( ... y.data) | tst.js:5:9:5:38 | taint | provenance | |
| tst.js:5:9:5:13 | taint | tst.js:8:12:8:16 | taint | provenance | |
| tst.js:5:9:5:13 | taint | tst.js:9:12:9:16 | taint | provenance | |
| tst.js:5:9:5:13 | taint | tst.js:12:25:12:29 | taint | provenance | |
| tst.js:5:9:5:13 | taint | tst.js:14:27:14:31 | taint | provenance | |
| tst.js:5:17:5:38 | String( ... y.data) | tst.js:5:9:5:13 | taint | provenance | |
| tst.js:5:24:5:37 | req.query.data | tst.js:5:17:5:38 | String( ... y.data) | provenance | Config |
| tst.js:8:12:8:16 | taint | tst.js:8:5:8:17 | object[taint] | provenance | Config |
| tst.js:9:12:9:16 | taint | tst.js:9:5:9:17 | object[taint] | provenance | Config |
@@ -117,10 +117,10 @@ edges
| tst.js:55:29:55:32 | prop | tst.js:56:22:56:25 | prop | provenance | |
| tst.js:56:18:56:26 | obj[prop] | tst.js:56:12:56:33 | obj ? o ... : null | provenance | |
| tst.js:56:22:56:25 | prop | tst.js:56:18:56:26 | obj[prop] | provenance | Config |
| tst.js:77:9:77:38 | taint | tst.js:80:12:80:16 | taint | provenance | |
| tst.js:77:9:77:38 | taint | tst.js:82:17:82:21 | taint | provenance | |
| tst.js:77:9:77:38 | taint | tst.js:87:16:87:20 | taint | provenance | |
| tst.js:77:17:77:38 | String( ... y.data) | tst.js:77:9:77:38 | taint | provenance | |
| tst.js:77:9:77:13 | taint | tst.js:80:12:80:16 | taint | provenance | |
| tst.js:77:9:77:13 | taint | tst.js:82:17:82:21 | taint | provenance | |
| tst.js:77:9:77:13 | taint | tst.js:87:16:87:20 | taint | provenance | |
| tst.js:77:17:77:38 | String( ... y.data) | tst.js:77:9:77:13 | taint | provenance | |
| tst.js:77:24:77:37 | req.query.data | tst.js:77:17:77:38 | String( ... y.data) | provenance | Config |
| tst.js:80:12:80:16 | taint | tst.js:80:5:80:17 | object[taint] | provenance | Config |
| tst.js:82:12:82:21 | "" + taint | tst.js:82:5:82:22 | object["" + taint] | provenance | Config |
@@ -130,8 +130,8 @@ edges
| tst.js:94:9:94:36 | req.que ... _', '') | tst.js:94:5:94:37 | obj[req ... ', '')] | provenance | Config |
| tst.js:97:9:97:19 | req.query.x | tst.js:97:9:97:45 | req.que ... /g, '') | provenance | Config |
| tst.js:97:9:97:45 | req.que ... /g, '') | tst.js:97:5:97:46 | obj[req ... g, '')] | provenance | Config |
| tst.js:102:9:102:38 | taint | tst.js:105:12:105:16 | taint | provenance | |
| tst.js:102:17:102:38 | String( ... y.data) | tst.js:102:9:102:38 | taint | provenance | |
| tst.js:102:9:102:13 | taint | tst.js:105:12:105:16 | taint | provenance | |
| tst.js:102:17:102:38 | String( ... y.data) | tst.js:102:9:102:13 | taint | provenance | |
| tst.js:102:24:102:37 | req.query.data | tst.js:102:17:102:38 | String( ... y.data) | provenance | Config |
| tst.js:105:12:105:16 | taint | tst.js:105:5:105:17 | object[taint] | provenance | Config |
| tst.js:130:9:130:19 | req.query.x | tst.js:130:9:130:52 | req.que ... '), '') | provenance | Config |
@@ -139,7 +139,7 @@ edges
nodes
| lib.js:1:38:1:40 | obj | semmle.label | obj |
| lib.js:1:43:1:46 | path | semmle.label | path |
| lib.js:2:7:2:27 | currentPath | semmle.label | currentPath |
| lib.js:2:7:2:17 | currentPath | semmle.label | currentPath |
| lib.js:2:21:2:24 | path | semmle.label | path |
| lib.js:2:21:2:27 | path[0] | semmle.label | path[0] |
| lib.js:6:7:6:9 | obj | semmle.label | obj |
@@ -149,7 +149,7 @@ nodes
| lib.js:15:3:15:14 | obj[path[0]] | semmle.label | obj[path[0]] |
| lib.js:15:7:15:10 | path | semmle.label | path |
| lib.js:15:7:15:13 | path[0] | semmle.label | path[0] |
| lib.js:20:7:20:25 | path | semmle.label | path |
| lib.js:20:7:20:10 | path | semmle.label | path |
| lib.js:20:14:20:22 | arguments | semmle.label | arguments |
| lib.js:20:14:20:25 | arguments[1] | semmle.label | arguments[1] |
| lib.js:22:3:22:14 | obj[path[0]] | semmle.label | obj[path[0]] |
@@ -159,44 +159,44 @@ nodes
| lib.js:26:10:26:21 | obj[path[0]] | semmle.label | obj[path[0]] |
| lib.js:26:14:26:17 | path | semmle.label | path |
| lib.js:26:14:26:20 | path[0] | semmle.label | path[0] |
| lib.js:30:9:30:52 | args | semmle.label | args |
| lib.js:30:9:30:52 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| lib.js:30:9:30:12 | args | semmle.label | args |
| lib.js:30:9:30:12 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| lib.js:30:16:30:52 | Array.p ... uments) | semmle.label | Array.p ... uments) |
| lib.js:30:16:30:52 | Array.p ... uments) [ArrayElement] | semmle.label | Array.p ... uments) [ArrayElement] |
| lib.js:30:16:30:52 | reflective call | semmle.label | reflective call |
| lib.js:30:16:30:52 | reflective call [ArrayElement] | semmle.label | reflective call [ArrayElement] |
| lib.js:30:43:30:51 | arguments | semmle.label | arguments |
| lib.js:32:7:32:20 | path | semmle.label | path |
| lib.js:32:7:32:10 | path | semmle.label | path |
| lib.js:32:14:32:17 | args | semmle.label | args |
| lib.js:32:14:32:17 | args [ArrayElement] | semmle.label | args [ArrayElement] |
| lib.js:32:14:32:20 | args[1] | semmle.label | args[1] |
| lib.js:34:3:34:14 | obj[path[0]] | semmle.label | obj[path[0]] |
| lib.js:34:7:34:10 | path | semmle.label | path |
| lib.js:34:7:34:13 | path[0] | semmle.label | path[0] |
| lib.js:38:9:38:36 | args | semmle.label | args |
| lib.js:38:9:38:12 | args | semmle.label | args |
| lib.js:38:16:38:36 | Array.f ... uments) | semmle.label | Array.f ... uments) |
| lib.js:38:27:38:35 | arguments | semmle.label | arguments |
| lib.js:40:7:40:20 | path | semmle.label | path |
| lib.js:40:7:40:10 | path | semmle.label | path |
| lib.js:40:14:40:17 | args | semmle.label | args |
| lib.js:40:14:40:20 | args[1] | semmle.label | args[1] |
| lib.js:42:3:42:14 | obj[path[0]] | semmle.label | obj[path[0]] |
| lib.js:42:7:42:10 | path | semmle.label | path |
| lib.js:42:7:42:13 | path[0] | semmle.label | path[0] |
| lib.js:83:7:83:25 | path | semmle.label | path |
| lib.js:83:7:83:10 | path | semmle.label | path |
| lib.js:83:14:83:22 | arguments | semmle.label | arguments |
| lib.js:83:14:83:25 | arguments[1] | semmle.label | arguments[1] |
| lib.js:86:7:86:26 | proto | semmle.label | proto |
| lib.js:86:7:86:11 | proto | semmle.label | proto |
| lib.js:86:15:86:26 | obj[path[0]] | semmle.label | obj[path[0]] |
| lib.js:86:19:86:22 | path | semmle.label | path |
| lib.js:86:19:86:25 | path[0] | semmle.label | path[0] |
| lib.js:87:10:87:14 | proto | semmle.label | proto |
| lib.js:90:43:90:46 | path | semmle.label | path |
| lib.js:91:7:91:28 | maybeProto | semmle.label | maybeProto |
| lib.js:91:7:91:16 | maybeProto | semmle.label | maybeProto |
| lib.js:91:20:91:28 | obj[path] | semmle.label | obj[path] |
| lib.js:91:24:91:27 | path | semmle.label | path |
| lib.js:92:3:92:12 | maybeProto | semmle.label | maybeProto |
| lib.js:95:3:95:12 | maybeProto | semmle.label | maybeProto |
| lib.js:104:7:104:24 | one | semmle.label | one |
| lib.js:104:7:104:9 | one | semmle.label | one |
| lib.js:104:13:104:21 | arguments | semmle.label | arguments |
| lib.js:104:13:104:24 | arguments[1] | semmle.label | arguments[1] |
| lib.js:108:3:108:10 | obj[one] | semmle.label | obj[one] |
@@ -221,7 +221,7 @@ nodes
| sublib/sub.js:2:3:2:14 | obj[path[0]] | semmle.label | obj[path[0]] |
| sublib/sub.js:2:7:2:10 | path | semmle.label | path |
| sublib/sub.js:2:7:2:13 | path[0] | semmle.label | path[0] |
| tst.js:5:9:5:38 | taint | semmle.label | taint |
| tst.js:5:9:5:13 | taint | semmle.label | taint |
| tst.js:5:17:5:38 | String( ... y.data) | semmle.label | String( ... y.data) |
| tst.js:5:24:5:37 | req.query.data | semmle.label | req.query.data |
| tst.js:8:5:8:17 | object[taint] | semmle.label | object[taint] |
@@ -241,7 +241,7 @@ nodes
| tst.js:56:12:56:33 | obj ? o ... : null | semmle.label | obj ? o ... : null |
| tst.js:56:18:56:26 | obj[prop] | semmle.label | obj[prop] |
| tst.js:56:22:56:25 | prop | semmle.label | prop |
| tst.js:77:9:77:38 | taint | semmle.label | taint |
| tst.js:77:9:77:13 | taint | semmle.label | taint |
| tst.js:77:17:77:38 | String( ... y.data) | semmle.label | String( ... y.data) |
| tst.js:77:24:77:37 | req.query.data | semmle.label | req.query.data |
| tst.js:80:5:80:17 | object[taint] | semmle.label | object[taint] |
@@ -257,7 +257,7 @@ nodes
| tst.js:97:5:97:46 | obj[req ... g, '')] | semmle.label | obj[req ... g, '')] |
| tst.js:97:9:97:19 | req.query.x | semmle.label | req.query.x |
| tst.js:97:9:97:45 | req.que ... /g, '') | semmle.label | req.que ... /g, '') |
| tst.js:102:9:102:38 | taint | semmle.label | taint |
| tst.js:102:9:102:13 | taint | semmle.label | taint |
| tst.js:102:17:102:38 | String( ... y.data) | semmle.label | String( ... y.data) |
| tst.js:102:24:102:37 | req.query.data | semmle.label | req.query.data |
| tst.js:105:5:105:17 | object[taint] | semmle.label | object[taint] |

View File

@@ -61,42 +61,42 @@ edges
| examples/PrototypePollutingFunction_fixed.js:5:29:5:36 | src[key] | examples/PrototypePollutingFunction_fixed.js:1:21:1:23 | src | provenance | |
| examples/PrototypePollutingFunction_fixed.js:7:24:7:26 | src | examples/PrototypePollutingFunction_fixed.js:7:24:7:31 | src[key] | provenance | Config |
| examples/PrototypePollutingFunction_fixed.js:7:28:7:30 | key | examples/PrototypePollutingFunction_fixed.js:7:24:7:31 | src[key] | provenance | Config |
| path-assignment.js:8:13:8:25 | key | path-assignment.js:13:29:13:31 | key | provenance | |
| path-assignment.js:8:13:8:25 | key | path-assignment.js:15:20:15:22 | key | provenance | |
| path-assignment.js:8:19:8:25 | keys[i] | path-assignment.js:8:13:8:25 | key | provenance | |
| path-assignment.js:13:13:13:32 | target | path-assignment.js:13:22:13:27 | target | provenance | |
| path-assignment.js:13:13:13:32 | target | path-assignment.js:15:13:15:18 | target | provenance | |
| path-assignment.js:8:13:8:15 | key | path-assignment.js:13:29:13:31 | key | provenance | |
| path-assignment.js:8:13:8:15 | key | path-assignment.js:15:20:15:22 | key | provenance | |
| path-assignment.js:8:19:8:25 | keys[i] | path-assignment.js:8:13:8:15 | key | provenance | |
| path-assignment.js:13:13:13:18 | target | path-assignment.js:13:22:13:27 | target | provenance | |
| path-assignment.js:13:13:13:18 | target | path-assignment.js:15:13:15:18 | target | provenance | |
| path-assignment.js:13:22:13:27 | target | path-assignment.js:13:22:13:32 | target[key] | provenance | Config |
| path-assignment.js:13:22:13:32 | target[key] | path-assignment.js:13:13:13:32 | target | provenance | |
| path-assignment.js:13:22:13:32 | target[key] | path-assignment.js:13:13:13:18 | target | provenance | |
| path-assignment.js:13:29:13:31 | key | path-assignment.js:13:22:13:32 | target[key] | provenance | Config |
| path-assignment.js:41:13:41:25 | key | path-assignment.js:42:25:42:27 | key | provenance | |
| path-assignment.js:41:13:41:25 | key | path-assignment.js:42:39:42:41 | key | provenance | |
| path-assignment.js:41:19:41:25 | keys[i] | path-assignment.js:41:13:41:25 | key | provenance | |
| path-assignment.js:42:9:42:48 | target | path-assignment.js:42:18:42:23 | target | provenance | |
| path-assignment.js:42:9:42:48 | target | path-assignment.js:42:32:42:37 | target | provenance | |
| path-assignment.js:42:9:42:48 | target | path-assignment.js:44:5:44:10 | target | provenance | |
| path-assignment.js:41:13:41:15 | key | path-assignment.js:42:25:42:27 | key | provenance | |
| path-assignment.js:41:13:41:15 | key | path-assignment.js:42:39:42:41 | key | provenance | |
| path-assignment.js:41:19:41:25 | keys[i] | path-assignment.js:41:13:41:15 | key | provenance | |
| path-assignment.js:42:9:42:14 | target | path-assignment.js:42:18:42:23 | target | provenance | |
| path-assignment.js:42:9:42:14 | target | path-assignment.js:42:32:42:37 | target | provenance | |
| path-assignment.js:42:9:42:14 | target | path-assignment.js:44:5:44:10 | target | provenance | |
| path-assignment.js:42:32:42:37 | target | path-assignment.js:42:32:42:42 | target[key] | provenance | Config |
| path-assignment.js:42:32:42:42 | target[key] | path-assignment.js:42:9:42:48 | target | provenance | |
| path-assignment.js:42:32:42:42 | target[key] | path-assignment.js:42:9:42:14 | target | provenance | |
| path-assignment.js:42:32:42:42 | target[key] | path-assignment.js:42:32:42:48 | target[key] \|\| {} | provenance | |
| path-assignment.js:42:39:42:41 | key | path-assignment.js:42:32:42:42 | target[key] | provenance | Config |
| path-assignment.js:58:13:58:25 | key | path-assignment.js:59:25:59:27 | key | provenance | |
| path-assignment.js:58:13:58:25 | key | path-assignment.js:59:39:59:41 | key | provenance | |
| path-assignment.js:58:19:58:25 | keys[i] | path-assignment.js:58:13:58:25 | key | provenance | |
| path-assignment.js:59:9:59:48 | target | path-assignment.js:59:18:59:23 | target | provenance | |
| path-assignment.js:59:9:59:48 | target | path-assignment.js:59:32:59:37 | target | provenance | |
| path-assignment.js:59:9:59:48 | target | path-assignment.js:61:5:61:10 | target | provenance | |
| path-assignment.js:58:13:58:15 | key | path-assignment.js:59:25:59:27 | key | provenance | |
| path-assignment.js:58:13:58:15 | key | path-assignment.js:59:39:59:41 | key | provenance | |
| path-assignment.js:58:19:58:25 | keys[i] | path-assignment.js:58:13:58:15 | key | provenance | |
| path-assignment.js:59:9:59:14 | target | path-assignment.js:59:18:59:23 | target | provenance | |
| path-assignment.js:59:9:59:14 | target | path-assignment.js:59:32:59:37 | target | provenance | |
| path-assignment.js:59:9:59:14 | target | path-assignment.js:61:5:61:10 | target | provenance | |
| path-assignment.js:59:32:59:37 | target | path-assignment.js:59:32:59:42 | target[key] | provenance | Config |
| path-assignment.js:59:32:59:42 | target[key] | path-assignment.js:59:9:59:48 | target | provenance | |
| path-assignment.js:59:32:59:42 | target[key] | path-assignment.js:59:9:59:14 | target | provenance | |
| path-assignment.js:59:32:59:42 | target[key] | path-assignment.js:59:32:59:48 | target[key] \|\| {} | provenance | |
| path-assignment.js:59:39:59:41 | key | path-assignment.js:59:32:59:42 | target[key] | provenance | Config |
| path-assignment.js:68:13:68:25 | key | path-assignment.js:69:25:69:27 | key | provenance | |
| path-assignment.js:68:13:68:25 | key | path-assignment.js:69:39:69:41 | key | provenance | |
| path-assignment.js:68:19:68:25 | keys[i] | path-assignment.js:68:13:68:25 | key | provenance | |
| path-assignment.js:69:9:69:48 | target | path-assignment.js:69:18:69:23 | target | provenance | |
| path-assignment.js:69:9:69:48 | target | path-assignment.js:69:32:69:37 | target | provenance | |
| path-assignment.js:69:9:69:48 | target | path-assignment.js:71:5:71:10 | target | provenance | |
| path-assignment.js:68:13:68:15 | key | path-assignment.js:69:25:69:27 | key | provenance | |
| path-assignment.js:68:13:68:15 | key | path-assignment.js:69:39:69:41 | key | provenance | |
| path-assignment.js:68:19:68:25 | keys[i] | path-assignment.js:68:13:68:15 | key | provenance | |
| path-assignment.js:69:9:69:14 | target | path-assignment.js:69:18:69:23 | target | provenance | |
| path-assignment.js:69:9:69:14 | target | path-assignment.js:69:32:69:37 | target | provenance | |
| path-assignment.js:69:9:69:14 | target | path-assignment.js:71:5:71:10 | target | provenance | |
| path-assignment.js:69:32:69:37 | target | path-assignment.js:69:32:69:42 | target[key] | provenance | Config |
| path-assignment.js:69:32:69:42 | target[key] | path-assignment.js:69:9:69:48 | target | provenance | |
| path-assignment.js:69:32:69:42 | target[key] | path-assignment.js:69:9:69:14 | target | provenance | |
| path-assignment.js:69:32:69:42 | target[key] | path-assignment.js:69:32:69:48 | target[key] \|\| {} | provenance | |
| path-assignment.js:69:39:69:41 | key | path-assignment.js:69:32:69:42 | target[key] | provenance | Config |
| tests.js:3:25:3:27 | dst | tests.js:6:28:6:30 | dst | provenance | |
@@ -149,9 +149,9 @@ edges
| tests.js:31:27:31:31 | value | tests.js:36:20:36:24 | value | provenance | |
| tests.js:31:34:31:36 | key | tests.js:32:24:32:26 | key | provenance | |
| tests.js:31:34:31:36 | key | tests.js:36:13:36:15 | key | provenance | |
| tests.js:32:9:32:27 | dstValue | tests.js:34:18:34:25 | dstValue | provenance | |
| tests.js:32:9:32:16 | dstValue | tests.js:34:18:34:25 | dstValue | provenance | |
| tests.js:32:20:32:22 | dst | tests.js:32:20:32:27 | dst[key] | provenance | Config |
| tests.js:32:20:32:27 | dst[key] | tests.js:32:9:32:27 | dstValue | provenance | |
| tests.js:32:20:32:27 | dst[key] | tests.js:32:9:32:16 | dstValue | provenance | |
| tests.js:32:24:32:26 | key | tests.js:32:20:32:27 | dst[key] | provenance | Config |
| tests.js:34:18:34:25 | dstValue | tests.js:23:19:23:21 | dst | provenance | |
| tests.js:34:28:34:32 | value | tests.js:23:27:23:33 | sources [0] | provenance | |
@@ -274,11 +274,11 @@ edges
| tests.js:189:32:189:34 | dst | tests.js:196:13:196:15 | dst | provenance | |
| tests.js:189:37:189:39 | src | tests.js:194:45:194:47 | src | provenance | |
| tests.js:189:37:189:39 | src | tests.js:196:24:196:26 | src | provenance | |
| tests.js:192:13:192:25 | key | tests.js:194:39:194:41 | key | provenance | |
| tests.js:192:13:192:25 | key | tests.js:194:49:194:51 | key | provenance | |
| tests.js:192:13:192:25 | key | tests.js:196:17:196:19 | key | provenance | |
| tests.js:192:13:192:25 | key | tests.js:196:28:196:30 | key | provenance | |
| tests.js:192:19:192:25 | keys[i] | tests.js:192:13:192:25 | key | provenance | |
| tests.js:192:13:192:15 | key | tests.js:194:39:194:41 | key | provenance | |
| tests.js:192:13:192:15 | key | tests.js:194:49:194:51 | key | provenance | |
| tests.js:192:13:192:15 | key | tests.js:196:17:196:19 | key | provenance | |
| tests.js:192:13:192:15 | key | tests.js:196:28:196:30 | key | provenance | |
| tests.js:192:19:192:25 | keys[i] | tests.js:192:13:192:15 | key | provenance | |
| tests.js:194:35:194:37 | dst | tests.js:194:35:194:42 | dst[key] | provenance | Config |
| tests.js:194:35:194:42 | dst[key] | tests.js:189:32:189:34 | dst | provenance | |
| tests.js:194:39:194:41 | key | tests.js:194:35:194:42 | dst[key] | provenance | Config |
@@ -329,11 +329,11 @@ edges
| tests.js:240:41:240:43 | key | tests.js:240:36:240:44 | data[key] | provenance | Config |
| tests.js:263:27:263:29 | dst | tests.js:268:30:268:32 | dst | provenance | |
| tests.js:263:27:263:29 | dst | tests.js:270:13:270:15 | dst | provenance | |
| tests.js:265:13:265:26 | key | tests.js:268:34:268:36 | key | provenance | |
| tests.js:265:13:265:26 | key | tests.js:270:17:270:19 | key | provenance | |
| tests.js:265:19:265:26 | entry[0] | tests.js:265:13:265:26 | key | provenance | |
| tests.js:266:13:266:28 | value | tests.js:270:24:270:28 | value | provenance | |
| tests.js:266:21:266:28 | entry[1] | tests.js:266:13:266:28 | value | provenance | |
| tests.js:265:13:265:15 | key | tests.js:268:34:268:36 | key | provenance | |
| tests.js:265:13:265:15 | key | tests.js:270:17:270:19 | key | provenance | |
| tests.js:265:19:265:26 | entry[0] | tests.js:265:13:265:15 | key | provenance | |
| tests.js:266:13:266:17 | value | tests.js:270:24:270:28 | value | provenance | |
| tests.js:266:21:266:28 | entry[1] | tests.js:266:13:266:17 | value | provenance | |
| tests.js:268:30:268:32 | dst | tests.js:268:30:268:37 | dst[key] | provenance | Config |
| tests.js:268:30:268:37 | dst[key] | tests.js:263:27:263:29 | dst | provenance | |
| tests.js:268:34:268:36 | key | tests.js:268:30:268:37 | dst[key] | provenance | Config |
@@ -360,15 +360,15 @@ edges
| tests.js:302:14:302:16 | key | tests.js:304:29:304:31 | key | provenance | |
| tests.js:302:14:302:16 | key | tests.js:306:38:306:40 | key | provenance | |
| tests.js:302:14:302:16 | key | tests.js:308:21:308:23 | key | provenance | |
| tests.js:304:17:304:32 | value | tests.js:306:44:306:48 | value | provenance | |
| tests.js:304:17:304:32 | value | tests.js:306:44:306:48 | value | provenance | |
| tests.js:304:17:304:32 | value | tests.js:308:28:308:32 | value | provenance | |
| tests.js:304:17:304:32 | value | tests.js:308:28:308:32 | value | provenance | |
| tests.js:304:17:304:32 | value | tests.js:308:28:308:32 | value | provenance | |
| tests.js:304:17:304:21 | value | tests.js:306:44:306:48 | value | provenance | |
| tests.js:304:17:304:21 | value | tests.js:306:44:306:48 | value | provenance | |
| tests.js:304:17:304:21 | value | tests.js:308:28:308:32 | value | provenance | |
| tests.js:304:17:304:21 | value | tests.js:308:28:308:32 | value | provenance | |
| tests.js:304:17:304:21 | value | tests.js:308:28:308:32 | value | provenance | |
| tests.js:304:25:304:27 | src | tests.js:304:25:304:32 | src[key] | provenance | Config |
| tests.js:304:25:304:32 | src[key] | tests.js:304:17:304:32 | value | provenance | |
| tests.js:304:25:304:32 | src[key] | tests.js:304:17:304:32 | value | provenance | |
| tests.js:304:25:304:32 | src[key] | tests.js:304:17:304:32 | value | provenance | |
| tests.js:304:25:304:32 | src[key] | tests.js:304:17:304:21 | value | provenance | |
| tests.js:304:25:304:32 | src[key] | tests.js:304:17:304:21 | value | provenance | |
| tests.js:304:25:304:32 | src[key] | tests.js:304:17:304:21 | value | provenance | |
| tests.js:304:29:304:31 | key | tests.js:304:25:304:32 | src[key] | provenance | Config |
| tests.js:304:29:304:31 | key | tests.js:304:25:304:32 | src[key] | provenance | Config |
| tests.js:306:34:306:36 | dst | tests.js:306:34:306:41 | dst[key] | provenance | Config |
@@ -381,15 +381,15 @@ edges
| tests.js:315:14:315:16 | key | tests.js:318:29:318:31 | key | provenance | |
| tests.js:315:14:315:16 | key | tests.js:320:42:320:44 | key | provenance | |
| tests.js:315:14:315:16 | key | tests.js:322:21:322:23 | key | provenance | |
| tests.js:318:17:318:32 | value | tests.js:320:48:320:52 | value | provenance | |
| tests.js:318:17:318:32 | value | tests.js:320:48:320:52 | value | provenance | |
| tests.js:318:17:318:32 | value | tests.js:322:28:322:32 | value | provenance | |
| tests.js:318:17:318:32 | value | tests.js:322:28:322:32 | value | provenance | |
| tests.js:318:17:318:32 | value | tests.js:322:28:322:32 | value | provenance | |
| tests.js:318:17:318:21 | value | tests.js:320:48:320:52 | value | provenance | |
| tests.js:318:17:318:21 | value | tests.js:320:48:320:52 | value | provenance | |
| tests.js:318:17:318:21 | value | tests.js:322:28:322:32 | value | provenance | |
| tests.js:318:17:318:21 | value | tests.js:322:28:322:32 | value | provenance | |
| tests.js:318:17:318:21 | value | tests.js:322:28:322:32 | value | provenance | |
| tests.js:318:25:318:27 | src | tests.js:318:25:318:32 | src[key] | provenance | Config |
| tests.js:318:25:318:32 | src[key] | tests.js:318:17:318:32 | value | provenance | |
| tests.js:318:25:318:32 | src[key] | tests.js:318:17:318:32 | value | provenance | |
| tests.js:318:25:318:32 | src[key] | tests.js:318:17:318:32 | value | provenance | |
| tests.js:318:25:318:32 | src[key] | tests.js:318:17:318:21 | value | provenance | |
| tests.js:318:25:318:32 | src[key] | tests.js:318:17:318:21 | value | provenance | |
| tests.js:318:25:318:32 | src[key] | tests.js:318:17:318:21 | value | provenance | |
| tests.js:318:29:318:31 | key | tests.js:318:25:318:32 | src[key] | provenance | Config |
| tests.js:318:29:318:31 | key | tests.js:318:25:318:32 | src[key] | provenance | Config |
| tests.js:320:38:320:40 | dst | tests.js:320:38:320:45 | dst[key] | provenance | Config |
@@ -526,15 +526,15 @@ edges
| tests.js:413:14:413:16 | key | tests.js:414:38:414:40 | key | provenance | |
| tests.js:413:14:413:16 | key | tests.js:415:39:415:41 | key | provenance | |
| tests.js:413:14:413:16 | key | tests.js:419:17:419:19 | key | provenance | |
| tests.js:414:13:414:41 | value | tests.js:417:42:417:46 | value | provenance | |
| tests.js:414:13:414:41 | value | tests.js:419:24:419:28 | value | provenance | |
| tests.js:414:21:414:41 | wrapped ... c, key) | tests.js:414:13:414:41 | value | provenance | |
| tests.js:414:13:414:17 | value | tests.js:417:42:417:46 | value | provenance | |
| tests.js:414:13:414:17 | value | tests.js:419:24:419:28 | value | provenance | |
| tests.js:414:21:414:41 | wrapped ... c, key) | tests.js:414:13:414:17 | value | provenance | |
| tests.js:414:33:414:35 | src | tests.js:408:22:408:24 | obj | provenance | |
| tests.js:414:33:414:35 | src | tests.js:414:21:414:41 | wrapped ... c, key) | provenance | Config |
| tests.js:414:38:414:40 | key | tests.js:408:27:408:29 | key | provenance | |
| tests.js:414:38:414:40 | key | tests.js:414:21:414:41 | wrapped ... c, key) | provenance | Config |
| tests.js:415:13:415:42 | target | tests.js:417:34:417:39 | target | provenance | |
| tests.js:415:22:415:42 | wrapped ... t, key) | tests.js:415:13:415:42 | target | provenance | |
| tests.js:415:13:415:18 | target | tests.js:417:34:417:39 | target | provenance | |
| tests.js:415:22:415:42 | wrapped ... t, key) | tests.js:415:13:415:18 | target | provenance | |
| tests.js:415:34:415:36 | dst | tests.js:408:22:408:24 | obj | provenance | |
| tests.js:415:34:415:36 | dst | tests.js:415:22:415:42 | wrapped ... t, key) | provenance | Config |
| tests.js:415:39:415:41 | key | tests.js:408:27:408:29 | key | provenance | |
@@ -551,15 +551,15 @@ edges
| tests.js:430:14:430:16 | key | tests.js:431:41:431:43 | key | provenance | |
| tests.js:430:14:430:16 | key | tests.js:432:42:432:44 | key | provenance | |
| tests.js:430:14:430:16 | key | tests.js:436:17:436:19 | key | provenance | |
| tests.js:431:13:431:44 | value | tests.js:434:45:434:49 | value | provenance | |
| tests.js:431:13:431:44 | value | tests.js:436:24:436:28 | value | provenance | |
| tests.js:431:21:431:44 | almostS ... c, key) | tests.js:431:13:431:44 | value | provenance | |
| tests.js:431:13:431:17 | value | tests.js:434:45:434:49 | value | provenance | |
| tests.js:431:13:431:17 | value | tests.js:436:24:436:28 | value | provenance | |
| tests.js:431:21:431:44 | almostS ... c, key) | tests.js:431:13:431:17 | value | provenance | |
| tests.js:431:36:431:38 | src | tests.js:424:25:424:27 | obj | provenance | |
| tests.js:431:36:431:38 | src | tests.js:431:21:431:44 | almostS ... c, key) | provenance | Config |
| tests.js:431:41:431:43 | key | tests.js:424:30:424:32 | key | provenance | |
| tests.js:431:41:431:43 | key | tests.js:431:21:431:44 | almostS ... c, key) | provenance | Config |
| tests.js:432:13:432:45 | target | tests.js:434:37:434:42 | target | provenance | |
| tests.js:432:22:432:45 | almostS ... t, key) | tests.js:432:13:432:45 | target | provenance | |
| tests.js:432:13:432:18 | target | tests.js:434:37:434:42 | target | provenance | |
| tests.js:432:22:432:45 | almostS ... t, key) | tests.js:432:13:432:18 | target | provenance | |
| tests.js:432:37:432:39 | dst | tests.js:424:25:424:27 | obj | provenance | |
| tests.js:432:37:432:39 | dst | tests.js:432:22:432:45 | almostS ... t, key) | provenance | Config |
| tests.js:432:42:432:44 | key | tests.js:424:30:424:32 | key | provenance | |
@@ -570,9 +570,9 @@ edges
| tests.js:443:12:443:14 | obj | tests.js:443:12:443:19 | obj[key] | provenance | Config |
| tests.js:446:33:446:35 | src | tests.js:448:30:448:32 | src | provenance | |
| tests.js:447:14:447:16 | key | tests.js:453:17:453:19 | key | provenance | |
| tests.js:448:13:448:38 | value | tests.js:451:39:451:43 | value | provenance | |
| tests.js:448:13:448:38 | value | tests.js:453:24:453:28 | value | provenance | |
| tests.js:448:21:448:38 | safeRead(src, key) | tests.js:448:13:448:38 | value | provenance | |
| tests.js:448:13:448:17 | value | tests.js:451:39:451:43 | value | provenance | |
| tests.js:448:13:448:17 | value | tests.js:453:24:453:28 | value | provenance | |
| tests.js:448:21:448:38 | safeRead(src, key) | tests.js:448:13:448:17 | value | provenance | |
| tests.js:448:30:448:32 | src | tests.js:441:19:441:21 | obj | provenance | |
| tests.js:448:30:448:32 | src | tests.js:448:21:448:38 | safeRead(src, key) | provenance | Config |
| tests.js:451:39:451:43 | value | tests.js:446:33:446:35 | src | provenance | |
@@ -630,26 +630,26 @@ edges
| tests.js:494:32:494:34 | src | tests.js:498:21:498:23 | src | provenance | |
| tests.js:495:14:495:16 | key | tests.js:498:25:498:27 | key | provenance | |
| tests.js:495:14:495:16 | key | tests.js:502:17:502:19 | key | provenance | |
| tests.js:498:13:498:28 | value | tests.js:500:38:500:42 | value | provenance | |
| tests.js:498:13:498:28 | value | tests.js:500:38:500:42 | value | provenance | |
| tests.js:498:13:498:28 | value | tests.js:502:24:502:28 | value | provenance | |
| tests.js:498:13:498:28 | value | tests.js:502:24:502:28 | value | provenance | |
| tests.js:498:13:498:28 | value | tests.js:502:24:502:28 | value | provenance | |
| tests.js:498:13:498:17 | value | tests.js:500:38:500:42 | value | provenance | |
| tests.js:498:13:498:17 | value | tests.js:500:38:500:42 | value | provenance | |
| tests.js:498:13:498:17 | value | tests.js:502:24:502:28 | value | provenance | |
| tests.js:498:13:498:17 | value | tests.js:502:24:502:28 | value | provenance | |
| tests.js:498:13:498:17 | value | tests.js:502:24:502:28 | value | provenance | |
| tests.js:498:21:498:23 | src | tests.js:498:21:498:28 | src[key] | provenance | Config |
| tests.js:498:21:498:28 | src[key] | tests.js:498:13:498:28 | value | provenance | |
| tests.js:498:21:498:28 | src[key] | tests.js:498:13:498:28 | value | provenance | |
| tests.js:498:21:498:28 | src[key] | tests.js:498:13:498:28 | value | provenance | |
| tests.js:498:21:498:28 | src[key] | tests.js:498:13:498:17 | value | provenance | |
| tests.js:498:21:498:28 | src[key] | tests.js:498:13:498:17 | value | provenance | |
| tests.js:498:21:498:28 | src[key] | tests.js:498:13:498:17 | value | provenance | |
| tests.js:498:25:498:27 | key | tests.js:498:21:498:28 | src[key] | provenance | Config |
| tests.js:500:38:500:42 | value | tests.js:494:32:494:34 | src | provenance | |
| tests.js:508:30:508:32 | dst | tests.js:513:33:513:35 | dst | provenance | |
| tests.js:508:30:508:32 | dst | tests.js:517:35:517:37 | dst | provenance | |
| tests.js:508:35:508:37 | src | tests.js:513:43:513:45 | src | provenance | |
| tests.js:508:35:508:37 | src | tests.js:516:32:516:34 | src | provenance | |
| tests.js:511:13:511:25 | key | tests.js:513:37:513:39 | key | provenance | |
| tests.js:511:13:511:25 | key | tests.js:513:47:513:49 | key | provenance | |
| tests.js:511:13:511:25 | key | tests.js:516:36:516:38 | key | provenance | |
| tests.js:511:13:511:25 | key | tests.js:517:40:517:42 | key | provenance | |
| tests.js:511:19:511:25 | keys[i] | tests.js:511:13:511:25 | key | provenance | |
| tests.js:511:13:511:15 | key | tests.js:513:37:513:39 | key | provenance | |
| tests.js:511:13:511:15 | key | tests.js:513:47:513:49 | key | provenance | |
| tests.js:511:13:511:15 | key | tests.js:516:36:516:38 | key | provenance | |
| tests.js:511:13:511:15 | key | tests.js:517:40:517:42 | key | provenance | |
| tests.js:511:19:511:25 | keys[i] | tests.js:511:13:511:15 | key | provenance | |
| tests.js:513:33:513:35 | dst | tests.js:513:33:513:40 | dst[key] | provenance | Config |
| tests.js:513:33:513:40 | dst[key] | tests.js:508:30:508:32 | dst | provenance | |
| tests.js:513:37:513:39 | key | tests.js:513:33:513:40 | dst[key] | provenance | Config |
@@ -660,14 +660,14 @@ edges
| tests.js:516:36:516:38 | key | tests.js:516:32:516:39 | src[key] | provenance | Config |
| tests.js:522:35:522:38 | args [0] | tests.js:523:17:523:20 | args [0] | provenance | |
| tests.js:522:35:522:38 | args [1] | tests.js:524:17:524:20 | args [1] | provenance | |
| tests.js:523:11:523:23 | dst | tests.js:527:35:527:37 | dst | provenance | |
| tests.js:523:11:523:23 | dst | tests.js:529:13:529:15 | dst | provenance | |
| tests.js:523:11:523:13 | dst | tests.js:527:35:527:37 | dst | provenance | |
| tests.js:523:11:523:13 | dst | tests.js:529:13:529:15 | dst | provenance | |
| tests.js:523:17:523:20 | args [0] | tests.js:523:17:523:23 | args[0] | provenance | |
| tests.js:523:17:523:23 | args[0] | tests.js:523:11:523:23 | dst | provenance | |
| tests.js:524:11:524:23 | src | tests.js:527:45:527:47 | src | provenance | |
| tests.js:524:11:524:23 | src | tests.js:529:24:529:26 | src | provenance | |
| tests.js:523:17:523:23 | args[0] | tests.js:523:11:523:13 | dst | provenance | |
| tests.js:524:11:524:13 | src | tests.js:527:45:527:47 | src | provenance | |
| tests.js:524:11:524:13 | src | tests.js:529:24:529:26 | src | provenance | |
| tests.js:524:17:524:20 | args [1] | tests.js:524:17:524:23 | args[1] | provenance | |
| tests.js:524:17:524:23 | args[1] | tests.js:524:11:524:23 | src | provenance | |
| tests.js:524:17:524:23 | args[1] | tests.js:524:11:524:13 | src | provenance | |
| tests.js:525:14:525:16 | key | tests.js:527:39:527:41 | key | provenance | |
| tests.js:525:14:525:16 | key | tests.js:527:49:527:51 | key | provenance | |
| tests.js:525:14:525:16 | key | tests.js:529:17:529:19 | key | provenance | |
@@ -776,17 +776,17 @@ nodes
| examples/PrototypePollutingFunction_fixed.js:7:24:7:26 | src | semmle.label | src |
| examples/PrototypePollutingFunction_fixed.js:7:24:7:31 | src[key] | semmle.label | src[key] |
| examples/PrototypePollutingFunction_fixed.js:7:28:7:30 | key | semmle.label | key |
| path-assignment.js:8:13:8:25 | key | semmle.label | key |
| path-assignment.js:8:13:8:15 | key | semmle.label | key |
| path-assignment.js:8:19:8:25 | keys[i] | semmle.label | keys[i] |
| path-assignment.js:13:13:13:32 | target | semmle.label | target |
| path-assignment.js:13:13:13:18 | target | semmle.label | target |
| path-assignment.js:13:22:13:27 | target | semmle.label | target |
| path-assignment.js:13:22:13:32 | target[key] | semmle.label | target[key] |
| path-assignment.js:13:29:13:31 | key | semmle.label | key |
| path-assignment.js:15:13:15:18 | target | semmle.label | target |
| path-assignment.js:15:20:15:22 | key | semmle.label | key |
| path-assignment.js:41:13:41:25 | key | semmle.label | key |
| path-assignment.js:41:13:41:15 | key | semmle.label | key |
| path-assignment.js:41:19:41:25 | keys[i] | semmle.label | keys[i] |
| path-assignment.js:42:9:42:48 | target | semmle.label | target |
| path-assignment.js:42:9:42:14 | target | semmle.label | target |
| path-assignment.js:42:18:42:23 | target | semmle.label | target |
| path-assignment.js:42:25:42:27 | key | semmle.label | key |
| path-assignment.js:42:32:42:37 | target | semmle.label | target |
@@ -795,9 +795,9 @@ nodes
| path-assignment.js:42:39:42:41 | key | semmle.label | key |
| path-assignment.js:44:5:44:10 | target | semmle.label | target |
| path-assignment.js:44:12:44:18 | keys[i] | semmle.label | keys[i] |
| path-assignment.js:58:13:58:25 | key | semmle.label | key |
| path-assignment.js:58:13:58:15 | key | semmle.label | key |
| path-assignment.js:58:19:58:25 | keys[i] | semmle.label | keys[i] |
| path-assignment.js:59:9:59:48 | target | semmle.label | target |
| path-assignment.js:59:9:59:14 | target | semmle.label | target |
| path-assignment.js:59:18:59:23 | target | semmle.label | target |
| path-assignment.js:59:25:59:27 | key | semmle.label | key |
| path-assignment.js:59:32:59:37 | target | semmle.label | target |
@@ -806,9 +806,9 @@ nodes
| path-assignment.js:59:39:59:41 | key | semmle.label | key |
| path-assignment.js:61:5:61:10 | target | semmle.label | target |
| path-assignment.js:61:12:61:18 | keys[i] | semmle.label | keys[i] |
| path-assignment.js:68:13:68:25 | key | semmle.label | key |
| path-assignment.js:68:13:68:15 | key | semmle.label | key |
| path-assignment.js:68:19:68:25 | keys[i] | semmle.label | keys[i] |
| path-assignment.js:69:9:69:48 | target | semmle.label | target |
| path-assignment.js:69:9:69:14 | target | semmle.label | target |
| path-assignment.js:69:18:69:23 | target | semmle.label | target |
| path-assignment.js:69:25:69:27 | key | semmle.label | key |
| path-assignment.js:69:32:69:37 | target | semmle.label | target |
@@ -859,7 +859,7 @@ nodes
| tests.js:31:22:31:24 | dst | semmle.label | dst |
| tests.js:31:27:31:31 | value | semmle.label | value |
| tests.js:31:34:31:36 | key | semmle.label | key |
| tests.js:32:9:32:27 | dstValue | semmle.label | dstValue |
| tests.js:32:9:32:16 | dstValue | semmle.label | dstValue |
| tests.js:32:20:32:22 | dst | semmle.label | dst |
| tests.js:32:20:32:27 | dst[key] | semmle.label | dst[key] |
| tests.js:32:24:32:26 | key | semmle.label | key |
@@ -976,7 +976,7 @@ nodes
| tests.js:184:24:184:31 | src[key] | semmle.label | src[key] |
| tests.js:189:32:189:34 | dst | semmle.label | dst |
| tests.js:189:37:189:39 | src | semmle.label | src |
| tests.js:192:13:192:25 | key | semmle.label | key |
| tests.js:192:13:192:15 | key | semmle.label | key |
| tests.js:192:19:192:25 | keys[i] | semmle.label | keys[i] |
| tests.js:194:35:194:37 | dst | semmle.label | dst |
| tests.js:194:35:194:42 | dst[key] | semmle.label | dst[key] |
@@ -1031,9 +1031,9 @@ nodes
| tests.js:240:36:240:44 | data[key] | semmle.label | data[key] |
| tests.js:240:41:240:43 | key | semmle.label | key |
| tests.js:263:27:263:29 | dst | semmle.label | dst |
| tests.js:265:13:265:26 | key | semmle.label | key |
| tests.js:265:13:265:15 | key | semmle.label | key |
| tests.js:265:19:265:26 | entry[0] | semmle.label | entry[0] |
| tests.js:266:13:266:28 | value | semmle.label | value |
| tests.js:266:13:266:17 | value | semmle.label | value |
| tests.js:266:21:266:28 | entry[1] | semmle.label | entry[1] |
| tests.js:268:30:268:32 | dst | semmle.label | dst |
| tests.js:268:30:268:37 | dst[key] | semmle.label | dst[key] |
@@ -1059,9 +1059,9 @@ nodes
| tests.js:301:27:301:29 | dst | semmle.label | dst |
| tests.js:301:32:301:34 | src | semmle.label | src |
| tests.js:302:14:302:16 | key | semmle.label | key |
| tests.js:304:17:304:32 | value | semmle.label | value |
| tests.js:304:17:304:32 | value | semmle.label | value |
| tests.js:304:17:304:32 | value | semmle.label | value |
| tests.js:304:17:304:21 | value | semmle.label | value |
| tests.js:304:17:304:21 | value | semmle.label | value |
| tests.js:304:17:304:21 | value | semmle.label | value |
| tests.js:304:25:304:27 | src | semmle.label | src |
| tests.js:304:25:304:32 | src[key] | semmle.label | src[key] |
| tests.js:304:25:304:32 | src[key] | semmle.label | src[key] |
@@ -1077,9 +1077,9 @@ nodes
| tests.js:314:31:314:33 | dst | semmle.label | dst |
| tests.js:314:36:314:38 | src | semmle.label | src |
| tests.js:315:14:315:16 | key | semmle.label | key |
| tests.js:318:17:318:32 | value | semmle.label | value |
| tests.js:318:17:318:32 | value | semmle.label | value |
| tests.js:318:17:318:32 | value | semmle.label | value |
| tests.js:318:17:318:21 | value | semmle.label | value |
| tests.js:318:17:318:21 | value | semmle.label | value |
| tests.js:318:17:318:21 | value | semmle.label | value |
| tests.js:318:25:318:27 | src | semmle.label | src |
| tests.js:318:25:318:32 | src[key] | semmle.label | src[key] |
| tests.js:318:25:318:32 | src[key] | semmle.label | src[key] |
@@ -1197,11 +1197,11 @@ nodes
| tests.js:412:31:412:33 | dst | semmle.label | dst |
| tests.js:412:36:412:38 | src | semmle.label | src |
| tests.js:413:14:413:16 | key | semmle.label | key |
| tests.js:414:13:414:41 | value | semmle.label | value |
| tests.js:414:13:414:17 | value | semmle.label | value |
| tests.js:414:21:414:41 | wrapped ... c, key) | semmle.label | wrapped ... c, key) |
| tests.js:414:33:414:35 | src | semmle.label | src |
| tests.js:414:38:414:40 | key | semmle.label | key |
| tests.js:415:13:415:42 | target | semmle.label | target |
| tests.js:415:13:415:18 | target | semmle.label | target |
| tests.js:415:22:415:42 | wrapped ... t, key) | semmle.label | wrapped ... t, key) |
| tests.js:415:34:415:36 | dst | semmle.label | dst |
| tests.js:415:39:415:41 | key | semmle.label | key |
@@ -1218,11 +1218,11 @@ nodes
| tests.js:429:34:429:36 | dst | semmle.label | dst |
| tests.js:429:39:429:41 | src | semmle.label | src |
| tests.js:430:14:430:16 | key | semmle.label | key |
| tests.js:431:13:431:44 | value | semmle.label | value |
| tests.js:431:13:431:17 | value | semmle.label | value |
| tests.js:431:21:431:44 | almostS ... c, key) | semmle.label | almostS ... c, key) |
| tests.js:431:36:431:38 | src | semmle.label | src |
| tests.js:431:41:431:43 | key | semmle.label | key |
| tests.js:432:13:432:45 | target | semmle.label | target |
| tests.js:432:13:432:18 | target | semmle.label | target |
| tests.js:432:22:432:45 | almostS ... t, key) | semmle.label | almostS ... t, key) |
| tests.js:432:37:432:39 | dst | semmle.label | dst |
| tests.js:432:42:432:44 | key | semmle.label | key |
@@ -1236,7 +1236,7 @@ nodes
| tests.js:443:12:443:19 | obj[key] | semmle.label | obj[key] |
| tests.js:446:33:446:35 | src | semmle.label | src |
| tests.js:447:14:447:16 | key | semmle.label | key |
| tests.js:448:13:448:38 | value | semmle.label | value |
| tests.js:448:13:448:17 | value | semmle.label | value |
| tests.js:448:21:448:38 | safeRead(src, key) | semmle.label | safeRead(src, key) |
| tests.js:448:30:448:32 | src | semmle.label | src |
| tests.js:451:39:451:43 | value | semmle.label | value |
@@ -1293,9 +1293,9 @@ nodes
| tests.js:489:28:489:30 | key | semmle.label | key |
| tests.js:494:32:494:34 | src | semmle.label | src |
| tests.js:495:14:495:16 | key | semmle.label | key |
| tests.js:498:13:498:28 | value | semmle.label | value |
| tests.js:498:13:498:28 | value | semmle.label | value |
| tests.js:498:13:498:28 | value | semmle.label | value |
| tests.js:498:13:498:17 | value | semmle.label | value |
| tests.js:498:13:498:17 | value | semmle.label | value |
| tests.js:498:13:498:17 | value | semmle.label | value |
| tests.js:498:21:498:23 | src | semmle.label | src |
| tests.js:498:21:498:28 | src[key] | semmle.label | src[key] |
| tests.js:498:21:498:28 | src[key] | semmle.label | src[key] |
@@ -1306,7 +1306,7 @@ nodes
| tests.js:502:24:502:28 | value | semmle.label | value |
| tests.js:508:30:508:32 | dst | semmle.label | dst |
| tests.js:508:35:508:37 | src | semmle.label | src |
| tests.js:511:13:511:25 | key | semmle.label | key |
| tests.js:511:13:511:15 | key | semmle.label | key |
| tests.js:511:19:511:25 | keys[i] | semmle.label | keys[i] |
| tests.js:513:33:513:35 | dst | semmle.label | dst |
| tests.js:513:33:513:40 | dst[key] | semmle.label | dst[key] |
@@ -1321,10 +1321,10 @@ nodes
| tests.js:517:40:517:42 | key | semmle.label | key |
| tests.js:522:35:522:38 | args [0] | semmle.label | args [0] |
| tests.js:522:35:522:38 | args [1] | semmle.label | args [1] |
| tests.js:523:11:523:23 | dst | semmle.label | dst |
| tests.js:523:11:523:13 | dst | semmle.label | dst |
| tests.js:523:17:523:20 | args [0] | semmle.label | args [0] |
| tests.js:523:17:523:23 | args[0] | semmle.label | args[0] |
| tests.js:524:11:524:23 | src | semmle.label | src |
| tests.js:524:11:524:13 | src | semmle.label | src |
| tests.js:524:17:524:20 | args [1] | semmle.label | args [1] |
| tests.js:524:17:524:23 | args[1] | semmle.label | args[1] |
| tests.js:525:14:525:16 | key | semmle.label | key |

View File

@@ -12,8 +12,8 @@ edges
| angularmerge.js:2:32:2:36 | event | angularmerge.js:2:32:2:41 | event.data | provenance | |
| angularmerge.js:2:32:2:41 | event.data | angularmerge.js:2:21:2:42 | JSON.pa ... t.data) | provenance | Config |
| src-vulnerable-lodash/tst.js:11:16:11:30 | req.query.value | src-vulnerable-lodash/tst.js:10:17:12:5 | {\\n ... e\\n } | provenance | |
| src-vulnerable-lodash/tst.js:14:9:16:5 | opts [thing] | src-vulnerable-lodash/tst.js:18:16:18:19 | opts [thing] | provenance | |
| src-vulnerable-lodash/tst.js:14:16:16:5 | {\\n ... e\\n } [thing] | src-vulnerable-lodash/tst.js:14:9:16:5 | opts [thing] | provenance | |
| src-vulnerable-lodash/tst.js:14:9:14:12 | opts [thing] | src-vulnerable-lodash/tst.js:18:16:18:19 | opts [thing] | provenance | |
| src-vulnerable-lodash/tst.js:14:16:16:5 | {\\n ... e\\n } [thing] | src-vulnerable-lodash/tst.js:14:9:14:12 | opts [thing] | provenance | |
| src-vulnerable-lodash/tst.js:15:14:15:28 | req.query.value | src-vulnerable-lodash/tst.js:14:16:16:5 | {\\n ... e\\n } [thing] | provenance | |
| src-vulnerable-lodash/tst.js:18:16:18:19 | opts [thing] | src-vulnerable-lodash/tst.js:18:16:18:25 | opts.thing | provenance | |
| src-vulnerable-lodash/tst.js:18:16:18:25 | opts.thing | src-vulnerable-lodash/tst.js:17:17:19:5 | {\\n ... g\\n } | provenance | |
@@ -37,7 +37,7 @@ nodes
| src-vulnerable-lodash/tst.js:7:17:7:29 | req.query.foo | semmle.label | req.query.foo |
| src-vulnerable-lodash/tst.js:10:17:12:5 | {\\n ... e\\n } | semmle.label | {\\n ... e\\n } |
| src-vulnerable-lodash/tst.js:11:16:11:30 | req.query.value | semmle.label | req.query.value |
| src-vulnerable-lodash/tst.js:14:9:16:5 | opts [thing] | semmle.label | opts [thing] |
| src-vulnerable-lodash/tst.js:14:9:14:12 | opts [thing] | semmle.label | opts [thing] |
| src-vulnerable-lodash/tst.js:14:16:16:5 | {\\n ... e\\n } [thing] | semmle.label | {\\n ... e\\n } [thing] |
| src-vulnerable-lodash/tst.js:15:14:15:28 | req.query.value | semmle.label | req.query.value |
| src-vulnerable-lodash/tst.js:17:17:19:5 | {\\n ... g\\n } | semmle.label | {\\n ... g\\n } |

View File

@@ -4,32 +4,32 @@
| clientSide.js:17:5:17:58 | request ... '/id') | clientSide.js:16:22:16:41 | window.location.hash | clientSide.js:17:13:17:57 | 'https: ... + '/id' | The $@ of this request depends on a $@. | clientSide.js:17:13:17:57 | 'https: ... + '/id' | URL | clientSide.js:16:22:16:41 | window.location.hash | user-provided value |
| clientSide.js:21:5:21:54 | request ... '/id') | clientSide.js:20:18:20:28 | window.name | clientSide.js:21:13:21:53 | 'https: ... + '/id' | The $@ of this request depends on a $@. | clientSide.js:21:13:21:53 | 'https: ... + '/id' | URL | clientSide.js:20:18:20:28 | window.name | user-provided value |
edges
| clientSide.js:11:11:11:53 | query | clientSide.js:12:42:12:46 | query | provenance | |
| clientSide.js:11:11:11:15 | query | clientSide.js:12:42:12:46 | query | provenance | |
| clientSide.js:11:19:11:40 | window. ... .search | clientSide.js:11:19:11:53 | window. ... ring(1) | provenance | |
| clientSide.js:11:19:11:53 | window. ... ring(1) | clientSide.js:11:11:11:53 | query | provenance | |
| clientSide.js:11:19:11:53 | window. ... ring(1) | clientSide.js:11:11:11:15 | query | provenance | |
| clientSide.js:12:42:12:46 | query | clientSide.js:12:13:12:54 | 'https: ... + '/id' | provenance | |
| clientSide.js:14:42:14:63 | window. ... .search | clientSide.js:14:13:14:63 | 'https: ... .search | provenance | |
| clientSide.js:16:11:16:54 | fragment | clientSide.js:17:42:17:49 | fragment | provenance | |
| clientSide.js:16:11:16:18 | fragment | clientSide.js:17:42:17:49 | fragment | provenance | |
| clientSide.js:16:22:16:41 | window.location.hash | clientSide.js:16:22:16:54 | window. ... ring(1) | provenance | |
| clientSide.js:16:22:16:54 | window. ... ring(1) | clientSide.js:16:11:16:54 | fragment | provenance | |
| clientSide.js:16:22:16:54 | window. ... ring(1) | clientSide.js:16:11:16:18 | fragment | provenance | |
| clientSide.js:17:42:17:49 | fragment | clientSide.js:17:13:17:57 | 'https: ... + '/id' | provenance | |
| clientSide.js:20:11:20:28 | name | clientSide.js:21:42:21:45 | name | provenance | |
| clientSide.js:20:18:20:28 | window.name | clientSide.js:20:11:20:28 | name | provenance | |
| clientSide.js:20:11:20:14 | name | clientSide.js:21:42:21:45 | name | provenance | |
| clientSide.js:20:18:20:28 | window.name | clientSide.js:20:11:20:14 | name | provenance | |
| clientSide.js:21:42:21:45 | name | clientSide.js:21:13:21:53 | 'https: ... + '/id' | provenance | |
nodes
| clientSide.js:11:11:11:53 | query | semmle.label | query |
| clientSide.js:11:11:11:15 | query | semmle.label | query |
| clientSide.js:11:19:11:40 | window. ... .search | semmle.label | window. ... .search |
| clientSide.js:11:19:11:53 | window. ... ring(1) | semmle.label | window. ... ring(1) |
| clientSide.js:12:13:12:54 | 'https: ... + '/id' | semmle.label | 'https: ... + '/id' |
| clientSide.js:12:42:12:46 | query | semmle.label | query |
| clientSide.js:14:13:14:63 | 'https: ... .search | semmle.label | 'https: ... .search |
| clientSide.js:14:42:14:63 | window. ... .search | semmle.label | window. ... .search |
| clientSide.js:16:11:16:54 | fragment | semmle.label | fragment |
| clientSide.js:16:11:16:18 | fragment | semmle.label | fragment |
| clientSide.js:16:22:16:41 | window.location.hash | semmle.label | window.location.hash |
| clientSide.js:16:22:16:54 | window. ... ring(1) | semmle.label | window. ... ring(1) |
| clientSide.js:17:13:17:57 | 'https: ... + '/id' | semmle.label | 'https: ... + '/id' |
| clientSide.js:17:42:17:49 | fragment | semmle.label | fragment |
| clientSide.js:20:11:20:28 | name | semmle.label | name |
| clientSide.js:20:11:20:14 | name | semmle.label | name |
| clientSide.js:20:18:20:28 | window.name | semmle.label | window.name |
| clientSide.js:21:13:21:53 | 'https: ... + '/id' | semmle.label | 'https: ... + '/id' |
| clientSide.js:21:42:21:45 | name | semmle.label | name |

View File

@@ -40,58 +40,58 @@
| serverSide.js:145:3:145:23 | axios.g ... dedUrl) | serverSide.js:139:17:139:29 | req.query.url | serverSide.js:145:13:145:22 | encodedUrl | The $@ of this request depends on a $@. | serverSide.js:145:13:145:22 | encodedUrl | URL | serverSide.js:139:17:139:29 | req.query.url | user-provided value |
| serverSide.js:147:3:147:23 | axios.g ... pedUrl) | serverSide.js:139:17:139:29 | req.query.url | serverSide.js:147:13:147:22 | escapedUrl | The $@ of this request depends on a $@. | serverSide.js:147:13:147:22 | escapedUrl | URL | serverSide.js:139:17:139:29 | req.query.url | user-provided value |
edges
| Request/app/api/proxy/route2.serverSide.ts:4:9:4:15 | { url } | Request/app/api/proxy/route2.serverSide.ts:4:9:4:34 | url | provenance | |
| Request/app/api/proxy/route2.serverSide.ts:4:9:4:34 | url | Request/app/api/proxy/route2.serverSide.ts:5:27:5:29 | url | provenance | |
| Request/app/api/proxy/route2.serverSide.ts:4:9:4:15 | { url } | Request/app/api/proxy/route2.serverSide.ts:4:11:4:13 | url | provenance | |
| Request/app/api/proxy/route2.serverSide.ts:4:11:4:13 | url | Request/app/api/proxy/route2.serverSide.ts:5:27:5:29 | url | provenance | |
| Request/app/api/proxy/route2.serverSide.ts:4:19:4:34 | await req.json() | Request/app/api/proxy/route2.serverSide.ts:4:9:4:15 | { url } | provenance | |
| Request/app/api/proxy/route2.serverSide.ts:4:25:4:34 | req.json() | Request/app/api/proxy/route2.serverSide.ts:4:19:4:34 | await req.json() | provenance | |
| Request/app/api/proxy/route.serverSide.ts:2:9:2:15 | { url } | Request/app/api/proxy/route.serverSide.ts:2:9:2:34 | url | provenance | |
| Request/app/api/proxy/route.serverSide.ts:2:9:2:34 | url | Request/app/api/proxy/route.serverSide.ts:3:27:3:29 | url | provenance | |
| Request/app/api/proxy/route.serverSide.ts:2:9:2:15 | { url } | Request/app/api/proxy/route.serverSide.ts:2:11:2:13 | url | provenance | |
| Request/app/api/proxy/route.serverSide.ts:2:11:2:13 | url | Request/app/api/proxy/route.serverSide.ts:3:27:3:29 | url | provenance | |
| Request/app/api/proxy/route.serverSide.ts:2:19:2:34 | await req.json() | Request/app/api/proxy/route.serverSide.ts:2:9:2:15 | { url } | provenance | |
| Request/app/api/proxy/route.serverSide.ts:2:25:2:34 | req.json() | Request/app/api/proxy/route.serverSide.ts:2:19:2:34 | await req.json() | provenance | |
| Request/middleware.ts:4:11:4:30 | target | Request/middleware.ts:7:31:7:36 | target | provenance | |
| Request/middleware.ts:4:20:4:30 | req.nextUrl | Request/middleware.ts:4:11:4:30 | target | provenance | |
| Request/middleware.ts:5:11:5:53 | target2 | Request/middleware.ts:12:33:12:39 | target2 | provenance | |
| Request/middleware.ts:5:21:5:53 | target. ... arget') | Request/middleware.ts:5:11:5:53 | target2 | provenance | |
| apollo.serverSide.ts:7:36:7:44 | files | apollo.serverSide.ts:8:13:8:17 | files | provenance | |
| apollo.serverSide.ts:7:36:7:44 | { files } | apollo.serverSide.ts:7:36:7:44 | files | provenance | |
| Request/middleware.ts:4:11:4:16 | target | Request/middleware.ts:7:31:7:36 | target | provenance | |
| Request/middleware.ts:4:20:4:30 | req.nextUrl | Request/middleware.ts:4:11:4:16 | target | provenance | |
| Request/middleware.ts:5:11:5:17 | target2 | Request/middleware.ts:12:33:12:39 | target2 | provenance | |
| Request/middleware.ts:5:21:5:53 | target. ... arget') | Request/middleware.ts:5:11:5:17 | target2 | provenance | |
| apollo.serverSide.ts:7:36:7:44 | { files } | apollo.serverSide.ts:7:38:7:42 | files | provenance | |
| apollo.serverSide.ts:7:38:7:42 | files | apollo.serverSide.ts:8:13:8:17 | files | provenance | |
| apollo.serverSide.ts:8:13:8:17 | files | apollo.serverSide.ts:8:28:8:31 | file | provenance | |
| apollo.serverSide.ts:8:28:8:31 | file | apollo.serverSide.ts:8:43:8:46 | file | provenance | |
| apollo.serverSide.ts:8:43:8:46 | file | apollo.serverSide.ts:8:43:8:50 | file.url | provenance | |
| apollo.serverSide.ts:17:34:17:42 | files | apollo.serverSide.ts:18:11:18:15 | files | provenance | |
| apollo.serverSide.ts:17:34:17:42 | { files } | apollo.serverSide.ts:17:34:17:42 | files | provenance | |
| apollo.serverSide.ts:17:34:17:42 | { files } | apollo.serverSide.ts:17:36:17:40 | files | provenance | |
| apollo.serverSide.ts:17:36:17:40 | files | apollo.serverSide.ts:18:11:18:15 | files | provenance | |
| apollo.serverSide.ts:18:11:18:15 | files | apollo.serverSide.ts:18:26:18:29 | file | provenance | |
| apollo.serverSide.ts:18:26:18:29 | file | apollo.serverSide.ts:18:41:18:44 | file | provenance | |
| apollo.serverSide.ts:18:41:18:44 | file | apollo.serverSide.ts:18:41:18:48 | file.url | provenance | |
| axiosInterceptors.serverSide.js:19:11:19:17 | { url } | axiosInterceptors.serverSide.js:19:11:19:28 | url | provenance | |
| axiosInterceptors.serverSide.js:19:11:19:28 | url | axiosInterceptors.serverSide.js:20:23:20:25 | url | provenance | |
| axiosInterceptors.serverSide.js:19:11:19:17 | { url } | axiosInterceptors.serverSide.js:19:13:19:15 | url | provenance | |
| axiosInterceptors.serverSide.js:19:13:19:15 | url | axiosInterceptors.serverSide.js:20:23:20:25 | url | provenance | |
| axiosInterceptors.serverSide.js:19:21:19:28 | req.body | axiosInterceptors.serverSide.js:19:11:19:17 | { url } | provenance | |
| axiosInterceptors.serverSide.js:20:5:20:25 | userProvidedUrl | axiosInterceptors.serverSide.js:11:26:11:40 | userProvidedUrl | provenance | |
| axiosInterceptors.serverSide.js:20:23:20:25 | url | axiosInterceptors.serverSide.js:20:5:20:25 | userProvidedUrl | provenance | |
| axiosInterceptors.serverSide.js:20:5:20:19 | userProvidedUrl | axiosInterceptors.serverSide.js:11:26:11:40 | userProvidedUrl | provenance | |
| axiosInterceptors.serverSide.js:20:23:20:25 | url | axiosInterceptors.serverSide.js:20:5:20:19 | userProvidedUrl | provenance | |
| serverSide2.js:9:34:9:63 | qs.pars ... .query) | serverSide2.js:19:24:19:51 | req.par ... rsedUrl | provenance | |
| serverSide2.js:9:43:9:56 | req._parsedUrl | serverSide2.js:9:34:9:63 | qs.pars ... .query) | provenance | |
| serverSide2.js:10:25:10:31 | req.url | serverSide2.js:16:23:16:41 | req.parsedQuery.url | provenance | |
| serverSide2.js:11:24:11:30 | req.url | serverSide2.js:25:24:25:41 | req.SomeObject.url | provenance | |
| serverSide2.js:16:11:16:41 | targetUrl | serverSide2.js:17:38:17:46 | targetUrl | provenance | |
| serverSide2.js:16:23:16:41 | req.parsedQuery.url | serverSide2.js:16:11:16:41 | targetUrl | provenance | |
| serverSide2.js:19:11:19:55 | targetUrl1 | serverSide2.js:20:39:20:48 | targetUrl1 | provenance | |
| serverSide2.js:19:24:19:51 | req.par ... rsedUrl | serverSide2.js:19:11:19:55 | targetUrl1 | provenance | |
| serverSide2.js:22:11:22:36 | targetUrl2 | serverSide2.js:23:39:23:48 | targetUrl2 | provenance | |
| serverSide2.js:22:24:22:30 | req.url | serverSide2.js:22:11:22:36 | targetUrl2 | provenance | |
| serverSide2.js:25:11:25:47 | targetUrl3 | serverSide2.js:26:39:26:48 | targetUrl3 | provenance | |
| serverSide2.js:25:24:25:41 | req.SomeObject.url | serverSide2.js:25:11:25:47 | targetUrl3 | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:18:13:18:19 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:20:17:20:23 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:23:19:23:25 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:26:25:26:31 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:28:36:28:42 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:30:37:30:43 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:34:34:34:40 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:36:24:36:30 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:37:30:37:36 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:41:43:41:49 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:43:46:43:52 | tainted | provenance | |
| serverSide.js:14:9:14:52 | tainted | serverSide.js:45:50:45:56 | tainted | provenance | |
| serverSide.js:14:19:14:42 | url.par ... , true) | serverSide.js:14:9:14:52 | tainted | provenance | |
| serverSide2.js:16:11:16:19 | targetUrl | serverSide2.js:17:38:17:46 | targetUrl | provenance | |
| serverSide2.js:16:23:16:41 | req.parsedQuery.url | serverSide2.js:16:11:16:19 | targetUrl | provenance | |
| serverSide2.js:19:11:19:20 | targetUrl1 | serverSide2.js:20:39:20:48 | targetUrl1 | provenance | |
| serverSide2.js:19:24:19:51 | req.par ... rsedUrl | serverSide2.js:19:11:19:20 | targetUrl1 | provenance | |
| serverSide2.js:22:11:22:20 | targetUrl2 | serverSide2.js:23:39:23:48 | targetUrl2 | provenance | |
| serverSide2.js:22:24:22:30 | req.url | serverSide2.js:22:11:22:20 | targetUrl2 | provenance | |
| serverSide2.js:25:11:25:20 | targetUrl3 | serverSide2.js:26:39:26:48 | targetUrl3 | provenance | |
| serverSide2.js:25:24:25:41 | req.SomeObject.url | serverSide2.js:25:11:25:20 | targetUrl3 | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:18:13:18:19 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:20:17:20:23 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:23:19:23:25 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:26:25:26:31 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:28:36:28:42 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:30:37:30:43 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:34:34:34:40 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:36:24:36:30 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:37:30:37:36 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:41:43:41:49 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:43:46:43:52 | tainted | provenance | |
| serverSide.js:14:9:14:15 | tainted | serverSide.js:45:50:45:56 | tainted | provenance | |
| serverSide.js:14:19:14:42 | url.par ... , true) | serverSide.js:14:9:14:15 | tainted | provenance | |
| serverSide.js:14:29:14:35 | req.url | serverSide.js:14:19:14:42 | url.par ... , true) | provenance | |
| serverSide.js:26:25:26:31 | tainted | serverSide.js:26:13:26:31 | "http://" + tainted | provenance | |
| serverSide.js:28:36:28:42 | tainted | serverSide.js:28:13:28:42 | "http:/ ... tainted | provenance | |
@@ -101,101 +101,101 @@ edges
| serverSide.js:41:43:41:49 | tainted | serverSide.js:41:13:41:51 | `http:/ ... inted}` | provenance | |
| serverSide.js:43:46:43:52 | tainted | serverSide.js:43:13:43:54 | `http:/ ... inted}` | provenance | |
| serverSide.js:45:50:45:56 | tainted | serverSide.js:45:13:45:56 | 'http:/ ... tainted | provenance | |
| serverSide.js:58:9:58:52 | tainted | serverSide.js:61:29:61:35 | tainted | provenance | |
| serverSide.js:58:9:58:52 | tainted | serverSide.js:61:29:61:35 | tainted | provenance | |
| serverSide.js:58:19:58:42 | url.par ... , true) | serverSide.js:58:9:58:52 | tainted | provenance | |
| serverSide.js:58:9:58:15 | tainted | serverSide.js:61:29:61:35 | tainted | provenance | |
| serverSide.js:58:9:58:15 | tainted | serverSide.js:61:29:61:35 | tainted | provenance | |
| serverSide.js:58:19:58:42 | url.par ... , true) | serverSide.js:58:9:58:15 | tainted | provenance | |
| serverSide.js:58:29:58:35 | req.url | serverSide.js:58:19:58:42 | url.par ... , true) | provenance | |
| serverSide.js:61:29:61:35 | tainted | serverSide.js:64:30:64:36 | tainted | provenance | |
| serverSide.js:61:29:61:35 | tainted | serverSide.js:68:30:68:36 | tainted | provenance | |
| serverSide.js:74:9:74:52 | tainted | serverSide.js:76:19:76:25 | tainted | provenance | |
| serverSide.js:74:19:74:42 | url.par ... , true) | serverSide.js:74:9:74:52 | tainted | provenance | |
| serverSide.js:74:9:74:15 | tainted | serverSide.js:76:19:76:25 | tainted | provenance | |
| serverSide.js:74:19:74:42 | url.par ... , true) | serverSide.js:74:9:74:15 | tainted | provenance | |
| serverSide.js:74:29:74:35 | req.url | serverSide.js:74:19:74:42 | url.par ... , true) | provenance | |
| serverSide.js:83:38:83:43 | param1 | serverSide.js:84:19:84:24 | param1 | provenance | |
| serverSide.js:90:19:90:28 | ctx.params | serverSide.js:90:19:90:32 | ctx.params.foo | provenance | |
| serverSide.js:92:19:92:28 | ctx.params | serverSide.js:92:19:92:32 | ctx.params.foo | provenance | |
| serverSide.js:98:9:98:52 | tainted | serverSide.js:100:19:100:25 | tainted | provenance | |
| serverSide.js:98:19:98:42 | url.par ... , true) | serverSide.js:98:9:98:52 | tainted | provenance | |
| serverSide.js:98:9:98:15 | tainted | serverSide.js:100:19:100:25 | tainted | provenance | |
| serverSide.js:98:19:98:42 | url.par ... , true) | serverSide.js:98:9:98:15 | tainted | provenance | |
| serverSide.js:98:29:98:35 | req.url | serverSide.js:98:19:98:42 | url.par ... , true) | provenance | |
| serverSide.js:108:11:108:27 | url | serverSide.js:109:27:109:29 | url | provenance | |
| serverSide.js:108:17:108:27 | request.url | serverSide.js:108:11:108:27 | url | provenance | |
| serverSide.js:115:11:115:42 | url | serverSide.js:117:27:117:29 | url | provenance | |
| serverSide.js:115:17:115:42 | new URL ... , base) | serverSide.js:115:11:115:42 | url | provenance | |
| serverSide.js:108:11:108:13 | url | serverSide.js:109:27:109:29 | url | provenance | |
| serverSide.js:108:17:108:27 | request.url | serverSide.js:108:11:108:13 | url | provenance | |
| serverSide.js:115:11:115:13 | url | serverSide.js:117:27:117:29 | url | provenance | |
| serverSide.js:115:17:115:42 | new URL ... , base) | serverSide.js:115:11:115:13 | url | provenance | |
| serverSide.js:115:25:115:35 | request.url | serverSide.js:115:17:115:42 | new URL ... , base) | provenance | Config |
| serverSide.js:123:9:123:52 | tainted | serverSide.js:127:14:127:20 | tainted | provenance | |
| serverSide.js:123:9:123:52 | tainted | serverSide.js:130:37:130:43 | tainted | provenance | |
| serverSide.js:123:19:123:42 | url.par ... , true) | serverSide.js:123:9:123:52 | tainted | provenance | |
| serverSide.js:123:9:123:15 | tainted | serverSide.js:127:14:127:20 | tainted | provenance | |
| serverSide.js:123:9:123:15 | tainted | serverSide.js:130:37:130:43 | tainted | provenance | |
| serverSide.js:123:19:123:42 | url.par ... , true) | serverSide.js:123:9:123:15 | tainted | provenance | |
| serverSide.js:123:29:123:35 | req.url | serverSide.js:123:19:123:42 | url.par ... , true) | provenance | |
| serverSide.js:130:9:130:45 | myUrl | serverSide.js:131:15:131:19 | myUrl | provenance | |
| serverSide.js:130:37:130:43 | tainted | serverSide.js:130:9:130:45 | myUrl | provenance | |
| serverSide.js:139:9:139:29 | input | serverSide.js:140:26:140:30 | input | provenance | |
| serverSide.js:139:9:139:29 | input | serverSide.js:144:32:144:36 | input | provenance | |
| serverSide.js:139:9:139:29 | input | serverSide.js:146:29:146:33 | input | provenance | |
| serverSide.js:139:17:139:29 | req.query.url | serverSide.js:139:9:139:29 | input | provenance | |
| serverSide.js:140:9:140:31 | target | serverSide.js:141:13:141:18 | target | provenance | |
| serverSide.js:140:9:140:31 | target | serverSide.js:142:13:142:18 | target | provenance | |
| serverSide.js:140:9:140:31 | target | serverSide.js:143:13:143:18 | target | provenance | |
| serverSide.js:140:18:140:31 | new URL(input) | serverSide.js:140:9:140:31 | target | provenance | |
| serverSide.js:130:9:130:13 | myUrl | serverSide.js:131:15:131:19 | myUrl | provenance | |
| serverSide.js:130:37:130:43 | tainted | serverSide.js:130:9:130:13 | myUrl | provenance | |
| serverSide.js:139:9:139:13 | input | serverSide.js:140:26:140:30 | input | provenance | |
| serverSide.js:139:9:139:13 | input | serverSide.js:144:32:144:36 | input | provenance | |
| serverSide.js:139:9:139:13 | input | serverSide.js:146:29:146:33 | input | provenance | |
| serverSide.js:139:17:139:29 | req.query.url | serverSide.js:139:9:139:13 | input | provenance | |
| serverSide.js:140:9:140:14 | target | serverSide.js:141:13:141:18 | target | provenance | |
| serverSide.js:140:9:140:14 | target | serverSide.js:142:13:142:18 | target | provenance | |
| serverSide.js:140:9:140:14 | target | serverSide.js:143:13:143:18 | target | provenance | |
| serverSide.js:140:18:140:31 | new URL(input) | serverSide.js:140:9:140:14 | target | provenance | |
| serverSide.js:140:26:140:30 | input | serverSide.js:140:18:140:31 | new URL(input) | provenance | Config |
| serverSide.js:141:13:141:18 | target | serverSide.js:141:13:141:29 | target.toString() | provenance | |
| serverSide.js:143:13:143:18 | target | serverSide.js:143:13:143:23 | target.href | provenance | |
| serverSide.js:144:9:144:37 | encodedUrl | serverSide.js:145:13:145:22 | encodedUrl | provenance | |
| serverSide.js:144:22:144:37 | encodeURI(input) | serverSide.js:144:9:144:37 | encodedUrl | provenance | |
| serverSide.js:144:9:144:18 | encodedUrl | serverSide.js:145:13:145:22 | encodedUrl | provenance | |
| serverSide.js:144:22:144:37 | encodeURI(input) | serverSide.js:144:9:144:18 | encodedUrl | provenance | |
| serverSide.js:144:32:144:36 | input | serverSide.js:144:22:144:37 | encodeURI(input) | provenance | |
| serverSide.js:146:9:146:34 | escapedUrl | serverSide.js:147:13:147:22 | escapedUrl | provenance | |
| serverSide.js:146:22:146:34 | escape(input) | serverSide.js:146:9:146:34 | escapedUrl | provenance | |
| serverSide.js:146:9:146:18 | escapedUrl | serverSide.js:147:13:147:22 | escapedUrl | provenance | |
| serverSide.js:146:22:146:34 | escape(input) | serverSide.js:146:9:146:18 | escapedUrl | provenance | |
| serverSide.js:146:29:146:33 | input | serverSide.js:146:22:146:34 | escape(input) | provenance | |
nodes
| Request/app/api/proxy/route2.serverSide.ts:4:9:4:15 | { url } | semmle.label | { url } |
| Request/app/api/proxy/route2.serverSide.ts:4:9:4:34 | url | semmle.label | url |
| Request/app/api/proxy/route2.serverSide.ts:4:11:4:13 | url | semmle.label | url |
| Request/app/api/proxy/route2.serverSide.ts:4:19:4:34 | await req.json() | semmle.label | await req.json() |
| Request/app/api/proxy/route2.serverSide.ts:4:25:4:34 | req.json() | semmle.label | req.json() |
| Request/app/api/proxy/route2.serverSide.ts:5:27:5:29 | url | semmle.label | url |
| Request/app/api/proxy/route.serverSide.ts:2:9:2:15 | { url } | semmle.label | { url } |
| Request/app/api/proxy/route.serverSide.ts:2:9:2:34 | url | semmle.label | url |
| Request/app/api/proxy/route.serverSide.ts:2:11:2:13 | url | semmle.label | url |
| Request/app/api/proxy/route.serverSide.ts:2:19:2:34 | await req.json() | semmle.label | await req.json() |
| Request/app/api/proxy/route.serverSide.ts:2:25:2:34 | req.json() | semmle.label | req.json() |
| Request/app/api/proxy/route.serverSide.ts:3:27:3:29 | url | semmle.label | url |
| Request/middleware.ts:4:11:4:30 | target | semmle.label | target |
| Request/middleware.ts:4:11:4:16 | target | semmle.label | target |
| Request/middleware.ts:4:20:4:30 | req.nextUrl | semmle.label | req.nextUrl |
| Request/middleware.ts:5:11:5:53 | target2 | semmle.label | target2 |
| Request/middleware.ts:5:11:5:17 | target2 | semmle.label | target2 |
| Request/middleware.ts:5:21:5:53 | target. ... arget') | semmle.label | target. ... arget') |
| Request/middleware.ts:7:31:7:36 | target | semmle.label | target |
| Request/middleware.ts:12:33:12:39 | target2 | semmle.label | target2 |
| apollo.serverSide.ts:7:36:7:44 | files | semmle.label | files |
| apollo.serverSide.ts:7:36:7:44 | { files } | semmle.label | { files } |
| apollo.serverSide.ts:7:38:7:42 | files | semmle.label | files |
| apollo.serverSide.ts:8:13:8:17 | files | semmle.label | files |
| apollo.serverSide.ts:8:28:8:31 | file | semmle.label | file |
| apollo.serverSide.ts:8:43:8:46 | file | semmle.label | file |
| apollo.serverSide.ts:8:43:8:50 | file.url | semmle.label | file.url |
| apollo.serverSide.ts:17:34:17:42 | files | semmle.label | files |
| apollo.serverSide.ts:17:34:17:42 | { files } | semmle.label | { files } |
| apollo.serverSide.ts:17:36:17:40 | files | semmle.label | files |
| apollo.serverSide.ts:18:11:18:15 | files | semmle.label | files |
| apollo.serverSide.ts:18:26:18:29 | file | semmle.label | file |
| apollo.serverSide.ts:18:41:18:44 | file | semmle.label | file |
| apollo.serverSide.ts:18:41:18:48 | file.url | semmle.label | file.url |
| axiosInterceptors.serverSide.js:11:26:11:40 | userProvidedUrl | semmle.label | userProvidedUrl |
| axiosInterceptors.serverSide.js:19:11:19:17 | { url } | semmle.label | { url } |
| axiosInterceptors.serverSide.js:19:11:19:28 | url | semmle.label | url |
| axiosInterceptors.serverSide.js:19:13:19:15 | url | semmle.label | url |
| axiosInterceptors.serverSide.js:19:21:19:28 | req.body | semmle.label | req.body |
| axiosInterceptors.serverSide.js:20:5:20:25 | userProvidedUrl | semmle.label | userProvidedUrl |
| axiosInterceptors.serverSide.js:20:5:20:19 | userProvidedUrl | semmle.label | userProvidedUrl |
| axiosInterceptors.serverSide.js:20:23:20:25 | url | semmle.label | url |
| serverSide2.js:9:34:9:63 | qs.pars ... .query) | semmle.label | qs.pars ... .query) |
| serverSide2.js:9:43:9:56 | req._parsedUrl | semmle.label | req._parsedUrl |
| serverSide2.js:10:25:10:31 | req.url | semmle.label | req.url |
| serverSide2.js:11:24:11:30 | req.url | semmle.label | req.url |
| serverSide2.js:16:11:16:41 | targetUrl | semmle.label | targetUrl |
| serverSide2.js:16:11:16:19 | targetUrl | semmle.label | targetUrl |
| serverSide2.js:16:23:16:41 | req.parsedQuery.url | semmle.label | req.parsedQuery.url |
| serverSide2.js:17:38:17:46 | targetUrl | semmle.label | targetUrl |
| serverSide2.js:19:11:19:55 | targetUrl1 | semmle.label | targetUrl1 |
| serverSide2.js:19:11:19:20 | targetUrl1 | semmle.label | targetUrl1 |
| serverSide2.js:19:24:19:51 | req.par ... rsedUrl | semmle.label | req.par ... rsedUrl |
| serverSide2.js:20:39:20:48 | targetUrl1 | semmle.label | targetUrl1 |
| serverSide2.js:22:11:22:36 | targetUrl2 | semmle.label | targetUrl2 |
| serverSide2.js:22:11:22:20 | targetUrl2 | semmle.label | targetUrl2 |
| serverSide2.js:22:24:22:30 | req.url | semmle.label | req.url |
| serverSide2.js:23:39:23:48 | targetUrl2 | semmle.label | targetUrl2 |
| serverSide2.js:25:11:25:47 | targetUrl3 | semmle.label | targetUrl3 |
| serverSide2.js:25:11:25:20 | targetUrl3 | semmle.label | targetUrl3 |
| serverSide2.js:25:24:25:41 | req.SomeObject.url | semmle.label | req.SomeObject.url |
| serverSide2.js:26:39:26:48 | targetUrl3 | semmle.label | targetUrl3 |
| serverSide.js:14:9:14:52 | tainted | semmle.label | tainted |
| serverSide.js:14:9:14:15 | tainted | semmle.label | tainted |
| serverSide.js:14:19:14:42 | url.par ... , true) | semmle.label | url.par ... , true) |
| serverSide.js:14:29:14:35 | req.url | semmle.label | req.url |
| serverSide.js:18:13:18:19 | tainted | semmle.label | tainted |
@@ -218,14 +218,14 @@ nodes
| serverSide.js:43:46:43:52 | tainted | semmle.label | tainted |
| serverSide.js:45:13:45:56 | 'http:/ ... tainted | semmle.label | 'http:/ ... tainted |
| serverSide.js:45:50:45:56 | tainted | semmle.label | tainted |
| serverSide.js:58:9:58:52 | tainted | semmle.label | tainted |
| serverSide.js:58:9:58:15 | tainted | semmle.label | tainted |
| serverSide.js:58:19:58:42 | url.par ... , true) | semmle.label | url.par ... , true) |
| serverSide.js:58:29:58:35 | req.url | semmle.label | req.url |
| serverSide.js:61:29:61:35 | tainted | semmle.label | tainted |
| serverSide.js:61:29:61:35 | tainted | semmle.label | tainted |
| serverSide.js:64:30:64:36 | tainted | semmle.label | tainted |
| serverSide.js:68:30:68:36 | tainted | semmle.label | tainted |
| serverSide.js:74:9:74:52 | tainted | semmle.label | tainted |
| serverSide.js:74:9:74:15 | tainted | semmle.label | tainted |
| serverSide.js:74:19:74:42 | url.par ... , true) | semmle.label | url.par ... , true) |
| serverSide.js:74:29:74:35 | req.url | semmle.label | req.url |
| serverSide.js:76:19:76:25 | tainted | semmle.label | tainted |
@@ -235,27 +235,27 @@ nodes
| serverSide.js:90:19:90:32 | ctx.params.foo | semmle.label | ctx.params.foo |
| serverSide.js:92:19:92:28 | ctx.params | semmle.label | ctx.params |
| serverSide.js:92:19:92:32 | ctx.params.foo | semmle.label | ctx.params.foo |
| serverSide.js:98:9:98:52 | tainted | semmle.label | tainted |
| serverSide.js:98:9:98:15 | tainted | semmle.label | tainted |
| serverSide.js:98:19:98:42 | url.par ... , true) | semmle.label | url.par ... , true) |
| serverSide.js:98:29:98:35 | req.url | semmle.label | req.url |
| serverSide.js:100:19:100:25 | tainted | semmle.label | tainted |
| serverSide.js:108:11:108:27 | url | semmle.label | url |
| serverSide.js:108:11:108:13 | url | semmle.label | url |
| serverSide.js:108:17:108:27 | request.url | semmle.label | request.url |
| serverSide.js:109:27:109:29 | url | semmle.label | url |
| serverSide.js:115:11:115:42 | url | semmle.label | url |
| serverSide.js:115:11:115:13 | url | semmle.label | url |
| serverSide.js:115:17:115:42 | new URL ... , base) | semmle.label | new URL ... , base) |
| serverSide.js:115:25:115:35 | request.url | semmle.label | request.url |
| serverSide.js:117:27:117:29 | url | semmle.label | url |
| serverSide.js:123:9:123:52 | tainted | semmle.label | tainted |
| serverSide.js:123:9:123:15 | tainted | semmle.label | tainted |
| serverSide.js:123:19:123:42 | url.par ... , true) | semmle.label | url.par ... , true) |
| serverSide.js:123:29:123:35 | req.url | semmle.label | req.url |
| serverSide.js:127:14:127:20 | tainted | semmle.label | tainted |
| serverSide.js:130:9:130:45 | myUrl | semmle.label | myUrl |
| serverSide.js:130:9:130:13 | myUrl | semmle.label | myUrl |
| serverSide.js:130:37:130:43 | tainted | semmle.label | tainted |
| serverSide.js:131:15:131:19 | myUrl | semmle.label | myUrl |
| serverSide.js:139:9:139:29 | input | semmle.label | input |
| serverSide.js:139:9:139:13 | input | semmle.label | input |
| serverSide.js:139:17:139:29 | req.query.url | semmle.label | req.query.url |
| serverSide.js:140:9:140:31 | target | semmle.label | target |
| serverSide.js:140:9:140:14 | target | semmle.label | target |
| serverSide.js:140:18:140:31 | new URL(input) | semmle.label | new URL(input) |
| serverSide.js:140:26:140:30 | input | semmle.label | input |
| serverSide.js:141:13:141:18 | target | semmle.label | target |
@@ -263,11 +263,11 @@ nodes
| serverSide.js:142:13:142:18 | target | semmle.label | target |
| serverSide.js:143:13:143:18 | target | semmle.label | target |
| serverSide.js:143:13:143:23 | target.href | semmle.label | target.href |
| serverSide.js:144:9:144:37 | encodedUrl | semmle.label | encodedUrl |
| serverSide.js:144:9:144:18 | encodedUrl | semmle.label | encodedUrl |
| serverSide.js:144:22:144:37 | encodeURI(input) | semmle.label | encodeURI(input) |
| serverSide.js:144:32:144:36 | input | semmle.label | input |
| serverSide.js:145:13:145:22 | encodedUrl | semmle.label | encodedUrl |
| serverSide.js:146:9:146:34 | escapedUrl | semmle.label | escapedUrl |
| serverSide.js:146:9:146:18 | escapedUrl | semmle.label | escapedUrl |
| serverSide.js:146:22:146:34 | escape(input) | semmle.label | escape(input) |
| serverSide.js:146:29:146:33 | input | semmle.label | input |
| serverSide.js:147:13:147:22 | escapedUrl | semmle.label | escapedUrl |

View File

@@ -1,3 +1,3 @@
| test.js:4:5:4:22 | firstArg |
| test.js:4:5:4:12 | firstArg |
| test.js:4:16:4:22 | args[2] |
| test.js:5:13:5:20 | firstArg |