File tree Expand file tree Collapse file tree 2 files changed +7
-3
lines changed
lib/semmle/python/security/internal
test/experimental/dataflow/sensitive-data Expand file tree Collapse file tree 2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -96,10 +96,14 @@ module HeuristicNames {
96
96
* Gets a regular expression that identifies strings that may indicate the presence of data
97
97
* that is hashed or encrypted, and hence rendered non-sensitive, or contains special characters
98
98
* suggesting nouns within the string do not represent the meaning of the whole string (e.g. a URL or a SQL query).
99
+ *
100
+ * We also filter out common words like `certain` and `concert`, since otherwise these could
101
+ * be matched by the certificate regular expressions. Same for `accountable` (account), or
102
+ * `secretarial` (secret).
99
103
*/
100
104
string notSensitiveRegexp ( ) {
101
105
result =
102
- "(?is).*([^\\w$.-]|redact|censor|obfuscate|hash|md5|sha|random|((?<!un)(en))?(crypt|code)).*"
106
+ "(?is).*([^\\w$.-]|redact|censor|obfuscate|hash|md5|sha|random|((?<!un)(en))?(crypt|code)|certain|concert|secretar|accountant|accountab ).*"
103
107
}
104
108
105
109
/**
Original file line number Diff line number Diff line change @@ -58,8 +58,8 @@ def my_func(password): # $ SensitiveDataSource=password
58
58
59
59
# FP where the `cert` in `uncertainty` makes us treat it like a certificate
60
60
# https://github.com/github/codeql/issues/9632
61
- def my_other_func (uncertainty ): # $ SPURIOUS: SensitiveDataSource=certificate
62
- print (uncertainty ) # $ SPURIOUS: SensitiveUse=certificate
61
+ def my_other_func (uncertainty ):
62
+ print (uncertainty )
63
63
64
64
password = some_function () # $ SensitiveDataSource=password
65
65
print (password ) # $ SensitiveUse=password
You can’t perform that action at this time.
0 commit comments