Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1addfaa

Browse files
committed
Python taint-tracking: update test results.
1 parent a7845ae commit 1addfaa

16 files changed

Lines changed: 36 additions & 17 deletions

File tree

python/ql/src/semmle/python/security/TaintTracking.qll

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,15 @@ module DataFlow {
700700

701701
abstract Location getLocation();
702702

703+
AstNode asAstNode() {
704+
result = this.asCfgNode().getNode()
705+
}
706+
707+
/** For backwards compatibility -- Use asAstNode() instead */
708+
deprecated AstNode getNode() {
709+
result = this.asAstNode()
710+
}
711+
703712
}
704713

705714
class CfgNode extends Node, TCfgNode {

python/ql/test/library-tests/taint/config/TaintLib.qll

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,14 @@ class SimpleTest extends TaintKind {
1010

1111
}
1212

13-
class SimpleConfig extends TaintTracking::Configuration {
13+
abstract class TestConfig extends TaintTracking::Configuration {
14+
15+
bindingset[this]
16+
TestConfig() { any() }
17+
18+
}
19+
20+
class SimpleConfig extends TestConfig {
1421

1522
SimpleConfig() { this = "Simple config" }
1623

@@ -49,7 +56,7 @@ class BasicCustomTaint extends TaintKind {
4956
}
5057

5158

52-
class BasicCustomConfig extends TaintTracking::Configuration {
59+
class BasicCustomConfig extends TestConfig {
5360

5461
BasicCustomConfig() { this = "Basic custom config" }
5562

@@ -99,7 +106,7 @@ class Scissors extends TaintKind {
99106

100107
}
101108

102-
class RockPaperScissorConfig extends TaintTracking::Configuration {
109+
class RockPaperScissorConfig extends TestConfig {
103110

104111
RockPaperScissorConfig() { this = "Rock-paper-scissors config" }
105112

@@ -145,7 +152,7 @@ class TaintCarrier extends TaintKind {
145152

146153
}
147154

148-
class TaintCarrierConfig extends TaintTracking::Configuration {
155+
class TaintCarrierConfig extends TestConfig {
149156

150157
TaintCarrierConfig() { this = "Taint carrier config" }
151158

@@ -327,5 +334,3 @@ class TaintIterableSource extends TaintSource {
327334

328335
}
329336

330-
331-

python/ql/test/library-tests/taint/config/TaintedArgument.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ import semmle.python.dataflow.Implementation
99

1010
from TaintTrackingImplementation config, TaintTrackingNode src, CallNode call,
1111
TaintTrackingContext caller, CallableValue pyfunc, int arg, AttributePath path, TaintKind kind
12-
where config.callWithTaintedArgument(src, call, caller, pyfunc, arg, path, kind)
12+
where config instanceof TestConfig and
13+
config.callWithTaintedArgument(src, call, caller, pyfunc, arg, path, kind)
1314
select config, src, call, caller, pyfunc, arg, path, kind

python/ql/test/library-tests/taint/config/TestNode.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ import TaintLib
55

66

77
from TaintTrackingNode n
8+
where n.getConfiguration() instanceof TestConfig
89
select n.getTaintKind(), n.getLocation().toString(), n.getNode().toString(), n.getPath().toString(), n.getContext().toString()
910

python/ql/test/library-tests/taint/config/TestSink.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import python
22
import semmle.python.security.TaintTracking
33
import TaintLib
44

5-
from TaintTracking::Configuration config, DataFlow::Node sink, TaintKind kind
5+
from TestConfig config, DataFlow::Node sink, TaintKind kind
66

77
where config.isSink(sink, kind)
88
select config, sink.getLocation().toString(), sink.getLocation().getStartLine(), sink.toString(), kind

python/ql/test/library-tests/taint/config/TestSource.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import python
22
import semmle.python.security.TaintTracking
33
import TaintLib
44

5-
from TaintTracking::Configuration config, DataFlow::Node source, TaintKind kind
5+
from TestConfig config, DataFlow::Node source, TaintKind kind
66

77
where config.isSource(source, kind)
88
select config, source.getLocation().toString(), source.getLocation().getStartLine(), source.toString(), kind

python/ql/test/library-tests/taint/config/TestStep.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import TaintLib
44
import semmle.python.dataflow.Implementation
55

66

7-
from TaintTrackingNode n, TaintTrackingNode s, TaintTracking::Configuration config
7+
from TaintTrackingNode n, TaintTrackingNode s, TestConfig config
88
where s = n.getASuccessor() and config = n.getConfiguration()
99
select
1010
config + ":",
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
ERROR: getNode() cannot be resolved for type Node (TestNode.ql:5,69-76)
2-
ERROR: getTrackedValue() cannot be resolved for type TaintedNode (TestNode.ql:5,10-25)
1+
WARNING: Predicate getNode has been deprecated and may be removed in future (TestNode.ql:5,77-84)

python/ql/test/library-tests/taint/dataflow/TestNode.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ import python
22
import Config
33

44
from TaintedNode n
5-
select n.getTrackedValue(), n.getLocation().toString(), n.getNode().getNode().toString(), n.getContext()
5+
select "Taint " + n.getTaintKind(), n.getLocation().toString(), n.getNode().getNode().toString(), n.getContext()

python/ql/test/library-tests/taint/exception_traceback/TestNode.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
WARNING: Predicate getNode has been deprecated and may be removed in future (TestNode.ql:8,43-50)
12
| test.py:10:11:10:47 | test.py:10 | MyException() | exception.kind |
23
| test.py:15:25:15:25 | test.py:15 | e | exception.kind |
34
| test.py:16:13:16:34 | test.py:16 | Attribute() | exception.info |

0 commit comments

Comments
 (0)