Skip to content

Commit ff78beb

Browse files
committed
Shared support for alert filtering
1 parent f9e4c0a commit ff78beb

File tree

35 files changed

+452
-25
lines changed

35 files changed

+452
-25
lines changed

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl1.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl1.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl1.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl1.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,14 @@ deprecated private module Config implements FullStateConfigSig {
283283
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
284284

285285
predicate includeHiddenNodes() { any(Configuration config).includeHiddenNodes() }
286+
287+
predicate filterForSourceOrSinkAlerts() { none() }
288+
289+
predicate isFilteredSource(Node source, FlowState state) { isSource(source, state) }
290+
291+
predicate isFilteredSink(Node sink, FlowState state) { isSink(sink, state) }
292+
293+
predicate isFilteredSink(Node sink) { isSink(sink) }
286294
}
287295

288296
deprecated private import Impl<Config> as I

0 commit comments

Comments
 (0)