Remove tests for sources and sinks

This is redundant given that we test for paths, and for a path
we need the source, step and sink methods to be modeled.
This commit is contained in:
Owen Mansel-Chan 2024-09-24 13:55:39 +01:00
Родитель afa4b6dd4a
Коммит 0255edf524
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 67E427E02E6DA1B8
36 изменённых файлов: 36 добавлений и 352 удалений

Просмотреть файл

@ -1,33 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:8:7:8:16 | call to Source |
| test.go:14:7:14:16 | call to Source |
| test.go:20:7:20:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:32:7:32:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:44:7:44:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:56:7:56:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:68:7:68:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:80:7:80:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:10:9:10:9 | y |
| test.go:16:9:16:9 | y |
| test.go:22:9:22:9 | y |
| test.go:28:9:28:9 | y |
| test.go:34:9:34:9 | y |
| test.go:40:9:40:9 | y |
| test.go:46:9:46:9 | y |
| test.go:52:9:52:9 | y |
| test.go:58:9:58:9 | y |
| test.go:64:9:64:9 | y |
| test.go:70:9:70:9 | y |
| test.go:76:9:76:9 | y |
| test.go:82:9:82:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,19 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:14:7:14:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:16:9:16:9 | y |
| test.go:28:9:28:9 | y |
| test.go:40:9:40:9 | y |
| test.go:52:9:52:9 | y |
| test.go:64:9:64:9 | y |
| test.go:76:9:76:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,33 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:8:7:8:16 | call to Source |
| test.go:14:7:14:16 | call to Source |
| test.go:20:7:20:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:32:7:32:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:44:7:44:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:56:7:56:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:68:7:68:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:80:7:80:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:10:9:10:9 | y |
| test.go:16:9:16:9 | y |
| test.go:22:9:22:9 | y |
| test.go:28:9:28:9 | y |
| test.go:34:9:34:9 | y |
| test.go:40:9:40:9 | y |
| test.go:46:9:46:9 | y |
| test.go:52:9:52:9 | y |
| test.go:58:9:58:9 | y |
| test.go:64:9:64:9 | y |
| test.go:70:9:70:9 | y |
| test.go:76:9:76:9 | y |
| test.go:82:9:82:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,19 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:14:7:14:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:16:9:16:9 | y |
| test.go:28:9:28:9 | y |
| test.go:40:9:40:9 | y |
| test.go:52:9:52:9 | y |
| test.go:64:9:64:9 | y |
| test.go:76:9:76:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,5 +1,3 @@
testFailures
invalidModelRow
failures
sources
sinks

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,5 +1,3 @@
testFailures
invalidModelRow
failures
sources
sinks

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,33 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:8:7:8:16 | call to Source |
| test.go:14:7:14:16 | call to Source |
| test.go:20:7:20:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:32:7:32:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:44:7:44:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:56:7:56:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:68:7:68:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:80:7:80:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:10:9:10:9 | y |
| test.go:16:9:16:9 | y |
| test.go:22:9:22:9 | y |
| test.go:28:9:28:9 | y |
| test.go:34:9:34:9 | y |
| test.go:40:9:40:9 | y |
| test.go:46:9:46:9 | y |
| test.go:52:9:52:9 | y |
| test.go:58:9:58:9 | y |
| test.go:64:9:64:9 | y |
| test.go:70:9:70:9 | y |
| test.go:76:9:76:9 | y |
| test.go:82:9:82:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,19 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:14:7:14:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:16:9:16:9 | y |
| test.go:28:9:28:9 | y |
| test.go:40:9:40:9 | y |
| test.go:52:9:52:9 | y |
| test.go:64:9:64:9 | y |
| test.go:76:9:76:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,7 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:80:7:80:16 | call to Source |
sinks
| test.go:82:9:82:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,7 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,11 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:8:7:8:16 | call to Source |
| test.go:32:7:32:16 | call to Source |
| test.go:44:7:44:16 | call to Source |
sinks
| test.go:10:9:10:9 | y |
| test.go:34:9:34:9 | y |
| test.go:46:9:46:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,33 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:8:7:8:16 | call to Source |
| test.go:14:7:14:16 | call to Source |
| test.go:20:7:20:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:32:7:32:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:44:7:44:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:56:7:56:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:68:7:68:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:80:7:80:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:10:9:10:9 | y |
| test.go:16:9:16:9 | y |
| test.go:22:9:22:9 | y |
| test.go:28:9:28:9 | y |
| test.go:34:9:34:9 | y |
| test.go:40:9:40:9 | y |
| test.go:46:9:46:9 | y |
| test.go:52:9:52:9 | y |
| test.go:58:9:58:9 | y |
| test.go:64:9:64:9 | y |
| test.go:70:9:70:9 | y |
| test.go:76:9:76:9 | y |
| test.go:82:9:82:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,11 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:14:7:14:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
sinks
| test.go:16:9:16:9 | y |
| test.go:40:9:40:9 | y |
| test.go:52:9:52:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,19 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:14:7:14:16 | call to Source |
| test.go:26:7:26:16 | call to Source |
| test.go:38:7:38:16 | call to Source |
| test.go:50:7:50:16 | call to Source |
| test.go:62:7:62:16 | call to Source |
| test.go:74:7:74:16 | call to Source |
| test.go:86:7:86:16 | call to Source |
sinks
| test.go:16:9:16:9 | y |
| test.go:28:9:28:9 | y |
| test.go:40:9:40:9 | y |
| test.go:52:9:52:9 | y |
| test.go:64:9:64:9 | y |
| test.go:76:9:76:9 | y |
| test.go:88:9:88:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,9 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:20:7:20:16 | call to Source |
| test.go:68:7:68:16 | call to Source |
sinks
| test.go:22:9:22:9 | y |
| test.go:70:9:70:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -1,9 +1,3 @@
testFailures
invalidModelRow
failures
sources
| test.go:20:7:20:16 | call to Source |
| test.go:68:7:68:16 | call to Source |
sinks
| test.go:22:9:22:9 | y |
| test.go:70:9:70:9 | y |

