|
9 | 9 |
|
10 | 10 | * Imports that rely on path-mappings from a `tsconfig.json` file can now be resolved. |
11 | 11 |
|
| 12 | +* Export declarations of the form `export * as ns from "x"` are now analyzed more precisely. |
| 13 | + |
12 | 14 | * The analysis of sanitizer guards has improved, leading to fewer false-positive results from the security queries. |
13 | 15 |
|
14 | 16 | * Support for the following frameworks and libraries has been improved: |
15 | | - - [react](https://www.npmjs.com/package/react) |
16 | | - - [typeahead.js](https://www.npmjs.com/package/typeahead.js) |
17 | | - - [Handlebars](https://www.npmjs.com/package/handlebars) |
18 | 17 | - [Electron](https://electronjs.org/) |
| 18 | + - [Handlebars](https://www.npmjs.com/package/handlebars) |
| 19 | + - [Koa](https://www.npmjs.com/package/koa) |
19 | 20 | - [Node.js](https://nodejs.org/) |
20 | 21 | - [Socket.IO](https://socket.io/) |
21 | | - - [ws](https://github.com/websockets/ws) |
22 | 22 | - [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) |
23 | | - - [Koa](https://www.npmjs.com/package/koa) |
24 | | - - [lazy-cache](https://www.npmjs.com/package/lazy-cache) |
| 23 | + - [chrome-remote-interface](https://www.npmjs.com/package/chrome-remote-interface) |
25 | 24 | - [for-in](https://www.npmjs.com/package/for-in) |
26 | 25 | - [for-own](https://www.npmjs.com/package/for-own) |
| 26 | + - [http2](https://nodejs.org/api/http2.html) |
| 27 | + - [lazy-cache](https://www.npmjs.com/package/lazy-cache) |
| 28 | + - [react](https://www.npmjs.com/package/react) |
27 | 29 | - [send](https://www.npmjs.com/package/send) |
| 30 | + - [typeahead.js](https://www.npmjs.com/package/typeahead.js) |
| 31 | + - [ws](https://github.com/websockets/ws) |
28 | 32 |
|
29 | 33 | ## New queries |
30 | 34 |
|
|
34 | 38 | | Regular expression always matches (`js/regex/always-matches`) | correctness, regular-expressions | Highlights regular expression checks that trivially succeed by matching an empty substring. Results are shown on LGTM by default. | |
35 | 39 | | Missing await (`js/missing-await`) | correctness | Highlights expressions that operate directly on a promise object in a nonsensical way, instead of awaiting its result. Results are shown on LGTM by default. | |
36 | 40 | | Prototype pollution in utility function (`js/prototype-pollution-utility`) | security, external/cwe/cwe-400, external/cwe/cwe-471 | Highlights recursive copying operations that are susceptible to prototype pollution. Results are shown on LGTM by default. | |
| 41 | +| Unsafe jQuery plugin (`js/unsafe-jquery-plugin`) | Highlights potential XSS vulnerabilities in unsafely designed jQuery plugins. Results are shown on LGTM by default. | |
37 | 42 |
|
38 | 43 | ## Changes to existing queries |
39 | 44 |
|
|
47 | 52 | | Use of call stack introspection in strict mode (`js/strict-mode-call-stack-introspection`) | Fewer false positive results | The query no longer flags expression statements. | |
48 | 53 | | Missing CSRF middleware (`js/missing-token-validation`) | Fewer false positive results | The query reports fewer duplicates and only flags handlers that explicitly access cookie data. | |
49 | 54 | | Uncontrolled data used in path expression (`js/path-injection`) | More results | This query now recognizes additional ways dangerous paths can be constructed. | |
| 55 | +| Uncontrolled command line (`js/command-line-injection`) | More results | This query now recognizes additional ways of constructing arguments to `cmd.exe` and `/bin/sh`. | |
50 | 56 |
|
51 | 57 | ## Changes to libraries |
52 | 58 |
|
|
0 commit comments