|
11 | 11 | - [shelljs](https://www.npmjs.com/package/shelljs) |
12 | 12 | - [cheerio](https://www.npmjs.com/package/cheerio) |
13 | 13 |
|
14 | | -* The security queries now track data flow through Base64 decoders such as the Node.js `Buffer` class, the DOM function `atob`, and a number of npm packages intcluding [`abab`](https://www.npmjs.com/package/abab), [`atob`](https://www.npmjs.com/package/atob), [`btoa`](https://www.npmjs.com/package/btoa), [`base-64`](https://www.npmjs.com/package/base-64), [`js-base64`](https://www.npmjs.com/package/js-base64), [`Base64.js`](https://www.npmjs.com/package/Base64) and [`base64-js`](https://www.npmjs.com/package/base64-js). |
| 14 | +* The security queries now track data flow through Base64 decoders such as the Node.js `Buffer` class, the DOM function `atob`, and a number of npm packages including [`abab`](https://www.npmjs.com/package/abab), [`atob`](https://www.npmjs.com/package/atob), [`btoa`](https://www.npmjs.com/package/btoa), [`base-64`](https://www.npmjs.com/package/base-64), [`js-base64`](https://www.npmjs.com/package/js-base64), [`Base64.js`](https://www.npmjs.com/package/Base64) and [`base64-js`](https://www.npmjs.com/package/base64-js). |
15 | 15 |
|
16 | 16 | * The security queries now track data flow through exceptions. |
17 | 17 |
|
18 | | -* The security queries now treat comparisons with symbolic constants as sanitizers, resulting in fewer false positives. |
| 18 | +* The security queries now treat comparisons with symbolic constants as sanitizers, resulting in fewer false positive results. |
19 | 19 |
|
20 | 20 | * TypeScript 3.5 is now supported. |
21 | 21 |
|
|
28 | 28 | | **Query** | **Tags** | **Purpose** | |
29 | 29 | |-----------------------------------------------|------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
30 | 30 | | Missing regular expression anchor (`js/regex/missing-regexp-anchor`) | correctness, security, external/cwe/cwe-20 | Highlights regular expression patterns that may be missing an anchor, indicating a possible violation of [CWE-20](https://cwe.mitre.org/data/definitions/20.html). Results are not shown on LGTM by default. | |
31 | | -| Prototype pollution (`js/prototype-pollution`) | security, external/cwe-250, external/cwe-400 | Highlights code that allows an attacker to modify a built-in prototype object through an unsanitized recursive merge function. The results are shown on LGTM by default. | |
| 31 | +| Prototype pollution (`js/prototype-pollution`) | security, external/cwe-250, external/cwe-400 | Highlights code that allows an attacker to modify a built-in prototype object through an unsanitized recursive merge function. Results are not shown on [LGTM](https://lgtm.com/rules/1508857356317/) by default. | |
32 | 32 |
|
33 | 33 | ## Changes to existing queries |
34 | 34 |
|
35 | 35 | | **Query** | **Expected impact** | **Change** | |
36 | 36 | |--------------------------------|------------------------------|---------------------------------------------------------------------------| |
37 | 37 | | Arbitrary file write during zip extraction ("Zip Slip") | More results | This rule now considers more libraries, including tar as well as zip. | |
38 | | -| Client-side URL redirect | More results and fewer false-positive results | This rule now recognizes additional uses of the document URL. This rule now treats URLs as safe in more cases where the hostname cannot be tampered with. | |
| 38 | +| Client-side URL redirect | More results and fewer false-positive results | This rule now recognizes additional uses of the document URL. It also treats URLs as safe in more cases where the hostname cannot be tampered with. | |
39 | 39 | | Double escaping or unescaping | More results | This rule now considers the flow of regular expressions literals. | |
40 | 40 | | Expression has no effect | Fewer false-positive results | This rule now treats uses of `Object.defineProperty` more conservatively. | |
41 | 41 | | Incomplete regular expression for hostnames | More results | This rule now tracks regular expressions for host names further. | |
42 | 42 | | Incomplete string escaping or encoding | More results | This rule now considers the flow of regular expressions literals, and it no longer flags the removal of trailing newlines. | |
| 43 | +| Incorrect suffix check | Fewer false-positive results | This rule now recognizes valid checks in more cases. | |
43 | 44 | | Password in configuration file | Fewer false positive results | This query now excludes passwords that are inserted into the configuration file using a templating mechanism or read from environment variables. Results are no longer shown on LGTM by default. | |
44 | 45 | | Replacement of a substring with itself | More results | This rule now considers the flow of regular expressions literals. | |
45 | 46 | | Server-side URL redirect | Fewer false-positive results | This rule now treats URLs as safe in more cases where the hostname cannot be tampered with. | |
| 47 | +| Tainted path | More results and fewer false-positive results | This rule now analyzes path manipulation code more precisely. | |
46 | 48 | | Type confusion through parameter tampering | Fewer false-positive results | This rule now recognizes additional emptiness checks. | |
47 | | -| Useless assignment to property | Fewer false-positive results | This rule now ignore reads of additional getters. | |
| 49 | +| Useless assignment to property | Fewer false-positive results | This rule now ignores reads of additional getters. | |
48 | 50 | | Unreachable statement | Unreachable throws no longer give an alert | This ignores unreachable throws, as they could be intentional (for example, to placate the TS compiler). | |
49 | | -| Incorrect suffix check | Fewer false-positive results | This rule now recognizes valid checks in more cases. | |
50 | | -| Tainted path | More results and fewer false-positive results | This rule now analyses path manipulation code more precisely. | |
| 51 | + |
51 | 52 |
|
52 | 53 | ## Changes to QL libraries |
53 | 54 |
|
|
0 commit comments