Max Schaefer
96a0766f3a
JavaScript: Add syntax examples in AMD.qll, AST.qll and Stmt.qll.
2019-07-10 08:19:47 +01:00
Max Schaefer
e9ba66f5eb
JavaScript: Address review comments.
2019-07-09 12:01:30 +01:00
Max Schaefer
9479ae3069
JavaScript: Add concrete syntax examples to all API classes in Expr.qll.
2019-07-09 10:01:53 +01:00
semmle-qlci
71c86fa69b
Merge pull request #1527 from esben-semmle/js/classify-more-generated-and-tests
...
Approved by asger-semmle
2019-07-02 07:38:10 +01:00
semmle-qlci
b0b152aaaa
Merge pull request #1529 from xiemaisi/js/getter-summaries
...
Approved by asger-semmle
2019-07-02 06:16:34 +01:00
Max Schaefer
7f95c20345
JavaScript: Add support for tracking flow into receivers of reflective calls.
2019-07-01 17:54:43 +01:00
Max Schaefer
895055f30e
JavaScript: Avoid unhelpful magic.
...
The constraint `exists(callback.getParameter(i))` was getting pushed into `higherOrderCall`, which isn't a bad thing to do. However, this then led to a join on `i`, which is a very bad thing to do.
2019-07-01 15:45:57 +01:00
Max Schaefer
b5b89c0eac
JavaScript: Track flow into method receivers.
2019-07-01 15:45:57 +01:00
Esben Sparre Andreasen
062778bdd8
JS: heuristically recognize x.spec.y and x.test.y as test files
2019-07-01 15:49:17 +02:00
Esben Sparre Andreasen
7cab308205
fixup! JS: classify numeric file names as generated
2019-07-01 15:49:03 +02:00
Esben Sparre Andreasen
2eb7e4a818
JS: classify x.test.js files with test(...) calls as jest tests
2019-07-01 10:28:10 +02:00
Esben Sparre Andreasen
5ebcef41fa
JS: classify numeric file names as generated
2019-07-01 10:25:38 +02:00
Max Schaefer
ff62c56df1
JavaScript: Replace remaining uses of TrackedExpr with type tracking.
2019-06-28 09:21:41 +01:00
Max Schaefer
b3e8103dce
JavaScript: Track flow through property getter functions.
2019-06-28 08:51:27 +01:00
Max Schaefer
1c175cbe71
JavaScript: Rename loadStep to basicLoadStep.
2019-06-28 08:51:27 +01:00
semmle-qlci
44bd540c44
Merge pull request #1495 from asger-semmle/array-taint-step
...
Approved by xiemaisi
2019-06-27 12:16:17 +01:00
Asger F
71100bb68a
JS: Do not require predecessor to be a SourceNode
2019-06-25 14:03:57 +01:00
Max Schaefer
4370f25b32
JavaScript: Remove dependency of module import on globalVarRef.
2019-06-20 21:08:34 +01:00
Ellen Arteca
99c32f08fb
JavaScript: Recognize imports from TypeScript type annotations
2019-06-20 10:45:30 +01:00
Mark Shannon
77030c4dde
Merge branch 'rc/1.21' into 'master'
2019-06-13 12:32:45 +01:00
semmle-qlci
8a43fdc806
Merge pull request #1448 from xiemaisi/js/fix-access-paths-perf-regression
...
Approved by esben-semmle
2019-06-13 10:13:27 +01:00
semmle-qlci
bffc3307b5
Merge pull request #1450 from esben-semmle/js/classify-json-js-as-generated
...
Approved by xiemaisi
2019-06-13 09:45:37 +01:00
semmle-qlci
913544600a
Merge pull request #1449 from xiemaisi/js/fix-http-response-sink-perf-regression
...
Approved by esben-semmle
2019-06-12 21:36:23 +01:00
Max Schaefer
60964efce5
JavaScript: Avoid bad context pushing in ReflectedXss::HttpResponseSink.
2019-06-12 16:20:35 +01:00
Esben Sparre Andreasen
6e022f66c4
JS: formatting of Express and NodeJSLib.qll
2019-06-12 12:45:01 +02:00
Esben Sparre Andreasen
59b7b0757a
JS: make Express' res/req extend Node's res/req
2019-06-12 12:45:01 +02:00
Esben Sparre Andreasen
29f9103b39
JS: classify single-line JSON files as generated
2019-06-12 09:05:12 +02:00
semmle-qlci
7790ac45bd
Merge pull request #1409 from esben-semmle/js/more-command-injection
...
Approved by xiemaisi
2019-06-11 11:59:18 +01:00
Esben Sparre Andreasen
299d4c6e93
JS: add additional SystemCommandExecutors
2019-06-11 09:38:10 +02:00
Max Schaefer
b32a037ff2
JavaScript: Refactor a few access path computation predicates.
2019-06-10 11:15:52 +01:00
Max Schaefer
16c33b54b6
JavaScript: Recognise references to the process global.
2019-06-06 11:48:18 +01:00
Max Schaefer
d723ab76d8
JavaScript: Fix getDelimiterMatchingRegexp to work on multi-line strings.
2019-06-05 08:09:19 +01:00
semmle-qlci
1fa975b4c9
Merge pull request #1393 from xiemaisi/js/concretify
...
Approved by esben-semmle
2019-06-04 11:34:47 +01:00
Esben Sparre Andreasen
bf51c54338
JS: add RegExpPatternSource::getAParse to hide the subclasses
2019-06-03 14:23:22 +02:00
Esben Sparre Andreasen
7b652214c5
JS: address docstring comments
2019-06-03 13:59:39 +02:00
Esben Sparre Andreasen
3289c629f7
JS: address minor review comments
2019-06-03 08:29:52 +02:00
Esben Sparre Andreasen
3358e49698
JS: refactor the predicate RegExp::regexp to three classes.
...
This preserves the ad hoc message formatting in IncompleteHostnameRegExp.ql
2019-06-03 08:27:49 +02:00
Esben Sparre Andreasen
98ae2597bb
JS: refactor IncompleteHostnameRegExp::regexp to RegExp.qll
2019-06-03 08:27:49 +02:00
Max Schaefer
c560096b17
JavaScript: Make Script and CodeInAttribute concrete.
2019-05-31 12:04:14 +01:00
Max Schaefer
3097037a6f
Merge pull request #1290 from esben-semmle/js/semver-lib
...
JS: add SemVer library
2019-05-31 08:09:24 +01:00
semmle-qlci
0fa06e5c8d
Merge pull request #1180 from asger-semmle/tainted-path-squashed
...
Approved by xiemaisi
2019-05-30 17:20:19 +01:00
semmle-qlci
bd15994bb4
Merge pull request #1367 from xiemaisi/js/configuration-api-consistency
...
Approved by esben-semmle
2019-05-28 12:26:58 +01:00
Asger F
9f43844f1e
JS: Remove obsolete code
2019-05-28 11:54:57 +01:00
Asger F
8d60ae7200
JS: Avoid unnecessary casts
2019-05-28 11:54:42 +01:00
Max Schaefer
86e96c6dc3
JavaScript: Introduce is{Barrier,Sanitizer}Edge predicate.
...
This name is more intuitive than the previous binary
`is{Barrier,Sanitizer}` predicates, and is consistent with the other
languages.
2019-05-28 08:08:14 +01:00
Max Schaefer
d9b3e461ba
Merge pull request #1351 from asger-semmle/js-incomplete-nodes
...
JS: Mark some more nodes as incomplete
2019-05-28 07:59:23 +01:00
Max Schaefer
bad5465aad
Merge pull request #1360 from asger-semmle/customize-window-document
...
JS: Make some DOM concepts customizable
2019-05-28 07:58:44 +01:00
Esben Sparre Andreasen
fd4c749e27
JS: change FrameworkLibraryInstance Script/TopLevel inheritance
...
This is theoretically a breaking change, but it preserves the
semantics of all queries in this repository, as far as I can see.
2019-05-28 08:31:23 +02:00
Esben Sparre Andreasen
1b1e9ed51a
JS: cache matchMarkerComment
2019-05-27 22:32:32 +02:00
Esben Sparre Andreasen
eb13ab52cf
JS: sharpen js/prototype-pollution with version analysis
2019-05-27 22:32:32 +02:00