Commit Graph

1210 Commits

Author SHA1 Message Date
Asger F
3ca7d6b4bf JavaScript: address comments 2018-09-25 10:16:40 +01:00
Esben Sparre Andreasen
42fc28bc55 JS: add ad hoc whitelist checks as sanitizers 2018-09-24 11:17:35 +02:00
Dave Bartolomeo
1f36f5552f Normalize all text files to LF
Use `* text=auto eol=lf`
2018-09-23 16:24:31 -07:00
semmle-qlci
f146e34e26 Merge pull request #207 from dave-bartolomeo/dave/JSNewlines
Approved by esben-semmle
2018-09-20 14:49:54 +01:00
Dave Bartolomeo
b12c739915 JavaScript: Normalize line endings of .js and .html files
Added .gitattributes files for the two directories where we intentionally have line endings other than LF
2018-09-19 21:33:27 -07:00
semmle-qlci
4aca8f4fd3 Merge pull request #201 from asger-semmle/string-concatenation-squashed
Approved by esben-semmle
2018-09-19 21:59:17 +01:00
Asger F
9384b85bcc JavaScript: ensure prefix sanitizers work for array.join() 2018-09-17 14:31:26 +01:00
Asger F
e2cdf5d7ed JavaScript: add string concatenation library 2018-09-17 12:47:37 +01:00
Esben Sparre Andreasen
444a09a17c JS: add models of five file system libraries 2018-09-14 15:30:44 +02:00
semmle-qlci
abbadf24f0 Merge pull request #192 from esben-semmle/js/additional-array-taint-steps
Approved by asger-semmle
2018-09-14 10:02:36 +01:00
Esben Sparre Andreasen
4c13e6b46b JS: add additional array-specific taint steps 2018-09-13 21:36:53 +02:00
semmle-qlci
b17aeb689c Merge pull request #118 from esben-semmle/js/request-forgery
Approved by asger-semmle
2018-09-11 16:28:59 +01:00
Asger F
0a4a5da1f0 JavaScript: update output of CFG test 2018-09-11 12:15:01 +01:00
Esben Sparre Andreasen
f63a3b3f39 JS: add missing abstract modifier 2018-09-05 09:20:45 +02:00
Esben Sparre Andreasen
2306afdebf JS: use extensible architecture for Electron- and NodeClientRequest 2018-09-05 09:20:45 +02:00
Esben Sparre Andreasen
0da14fccbd JS: renaming UrlRequests.qll -> ClientRequests.qll 2018-09-05 09:20:45 +02:00
Esben Sparre Andreasen
6d78350fee JS: s/URLRequest/ClientRequest, merge with NodeJSLib::ClientRequest 2018-09-05 09:20:45 +02:00
Esben Sparre Andreasen
2104cf55e3 JS: add models of URL requests 2018-09-04 09:25:42 +02:00
Max Schaefer
759d98661c Merge pull request #117 from esben-semmle/js/push-sort-taint-steps
JS: support `push` and `sort` taint steps for arrays
2018-09-03 09:20:35 +01:00
Max Schaefer
20bff709b1 Merge pull request #136 from esben-semmle/js/composed-function-taint
JS: model composed functions (RC)
2018-09-03 08:18:20 +01:00
Max Schaefer
7e3adec789 Merge pull request #135 from esben-semmle/js/pick-get-taint-steps
JS: model property projection calls (RC)
2018-09-03 08:17:42 +01:00
Esben Sparre Andreasen
90b3902244 JS: add a taint step for property projection 2018-08-30 09:39:02 +02:00
Esben Sparre Andreasen
df97132519 JS: add model for property projection 2018-08-30 09:39:02 +02:00
Esben Sparre Andreasen
86ab9adb06 JS: support push and sort taint steps for arrays 2018-08-30 09:14:06 +02:00
Esben Sparre Andreasen
dc72788746 JS: add a model of some function composition libraries 2018-08-30 08:17:01 +02:00
Dave Bartolomeo
d920fc7d94 Force LF line endings for .ql, .qll, and .qlref files 2018-08-24 11:58:58 -07:00
semmle-qlci
55ceb9be8b Merge pull request #91 from esben-semmle/js/additional-indexof-sanitizers
Approved by xiemaisi
2018-08-24 08:37:41 +01:00
Esben Sparre Andreasen
20b48a2d24 JS: support relational indexof comparison sanitizers 2018-08-22 15:58:47 +02:00
Asger F
35aa2e6fbb TypeScript: update test output 2018-08-22 10:18:38 +01:00
Asger F
4eeaf63a3a TypeScript: update related test output 2018-08-22 10:18:38 +01:00
Asger F
d26aa04642 TypeScript: support optional and rest elements in static tuple type 2018-08-22 10:18:38 +01:00
Asger F
96005d2147 TypeScript: support unknown static type 2018-08-22 10:18:38 +01:00
Asger F
9a9bbac99e TypeScript: support syntax for unknown types 2018-08-22 10:18:38 +01:00
Asger F
4a9eb0fd3f TypeScript: Add tests for OptionalTypeExpr and RestTypeExpr 2018-08-22 10:18:38 +01:00
Asger F
241ce10da4 TypeScript: support syntax for rest elements in tuple types 2018-08-22 10:18:38 +01:00
Asger F
204b2a3002 TypeScript: support syntax for optional tuple type elements 2018-08-22 10:18:38 +01:00
semmle-qlci
7e7e30c01c Merge pull request #73 from esben-semmle/js/cleartext-logging-query
Approved by xiemaisi
2018-08-22 08:04:36 +01:00
Esben Sparre Andreasen
6f5fb2a9fe JS: update queries and tests for improved type inference 2018-08-21 22:07:38 +02:00
Esben Sparre Andreasen
3692667af2 JS: improve inter-procedural type inference for "local functions" 2018-08-21 22:07:11 +02:00
semmle-qlci
6969466202 Merge pull request #83 from esben-semmle/js/bitwise-indexof-sanitizer
Approved by xiemaisi
2018-08-21 14:17:20 +01:00
Esben Sparre Andreasen
be8a32bb18 JS: add sanitizer support for ~whitelist.indexOf(x) 2018-08-20 20:32:57 +02:00
semmle-qlci
0adeef73ff Merge pull request #74 from xiemaisi/js/multi-step-export-from
Approved by asger-semmle
2018-08-20 12:36:26 +01:00
Max Schaefer
b2e304951e Merge branch 'master' into ts-typescript2.9 2018-08-20 08:14:58 +01:00
Max Schaefer
a9f1e21363 JavaScript: Fix exported name of default re-exports.
A default re-export (not part of the standard yet) looks like this:

