File tree Expand file tree Collapse file tree 3 files changed +25
-6
lines changed Expand file tree Collapse file tree 3 files changed +25
-6
lines changed Original file line number Diff line number Diff line change 11
11
import javascript
12
12
import meta.internal.TaintMetrics
13
13
14
- from DataFlow :: Node node
15
- where node = relevantTaintSource ( )
14
+ from ThreatModelSource node
15
+ where node = relevantTaintSource ( ) and node . getThreatModel ( ) = "remote"
16
16
select node , getTaintSourceName ( node )
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @name Threat model sources
3
+ * @description Sources of possibly untrusted input that can be configured via threat models.
4
+ * @kind problem
5
+ * @problem.severity recommendation
6
+ * @id js/meta/alerts/threat-model-sources
7
+ * @tags meta
8
+ * @precision very-low
9
+ */
10
+
11
+ import javascript
12
+ import meta.internal.TaintMetrics
13
+
14
+ from ThreatModelSource node , string threatModel
15
+ where
16
+ node = relevantTaintSource ( ) and
17
+ threatModel = node .getThreatModel ( ) and
18
+ threatModel != "remote" // "remote" is reported by TaintSources.ql
19
+ select node , getTaintSourceName ( node ) + " (\"" + threatModel + "\" threat model)"
Original file line number Diff line number Diff line change @@ -75,9 +75,9 @@ DataFlow::Node relevantTaintSink(string kind) {
75
75
DataFlow:: Node relevantTaintSink ( ) { result = relevantTaintSink ( _) }
76
76
77
77
/**
78
- * Gets a relevant remote flow source.
78
+ * Gets a relevant threat model source.
79
79
*/
80
- RemoteFlowSource relevantTaintSource ( ) { not result .getFile ( ) instanceof IgnoredFile }
80
+ ThreatModelSource relevantTaintSource ( ) { not result .getFile ( ) instanceof IgnoredFile }
81
81
82
82
/**
83
83
* Gets the output of a call that shows intent to sanitize a value
@@ -102,8 +102,8 @@ DataFlow::Node relevantSanitizerInput() {
102
102
}
103
103
104
104
string getTaintSourceName ( DataFlow:: Node node ) {
105
- result = node .( RemoteFlowSource ) .getSourceType ( )
105
+ result = node .( ThreatModelSource ) .getSourceType ( )
106
106
or
107
- not node instanceof RemoteFlowSource and
107
+ not node instanceof ThreatModelSource and
108
108
result = "Taint source"
109
109
}
You can’t perform that action at this time.
0 commit comments