Skip to content

Commit 641065c

Browse files
committed
feat(java): Update HardcodedBase64Usage query
1 parent a03b45d commit 641065c

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

java/src/security/CWE-798/HardcodedBase64Usage.ql

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,21 @@ import java
1515
import semmle.code.java.dataflow.DataFlow
1616
import semmle.code.java.dataflow.FlowSources
1717
import semmle.code.java.dataflow.TaintTracking2
18-
import DataFlow::PathGraph
1918
// Internal
2019
import ghsl.Encoding
2120
import ghsl.Hardcoded
2221

23-
class HardcodedPasswordBase64 extends TaintTracking::Configuration {
24-
HardcodedPasswordBase64() { this = "HardcodedPasswordBase64" }
22+
module HardcodedPasswordBase64 implements DataFlow::ConfigSig {
23+
predicate isSource(DataFlow::Node source) { source instanceof Hardcoded }
2524

26-
override predicate isSource(DataFlow::Node source) { source instanceof Hardcoded }
27-
28-
override predicate isSink(DataFlow::Node sink) { sink instanceof Base64::Decoding }
25+
predicate isSink(DataFlow::Node sink) { sink instanceof Base64::Decoding }
2926
}
3027

31-
// ========== Query ==========
32-
from DataFlow::PathNode source, DataFlow::PathNode sink, HardcodedPasswordBase64 config
33-
where config.hasFlowPath(source, sink)
28+
module HardcodedPasswordBase64Flow = TaintTracking::Global<HardcodedPasswordBase64>;
29+
30+
import HardcodedPasswordBase64Flow::PathGraph
31+
32+
from HardcodedPasswordBase64Flow::PathNode source, HardcodedPasswordBase64Flow::PathNode sink
33+
where HardcodedPasswordBase64Flow::flowPath(source, sink)
3434
select sink.getNode(), source, sink, "Sensitive data is being logged $@.", source.getNode(),
3535
"user-provided value"

0 commit comments

Comments
 (0)