```
export f from 'mod';
```

What this means is that the default export of `mod` is re-exported under the name `f`.

Default re-export specifiers (like `f` in this example) are modelled as a kind of default export specifier in our library, but unlike normal default export specifiers they do not export the name `default`.

This was previously not modelled correctly, leading to surprising errors down the line, for example in type inference where we suddenly would no longer be able to resolve an import that otherwise looked resolvable.
2018-08-20 08:02:15 +01:00
semmle-qlci
44e4b25f42 Merge pull request #14 from rdmarsh2/rdmarsh/js/electron-http-client
Approved by xiemaisi
2018-08-20 07:59:25 +01:00
Esben Sparre Andreasen
804c06bd59 JS: add models of logging frameworks 2018-08-20 08:27:42 +02:00
Robert Marsh
4da9d6d795 JavaScript: add support for Electron http client 2018-08-17 10:16:51 -07:00
Asger F
3806e4b1aa JavaScript: add tests for "import" types 2018-08-17 14:26:32 +01:00
Max Schaefer
886329689f JavaScript: Teach globalVarRef about top-level this and the global npm package. 2018-08-14 09:15:15 +01:00
Max Schaefer
e67f36732a JavaScript: Update expected test output due to changes in Node.js detector. 2018-08-13 14:08:14 +01:00