Skip to content

Commit 747cd17

Browse files
committed
Update all languages to use the shared taint-tracking library
1 parent 20b7925 commit 747cd17

File tree

22 files changed

+95
-393
lines changed

22 files changed

+95
-393
lines changed

config/identical-files.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,6 @@
3333
"ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowImplForPathname.qll",
3434
"swift/ql/lib/codeql/swift/dataflow/internal/DataFlowImpl1.qll"
3535
],
36-
"TaintTracking Java/C++/C#/Go/Python/Ruby/Swift": [
37-
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking1/TaintTracking.qll",
38-
"go/ql/lib/semmle/go/dataflow/internal/tainttracking1/TaintTracking.qll",
39-
"java/ql/lib/semmle/code/java/dataflow/internal/tainttracking1/TaintTracking.qll",
40-
"python/ql/lib/semmle/python/dataflow/new/internal/tainttracking1/TaintTracking.qll",
41-
"ruby/ql/lib/codeql/ruby/dataflow/internal/tainttracking1/TaintTracking.qll",
42-
"swift/ql/lib/codeql/swift/dataflow/internal/tainttracking1/TaintTracking.qll"
43-
],
4436
"TaintTracking Legacy Configuration Java/C++/C#/Go/Python/Ruby/Swift": [
4537
"cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll",
4638
"cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll",

csharp/ql/lib/semmle/code/csharp/dataflow/TaintTracking.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
import csharp
77

88
module TaintTracking {
9-
import semmle.code.csharp.dataflow.internal.tainttracking1.TaintTracking
9+
import semmle.code.csharp.dataflow.internal.tainttracking1.TaintTrackingParameter::Public
10+
private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific
11+
private import semmle.code.csharp.dataflow.internal.TaintTrackingImplSpecific
12+
private import codeql.dataflow.TaintTracking
13+
import TaintFlowMake<CsharpDataFlow, CsharpTaintTracking>
1014
import semmle.code.csharp.dataflow.internal.tainttracking1.TaintTrackingImpl
1115
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* Provides C#-specific definitions for use in the taint tracking library.
3+
*/
4+
5+
private import codeql.dataflow.TaintTrackingParameter
6+
private import DataFlowImplSpecific
7+
8+
module CsharpTaintTracking implements TaintTrackingParameter<CsharpDataFlow> {
9+
import TaintTrackingPrivate
10+
}

csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ predicate defaultTaintSanitizer(DataFlow::Node node) { none() }
2525
* of `c` at sinks and inputs to additional taint steps.
2626
*/
2727
bindingset[node]
28-
predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::Content c) { none() }
28+
predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::ContentSet c) { none() }
2929

3030
private predicate localCilTaintStep(CIL::DataFlowNode src, CIL::DataFlowNode sink) {
3131
src = sink.(CIL::BinaryArithmeticExpr).getAnOperand() or

csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking1/TaintTracking.qll

Lines changed: 0 additions & 75 deletions
This file was deleted.

go/ql/lib/semmle/go/dataflow/TaintTracking.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ import semmle.go.dataflow.DataFlow
1010
* global (inter-procedural) taint-tracking analyses.
1111
*/
1212
module TaintTracking {
13-
import semmle.go.dataflow.internal.tainttracking1.TaintTracking
13+
import semmle.go.dataflow.internal.tainttracking1.TaintTrackingParameter::Public
14+
private import semmle.go.dataflow.internal.DataFlowImplSpecific
15+
private import semmle.go.dataflow.internal.TaintTrackingImplSpecific
16+
private import codeql.dataflow.TaintTracking
17+
import TaintFlowMake<GoDataFlow, GoTaintTracking>
1418
import semmle.go.dataflow.internal.tainttracking1.TaintTrackingImpl
1519
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* Provides Go-specific definitions for use in the taint tracking library.
3+
*/
4+
5+
private import codeql.dataflow.TaintTrackingParameter
6+
private import DataFlowImplSpecific
7+
8+
module GoTaintTracking implements TaintTrackingParameter<GoDataFlow> {
9+
import TaintTrackingUtil
10+
}

go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ private Type getElementType(Type containerType) {
4747
* of `c` at sinks and inputs to additional taint steps.
4848
*/
4949
bindingset[node]
50-
predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::Content c) {
50+
predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::ContentSet c) {
5151
exists(Type containerType |
5252
node instanceof DataFlow::ArgumentNode and
5353
getElementType*(node.getType()) = containerType

go/ql/lib/semmle/go/dataflow/internal/tainttracking1/TaintTracking.qll

Lines changed: 0 additions & 75 deletions
This file was deleted.

java/ql/lib/semmle/code/java/dataflow/TaintTracking.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ import semmle.code.java.dataflow.DataFlow2
88
import semmle.code.java.dataflow.internal.TaintTrackingUtil::StringBuilderVarModule
99

1010
module TaintTracking {
11-
import semmle.code.java.dataflow.internal.tainttracking1.TaintTracking
11+
import semmle.code.java.dataflow.internal.tainttracking1.TaintTrackingParameter::Public
12+
private import semmle.code.java.dataflow.internal.DataFlowImplSpecific
13+
private import semmle.code.java.dataflow.internal.TaintTrackingImplSpecific
14+
private import codeql.dataflow.TaintTracking
15+
import TaintFlowMake<JavaDataFlow, JavaTaintTracking>
1216
import semmle.code.java.dataflow.internal.tainttracking1.TaintTrackingImpl
1317
}

0 commit comments

Comments
 (0)