Skip to content

Commit 46185e3

Browse files
committed
Make HardcodedKeys use new API
1 parent b5ac0c9 commit 46185e3

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

go/ql/src/experimental/CWE-321/HardcodedKeys.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111

1212
import go
1313
import HardcodedKeysLib
14-
import DataFlow::PathGraph
14+
import HardcodedKeys::Flow::PathGraph
1515

16-
from HardcodedKeys::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink
17-
where cfg.hasFlowPath(source, sink)
16+
from HardcodedKeys::Flow::PathNode source, HardcodedKeys::Flow::PathNode sink
17+
where HardcodedKeys::Flow::flowPath(source, sink)
1818
select sink.getNode(), source, sink, "$@ is used to sign a JWT token.", source.getNode(),
1919
"Hardcoded String"

go/ql/src/experimental/CWE-321/HardcodedKeysLib.qll

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import go
88
import StringOps
9-
import DataFlow::PathGraph
109

1110
/**
1211
* Provides default sources, sinks and sanitizers for reasoning about
@@ -363,9 +362,11 @@ module HardcodedKeys {
363362
}
364363

365364
/**
365+
* DEPRECATED: Use `Flow` instead.
366+
*
366367
* A configuration depicting taint flow for studying JWT token signing vulnerabilities.
367368
*/
368-
class Configuration extends TaintTracking::Configuration {
369+
deprecated class Configuration extends TaintTracking::Configuration {
369370
Configuration() { this = "Hard-coded JWT Signing Key" }
370371

371372
override predicate isSource(DataFlow::Node source) { source instanceof Source }
@@ -374,4 +375,14 @@ module HardcodedKeys {
374375

375376
override predicate isSanitizer(DataFlow::Node sanitizer) { sanitizer instanceof Sanitizer }
376377
}
378+
379+
private module Config implements DataFlow::ConfigSig {
380+
predicate isSource(DataFlow::Node source) { source instanceof Source }
381+
382+
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
383+
384+
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
385+
}
386+
387+
module Flow = TaintTracking::Global<Config>;
377388
}

0 commit comments

Comments
 (0)