Merge pull request #2987 from asger-semmle/js/urls-not-sensitive-data

JS: Declassify sensitive exprs with special characters
This commit is contained in:
Asger F
2020-03-09 12:29:47 +00:00
committed by GitHub
3 changed files with 8 additions and 2 deletions

View File

@@ -64,6 +64,7 @@
| Uncontrolled data used in path expression (`js/path-injection`) | More results | This query now recognizes additional ways dangerous paths can be constructed and used. |
| Uncontrolled command line (`js/command-line-injection`) | More results | This query now recognizes additional ways of constructing arguments to `cmd.exe` and `/bin/sh`. |
| Syntax error (`js/syntax-error`) | Lower severity | This results of this query are now displayed with lower severity. |
| Use of password hash with insufficient computational effort (`js/insufficient-password-hash`) | Fewer false positive results | This query now recognizes additional cases that do not require secure hashing. |
## Changes to libraries

View File

@@ -63,10 +63,11 @@ module HeuristicNames {
/**
* Gets a regular expression that identifies strings that may indicate the presence of data
* that is hashed or encrypted, and hence rendered non-sensitive.
* that is hashed or encrypted, and hence rendered non-sensitive, or contains special characters
* suggesting nouns within the string do not represent the meaning of the whole string (e.g. a URL or a SQL query).
*/
string notSensitive() {
result = "(?is).*(redact|censor|obfuscate|hash|md5|sha|((?<!un)(en))?(crypt|code)).*"
result = "(?is).*([^\\w$.-]|redact|censor|obfuscate|hash|md5|sha|((?<!un)(en))?(crypt|code)).*"
}
}

View File

@@ -22,3 +22,7 @@ secret;
require("process").exit();
global.process.exit();
get("https://example.com/news?password=true")
get("https://username:password@example.com")
execute("SELECT * FROM users WHERE password=?")