File tree Expand file tree Collapse file tree 2 files changed +41
-3
lines changed
rust/ql/lib/codeql/rust/dataflow Expand file tree Collapse file tree 2 files changed +41
-3
lines changed Original file line number Diff line number Diff line change 1- /** Provides classes and predicates for defining flow sinks. */
1+ /**
2+ * Provides classes and predicates for defining flow sinks.
3+ *
4+ * Flow sinks defined here feed into data flow configurations as follows:
5+ *
6+ * data from `*.model.yml` | QL extensions of `FlowSink::Range`
7+ * v v
8+ * `FlowSink` (associated with a models-as-data `kind` string)
9+ * v
10+ * `sinkNode` predicate | other QL defined sinks, for example using concepts
11+ * v v
12+ * various `Sink` classes for specific data flow configurations
13+ *
14+ * New sinks should be defined using models-as-data, QL extensions of
15+ * `FlowSink::Range`, or concepts. Data flow configurations should use the
16+ * `sinkNode` predicate and/or concepts to define their sinks.
17+ */
218
319private import rust
420private import internal.FlowSummaryImpl as Impl
@@ -12,7 +28,7 @@ private module Sinks {
1228
1329/** Provides the `Range` class used to define the extent of `FlowSink`. */
1430module FlowSink {
15- /** A flow source . */
31+ /** A flow sink . */
1632 abstract class Range extends Impl:: Public:: SinkElement {
1733 bindingset [ this ]
1834 Range ( ) { any ( ) }
Original file line number Diff line number Diff line change 1- /** Provides classes and predicates for defining flow sources. */
1+ /**
2+ * Provides classes and predicates for defining flow sources.
3+ *
4+ * Flow sources defined here feed into the `ActiveThreatModelSource` class and
5+ * ultimately reach data flow configurations as follows:
6+ *
7+ * data from `*.model.yml` | QL extensions of `FlowSource::Range`
8+ * v v
9+ * `FlowSource` (associated with a models-as-data `kind` string)
10+ * v
11+ * `sourceNode` predicate | (theoretically other QL defined sources)
12+ * v v
13+ * `ThreatModelSource` (associated with a threat model source type)
14+ * v
15+ * `ActiveThreatModelSource` (just the enabled sources)
16+ * v
17+ * various `Source` classes for specific data flow configurations
18+ *
19+ * New sources should be defined using models-as-data or QL extensions of
20+ * `FlowSource::Range`. Data flow configurations on the other hand should use
21+ * `ActiveThreatModelSource` to match sources enabled in the user
22+ * configuration.
23+ */
224
325private import rust
426private import internal.FlowSummaryImpl as Impl
You can’t perform that action at this time.
0 commit comments