Asger F
967752c6c1
JS: Add TypeAnnotations class
2019-04-26 16:56:04 +01:00
Max Schaefer
e2666a9203
Update javascript/ql/src/semmle/javascript/frameworks/SocketIO.qll
...
Co-Authored-By: esben-semmle <42067045+esben-semmle@users.noreply.github.com >
2019-04-26 11:58:40 +02:00
Esben Sparre Andreasen
27f88c38ac
JS: help the optimizer with NPMPackage/File relations
2019-04-26 11:49:07 +02:00
semmle-qlci
3231b60e6b
Merge pull request #1272 from asger-semmle/access-path-capture
...
Approved by xiemaisi
2019-04-25 11:32:54 +01:00
Asger F
47ba7d3004
Merge pull request #1278 from xiemaisi/js/symbolic-constants
...
JavaScript: Generalise `ConstantComparison` sanitisers.
2019-04-25 11:17:22 +01:00
Max Schaefer
a8470a984a
JavaScript: Generalise ConstantComparison sanitisers.
...
In addition to treating comparisons with literals as sanitisers, we now
also treat comparisons with variables that have a single assignment as
sanitisers.
Proving that such a variable is actually a constant is not easy, but for
this use case a simple approximation works fine.
2019-04-25 07:38:31 +01:00
semmle-qlci
a504ad4261
Merge pull request #1270 from xiemaisi/odasa/7904
...
Approved by esben-semmle
2019-04-24 21:50:07 +01:00
Asger F
a16753c125
JS: Add documentation
2019-04-24 10:12:55 +01:00
Max Schaefer
465be47574
JavaScript: Only follow level flow steps when summarising functions.
...
It is not only wasteful to consider paths with unmatched calls/returns,
but also wrong; see test case in next commit.
2019-04-23 13:16:30 +01:00
Max Schaefer
455dbccd05
JavaScript: Fix definitions of SourcePathNode and SinkPathNode.
...
Their charpreds previously only ensured that they were on a path from a
source to a sink, not that they actually were the source and sink,
respectively. See two commits further for a test case.
2019-04-23 13:15:47 +01:00
Asger F
08bc29cddb
TS: fix analysis of export= statements
2019-04-23 13:09:40 +01:00
Esben Sparre Andreasen
ac0913c878
JS: add newline removal whitelist for js/incomplete-sanitization
2019-04-23 08:38:23 +02:00
Asger F
f3c80c738e
JS: Unify access paths for captured variables
2019-04-18 11:27:15 +01:00
Max Schaefer
76e01f0055
JavaScript: Update TypeTracker to align with TypeBackTracker.
...
It now also has `step` and `smallstep` predicates. In the usual case,
however, I think I prefer the `SourceNode::track` API, so I left the
recommended style in the qldoc alone (and adjusted the one for
`TypeBackTracker` to match).
2019-04-18 09:08:09 +01:00
Max Schaefer
a61ca489f1
Merge pull request #1258 from asger-semmle/prototype-pollution
...
JS: prototype pollution query template
2019-04-17 12:58:05 +01:00
semmle-qlci
f36eafce3f
Merge pull request #1246 from xiemaisi/js/hardcoded-password
...
Approved by asger-semmle
2019-04-17 08:54:09 +01:00
Asger F
48ca4ae0d8
JS: prototype pollution query template
2019-04-16 17:40:41 +01:00
semmle-qlci
ff25a3ee5a
Merge pull request #1243 from asger-semmle/access-path-refinements
...
Approved by xiemaisi
2019-04-16 09:57:51 +01:00
Max Schaefer
65e508ae3b
Merge pull request #1252 from esben-semmle/mb/1.20-master
...
Mergeback: rc/1.20 into Semmle/master
2019-04-16 09:27:50 +01:00
Max Schaefer
7af4baf57f
Merge pull request #1220 from esben-semmle/js/another-getAPropertyAttribut-performance-fix
...
JS: inline CallToObjectDefineProperty::getAPropertyAttribute
2019-04-16 07:55:53 +01:00
Esben Sparre Andreasen
c80ee3df01
Mergeback: rc/1.20 into Semmle/master
2019-04-16 08:46:15 +02:00
Max Schaefer
4c9edafef3
Merge pull request #1211 from esben-semmle/js/type-tracking-for-incomplete-hostname-regexp
...
JS: type tracking for js/incomplete-hostname-regexp
2019-04-15 12:19:46 +01:00
Max Schaefer
1d5bb97121
JavaScript: Refine PasswordInConfigurationFile to avoid FPs.
...
We now exclude passwords that look like they might be filled in via
templating or shell substitution.
2019-04-15 12:10:21 +01:00
Max Schaefer
ce53a7d575
Merge pull request #1175 from psygnisfive/NullSensitiveContext
...
[JS] Null Sensitive Context (new library)
2019-04-15 08:50:14 +01:00
Rebecca Valentine
d4f2172bdc
void exprs are also ok
2019-04-12 10:39:20 -07:00
Asger F
b36075ca46
JS: step through refinements in AccessPaths
2019-04-12 11:12:50 +01:00
Esben Sparre Andreasen
9c65277b53
JS: reformulate js/incomplete-hostname-regexp with type tracking
2019-04-12 08:51:28 +02:00
Esben Sparre Andreasen
5a7101481c
JS: make message for js/incomplete-hostname-regexp more informative
2019-04-12 08:51:28 +02:00
Esben Sparre Andreasen
cf7d0a7ea5
JS: fixup qhelp
2019-04-12 08:51:28 +02:00
Esben Sparre Andreasen
74144b0271
JS: make RegExpPatterns::commonTLD more robust
2019-04-12 08:51:28 +02:00
Esben Sparre Andreasen
9eb039038e
JS: update docstring example for TypeBackTracker
2019-04-12 08:51:28 +02:00
Esben Sparre Andreasen
1f565bd49c
JS: Introduce TypeBackTracker::step and TypeBackTracker::smallstep
2019-04-12 08:51:28 +02:00
Esben Sparre Andreasen
fd429ce639
JS: whitelist delimiter unwrapping for js/incomplete-sanitization
2019-04-12 08:38:44 +02:00
semmle-qlci
ccbb7ce04b
Merge pull request #1224 from asger-semmle/cheerio
...
Approved by esben-semmle
2019-04-11 15:21:44 +01:00
semmle-qlci
a1cc2fbed3
Merge pull request #1233 from xiemaisi/js/amd-type-inference
...
Approved by asger-semmle
2019-04-11 15:20:00 +01:00
semmle-qlci
ed5fd96603
Merge pull request #1227 from asger-semmle/typescript3.4
...
Approved by xiemaisi
2019-04-11 10:39:57 +01:00
semmle-qlci
9f13b6be18
Merge pull request #1234 from xiemaisi/js/customizations-qll
...
Approved by esben-semmle
2019-04-11 08:31:28 +01:00
Max Schaefer
078151f9d1
JavaScript: Add an (empty) Customizations.qll module.
...
Somewhat analogous to the `Options.qll` module in C++; see module
comments for further explanation.
2019-04-10 18:26:27 -07:00
Max Schaefer
301dab0e40
JavaScript: Improve AMD support in type inference.
...
Now leverages the recently introduced logic for resolving AMD imports
based on unique matching paths.
2019-04-10 09:47:54 -07:00
Max Schaefer
20312fc3bf
JavaScript: Improve socket.io model.
...
Recognise `io` imports and use type-tracking to better track handlers.
2019-04-10 08:02:40 -07:00
Max Schaefer
6ac72bd469
Update javascript/ql/src/semmle/javascript/TypeScript.qll
...
Co-Authored-By: asger-semmle <42069257+asger-semmle@users.noreply.github.com >
2019-04-10 15:33:22 +01:00
Asger F
d28597ffbb
TS: DB upgrade script and stats
2019-04-10 13:13:46 +01:00
Esben Sparre Andreasen
b86f43be98
JS: reformulate CallToObjectDefineProperty::getAPropertyAttribute
2019-04-10 14:03:28 +02:00
Asger F
c1c7ebfc48
TS: Support const type assertions
2019-04-10 12:54:42 +01:00
Asger F
d5ae69d40a
TS: Support readonly type expressions
2019-04-10 12:26:46 +01:00
Esben Sparre Andreasen
e70413922b
Update javascript/ql/src/semmle/javascript/frameworks/Cheerio.qll
...
Co-Authored-By: asger-semmle <42069257+asger-semmle@users.noreply.github.com >
2019-04-09 14:25:33 +01:00
Esben Sparre Andreasen
2113e6e4d3
Update javascript/ql/src/semmle/javascript/frameworks/Cheerio.qll
...
Co-Authored-By: asger-semmle <42069257+asger-semmle@users.noreply.github.com >
2019-04-09 14:25:19 +01:00
Esben Sparre Andreasen
ad119dae21
Update javascript/ql/src/semmle/javascript/frameworks/jQuery.qll
...
Co-Authored-By: asger-semmle <42069257+asger-semmle@users.noreply.github.com >
2019-04-09 14:25:11 +01:00
Esben Sparre Andreasen
b72c678b2c
Update javascript/ql/src/semmle/javascript/frameworks/jQuery.qll
...
Co-Authored-By: asger-semmle <42069257+asger-semmle@users.noreply.github.com >
2019-04-09 14:25:01 +01:00
Asger F
0fcdf91d4a
JS: Add model of cheerio
2019-04-09 12:21:54 +01:00