|
27 | 27 | |---------------------------------------------------------------------------|-------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
28 | 28 | | Ignoring result from pure array method (`js/ignore-array-result`) | maintainability, correctness | Highlights calls to array methods without side effects where the return value is ignored. Results are shown on LGTM by default. |
|
29 | 29 | | Incomplete URL scheme check (`js/incomplete-url-scheme-check`) | security, correctness, external/cwe/cwe-020 | Highlights checks for `javascript:` URLs that do not take `data:` or `vbscript:` URLs into account. Results are shown on LGTM by default. |
|
30 |
| -| Loop bound injection (`js/loop-bound-injection`) | security, external/cwe/cwe-834 | Highlights loops where a user-controlled object with an arbitrary .length value can trick the server to loop indefinitely. Results are shown on LGTM by default. | |
| 30 | +| Loop bound injection (`js/loop-bound-injection`) | security, external/cwe/cwe-834 | Highlights loops where a user-controlled object with an arbitrary `.length` value can trick the server into looping indefinitely. Results are shown on LGTM by default. | |
31 | 31 | | Shell command built from environment values (`js/shell-command-injection-from-environment`) | correctness, security, external/cwe/cwe-078, external/cwe/cwe-088 | Highlights shell commands that may change behavior inadvertently depending on the execution environment, indicating a possible violation of [CWE-78](https://cwe.mitre.org/data/definitions/78.html). Results are shown on LGTM by default.|
|
32 | 32 | | Suspicious method name (`js/suspicious-method-name-declaration`) | correctness, typescript, methods | Highlights suspiciously named methods where the developer likely meant to write a constructor or function. Results are shown on LGTM by default. |
|
33 | 33 | | Unreachable method overloads (`js/unreachable-method-overloads`) | correctness, typescript | Highlights method overloads that are impossible to use from client code. Results are shown on LGTM by default. |
|
|
39 | 39 |
|
40 | 40 | | **Query** | **Expected impact** | **Change** |
|
41 | 41 | |--------------------------------|------------------------------|---------------------------------------------------------------------------|
|
42 |
| -| Incomplete string escaping or encoding (`js/incomplete-sanitization`) | Fewer false-positive results | This rule now recognizes additional ways delimiters can be stripped away. | |
43 |
| -| Client-side cross-site scripting (`js/xss`) | More results, fewer false-positive results | More potential vulnerabilities involving functions that manipulate DOM attributes are now recognized, and more sanitizers are detected. | |
| 42 | +| Client-side cross-site scripting (`js/xss`) | More results, fewer false positive results | More potential vulnerabilities involving functions that manipulate DOM attributes are now recognized, and more sanitizers are detected. | |
44 | 43 | | Code injection (`js/code-injection`) | More results | More potential vulnerabilities involving functions that manipulate DOM event handler attributes are now recognized. |
|
45 |
| -| Hard-coded credentials (`js/hardcoded-credentials`) | Fewer false-positive results | This rule now flags fewer password examples. | |
46 |
| -| Illegal invocation (`js/illegal-invocation`) | Fewer false-positive results | This rule now correctly handles methods named `call` and `apply`. | |
47 |
| -| Incorrect suffix check (`js/incorrect-suffix-check`) | Fewer false-positive results | The query recognizes valid checks in more cases. | |
48 |
| -| Network data written to file (`js/http-to-file-access`) | Fewer false-positive results | This query has been renamed to better match its intended purpose, and now only considers network data untrusted. | |
49 |
| -| Password in configuration file (`js/password-in-configuration-file`) | Fewer false-positive results | This rule now flags fewer password examples. | |
| 44 | +| Hard-coded credentials (`js/hardcoded-credentials`) | Fewer false positive results | This rule now flags fewer password examples. | |
| 45 | +| Illegal invocation (`js/illegal-invocation`) | Fewer false positive results | This rule now correctly handles methods named `call` and `apply`. | |
| 46 | +| Incomplete string escaping or encoding (`js/incomplete-sanitization`) | Fewer false positive results | This rule now recognizes additional ways delimiters can be stripped away. | |
| 47 | +| Incorrect suffix check (`js/incorrect-suffix-check`) | Fewer false positive results | The query recognizes valid checks in more cases. | |
| 48 | +| Network data written to file (`js/http-to-file-access`) | Fewer false positive results | This query has been renamed to better match its intended purpose, and now only considers network data untrusted. | |
| 49 | +| Password in configuration file (`js/password-in-configuration-file`) | Fewer false positive results | This rule now flags fewer password examples. | |
50 | 50 | | Prototype pollution (`js/prototype-pollution`) | More results | The query now highlights vulnerable uses of jQuery and Angular, and the results are shown on LGTM by default. |
|
51 |
| -| Reflected cross-site scripting (`js/reflected-xss`) | Fewer false-positive results | The query now recognizes more sanitizers. | |
52 |
| -| Stored cross-site scripting (`js/stored-xss`) | Fewer false-positive results | The query now recognizes more sanitizers. | |
| 51 | +| Reflected cross-site scripting (`js/reflected-xss`) | Fewer false positive results | The query now recognizes more sanitizers. | |
| 52 | +| Stored cross-site scripting (`js/stored-xss`) | Fewer false positive results | The query now recognizes more sanitizers. | |
53 | 53 | | Uncontrolled command line (`js/command-line-injection`) | More results | This query now treats responses from servers as untrusted. |
|
54 |
| -| Uncontrolled data used in path expression (`js/path-injection`) | Fewer false-positive results | This query now recognizes calls to Express `sendFile` as safe in some cases. | |
| 54 | +| Uncontrolled data used in path expression (`js/path-injection`) | Fewer false positive results | This query now recognizes calls to Express `sendFile` as safe in some cases. | |
55 | 55 | | Unknown directive (`js/unknown-directive`) | Fewer false positive results | This query no longer flags uses of ":", which is sometimes used like a directive. |
|
56 | 56 |
|
57 | 57 | ## Changes to libraries
|
|
67 | 67 |
|
68 | 68 | The following queries (deprecated since 1.17) are no longer available in the distribution:
|
69 | 69 |
|
| 70 | +* Bad parity check (js/incomplete-parity-check) |
70 | 71 | * Builtin redefined (js/builtin-redefinition)
|
| 72 | +* Call to parseInt without radix (js/parseint-without-radix) |
71 | 73 | * Inefficient method definition (js/method-definition-in-constructor)
|
72 |
| -* Bad parity check (js/incomplete-parity-check) |
73 |
| -* Potentially misspelled property or variable name (js/wrong-capitalization) |
74 |
| -* Unknown JSDoc tag (js/jsdoc/unknown-tag-type) |
75 | 74 | * Invalid JSLint directive (js/jslint/invalid-directive)
|
76 | 75 | * Malformed JSLint directive (js/jslint/malformed-directive)
|
77 |
| -* Use of HTML comments (js/html-comment) |
78 | 76 | * Multi-line string literal (js/multi-line-string)
|
79 | 77 | * Octal literal (js/octal-literal)
|
| 78 | +* Potentially misspelled property or variable name (js/wrong-capitalization) |
80 | 79 | * Reserved word used as variable name (js/use-of-reserved-word)
|
81 | 80 | * Trailing comma in array or object expressions (js/trailing-comma-in-array-or-object)
|
82 |
| -* Call to parseInt without radix (js/parseint-without-radix) |
| 81 | +* Unknown JSDoc tag (js/jsdoc/unknown-tag-type) |
| 82 | +* Use of HTML comments (js/html-comment) |
0 commit comments