Просмотреть файл

@ -6,9 +6,9 @@ import TestUtilities.InlineExpectationsTest
import MakeTest<FlowTest>
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = TaintTracking::Global<Config>;
@ -26,7 +26,3 @@ module FlowTest implements TestSig {
)
}
}
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -3,11 +3,3 @@ paths
| test.go:8:7:8:16 | call to Source | test.go:10:9:10:9 | y |
| test.go:32:7:32:16 | call to Source | test.go:34:9:34:9 | y |
| test.go:44:7:44:16 | call to Source | test.go:46:9:46:9 | y |
sources
| test.go:8:7:8:16 | call to Source |
| test.go:32:7:32:16 | call to Source |
| test.go:44:7:44:16 | call to Source |
sinks
| test.go:10:9:10:9 | y |
| test.go:34:9:34:9 | y |
| test.go:46:9:46:9 | y |

Просмотреть файл

@ -32,15 +32,11 @@ class MySink extends FileSystemAccess::Range, DataFlow::CallNode {
}
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = DataFlow::Global<Config>;
query predicate paths(DataFlow::Node source, DataFlow::Node sink) { Flow::flow(source, sink) }
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }

Просмотреть файл

@ -5,15 +5,3 @@ paths
| test.go:32:7:32:16 | call to Source | test.go:34:9:34:9 | y |
| test.go:44:7:44:16 | call to Source | test.go:46:9:46:9 | y |
| test.go:68:7:68:16 | call to Source | test.go:70:9:70:9 | y |
sources
| test.go:8:7:8:16 | call to Source |
| test.go:20:7:20:16 | call to Source |
| test.go:32:7:32:16 | call to Source |
| test.go:44:7:44:16 | call to Source |
| test.go:68:7:68:16 | call to Source |
sinks
| test.go:10:9:10:9 | y |
| test.go:22:9:22:9 | y |
| test.go:34:9:34:9 | y |
| test.go:46:9:46:9 | y |
| test.go:70:9:70:9 | y |

Просмотреть файл

@ -32,15 +32,11 @@ class MySink extends FileSystemAccess::Range, DataFlow::CallNode {
}
module Config implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { sources(source) }
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sinks(sink) }
predicate isSink(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }
}
module Flow = DataFlow::Global<Config>;
query predicate paths(DataFlow::Node source, DataFlow::Node sink) { Flow::flow(source, sink) }
query predicate sources(DataFlow::Node source) { source instanceof RemoteFlowSource }
query predicate sinks(DataFlow::Node sink) { sink = any(FileSystemAccess fsa).getAPathArgument() }