C++: Only look for sensitive strings in appropriate parameters.

This commit is contained in:
Geoffrey White
2022-03-07 09:47:11 +00:00
parent f1d6234483
commit cb33ed4fc2

View File

@@ -311,6 +311,12 @@ class RegQuery extends SystemData {
override Expr getAnExpr() { regQuery(this, TReturnData(result)) }
override predicate isSensitive() {
this.(FunctionCall).getAnArgument().getValue().toLowerCase().regexpMatch(".*(pass|token|key).*")
exists(Expr e |
(
regQuery(this, TSubKeyName(e)) or
regQuery(this, TValueName(e))
) and
e.getValue().toLowerCase().regexpMatch(".*(pass|token|key).*")
)
}
}