Skip to content

Commit

Permalink
Use post-process provenance pretty-printing in ql tests
Browse files Browse the repository at this point in the history
  • Loading branch information
owen-mc committed Jul 29, 2024
1 parent 550974d commit 0eb3ec5
Show file tree
Hide file tree
Showing 10 changed files with 27 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
*/

import go
import codeql.dataflow.test.ProvenancePathGraph
import semmle.go.dataflow.ExternalFlow

module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node n) { n instanceof RemoteFlowSource }
Expand All @@ -13,7 +15,7 @@ module Config implements DataFlow::ConfigSig {

module Flow = TaintTracking::Global<Config>;

import Flow::PathGraph
import ShowProvenance<interpretModelForTest/2, Flow::PathNode, Flow::PathGraph>

from Flow::PathNode source, Flow::PathNode sink
where Flow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ import go
import semmle.go.dataflow.ExternalFlow
import ModelValidation
import TestUtilities.InlineFlowTest
import codeql.dataflow.test.ProvenancePathGraph

module Flow = TaintTracking::Global<DefaultFlowConfig>;

import Flow::PathGraph
import ShowProvenance<interpretModelForTest/2, Flow::PathNode, Flow::PathGraph>

from Flow::PathNode source, Flow::PathNode sink
where Flow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
*/

import Test
import ThreatModelFlow::PathGraph
import semmle.go.dataflow.ExternalFlow
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, ThreatModelFlow::PathNode, ThreatModelFlow::PathGraph>

from ThreatModelFlow::PathNode source, ThreatModelFlow::PathNode sink
where ThreatModelFlow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
*/

import Test
import ThreatModelFlow::PathGraph
import semmle.go.dataflow.ExternalFlow
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, ThreatModelFlow::PathNode, ThreatModelFlow::PathGraph>

from ThreatModelFlow::PathNode source, ThreatModelFlow::PathNode sink
where ThreatModelFlow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
*/

import Test
import ThreatModelFlow::PathGraph
import semmle.go.dataflow.ExternalFlow
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, ThreatModelFlow::PathNode, ThreatModelFlow::PathGraph>

from ThreatModelFlow::PathNode source, ThreatModelFlow::PathNode sink
where ThreatModelFlow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
*/

import Test
import ThreatModelFlow::PathGraph
import semmle.go.dataflow.ExternalFlow
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, ThreatModelFlow::PathNode, ThreatModelFlow::PathGraph>

from ThreatModelFlow::PathNode source, ThreatModelFlow::PathNode sink
where ThreatModelFlow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
*/

import Test
import ThreatModelFlow::PathGraph
import semmle.go.dataflow.ExternalFlow
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, ThreatModelFlow::PathNode, ThreatModelFlow::PathGraph>

from ThreatModelFlow::PathNode source, ThreatModelFlow::PathNode sink
where ThreatModelFlow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
*/

import Test
import ThreatModelFlow::PathGraph
import semmle.go.dataflow.ExternalFlow
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, ThreatModelFlow::PathNode, ThreatModelFlow::PathGraph>

from ThreatModelFlow::PathNode source, ThreatModelFlow::PathNode sink
where ThreatModelFlow::flowPath(source, sink)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import go
import semmle.go.dataflow.ExternalFlow
import ModelValidation
import semmle.go.security.CommandInjection
import CommandInjection::Flow::PathGraph
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, CommandInjection::Flow::PathNode, CommandInjection::Flow::PathGraph>

class UntrustedFunction extends Function {
UntrustedFunction() { this.getName() = ["getUntrustedString", "getUntrustedBytes"] }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import go
import semmle.go.dataflow.ExternalFlow
import ModelValidation
import semmle.go.security.CommandInjection
import CommandInjection::Flow::PathGraph
import codeql.dataflow.test.ProvenancePathGraph
import ShowProvenance<interpretModelForTest/2, CommandInjection::Flow::PathNode, CommandInjection::Flow::PathGraph>

from CommandInjection::Flow::PathNode source, CommandInjection::Flow::PathNode sink
where CommandInjection::Flow::flowPath(source, sink)
Expand Down

0 comments on commit 0eb3ec5

Please sign in to comment.