Skip to content

Commit c3ac5ab

Browse files
authored
Merge pull request #8482 from michaelnebel/csharp/capturesourcesink-models
C#: Capture[Source|Sink]Models utility.
2 parents 68575f3 + 8e60073 commit c3ac5ab

29 files changed

+1015
-702
lines changed

config/identical-files.json

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,9 @@
7575
"java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SsaReadPositionCommon.qll",
7676
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaReadPositionCommon.qll"
7777
],
78-
"Model as Data Generation Java/C# - Utils": [
79-
"java/ql/src/utils/model-generator/ModelGeneratorUtils.qll",
80-
"csharp/ql/src/utils/model-generator/ModelGeneratorUtils.qll"
81-
],
82-
"Model as Data Generation Java/C# - SummaryModels": [
83-
"java/ql/src/utils/model-generator/CaptureSummaryModels.qll",
84-
"csharp/ql/src/utils/model-generator/CaptureSummaryModels.qll"
78+
"Model as Data Generation Java/C# - CaptureModels": [
79+
"java/ql/src/utils/model-generator/internal/CaptureModels.qll",
80+
"csharp/ql/src/utils/model-generator/internal/CaptureModels.qll"
8581
],
8682
"Sign Java/C#": [
8783
"java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/Sign.qll",
@@ -549,4 +545,4 @@
549545
"javascript/ql/lib/semmle/javascript/security/dataflow/HttpToFileAccessCustomizations.qll",
550546
"ruby/ql/lib/codeql/ruby/security/HttpToFileAccessCustomizations.qll"
551547
]
552-
}
548+
}

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1461,7 +1461,10 @@ private class InstanceFieldOrProperty extends FieldOrProperty {
14611461
InstanceFieldOrProperty() { not this.isStatic() }
14621462
}
14631463

1464-
private class FieldOrPropertyAccess extends AssignableAccess, QualifiableExpr {
1464+
/**
1465+
* An access to a field or a property.
1466+
*/
1467+
class FieldOrPropertyAccess extends AssignableAccess, QualifiableExpr {
14651468
FieldOrPropertyAccess() { this.getTarget() instanceof FieldOrProperty }
14661469
}
14671470

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @name Capture sink models.
3+
* @description Finds public methods that act as sinks as they flow into a a known sink.
4+
* @id csharp/utils/model-generator/sink-models
5+
*/
6+
7+
private import internal.CaptureModels
8+
9+
from TargetApi api, string sink
10+
where sink = captureSink(api)
11+
select sink order by sink
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @name Capture source models.
3+
* @description Finds APIs that act as sources as they expose already known sources.
4+
* @id csharp/utils/model-generator/sink-models
5+
*/
6+
7+
private import internal.CaptureModels
8+
9+
from TargetApi api, string source
10+
where source = captureSource(api)
11+
select source order by source

csharp/ql/src/utils/model-generator/CaptureSummaryModels.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* @id csharp/utils/model-generator/summary-models
55
*/
66

7-
private import CaptureSummaryModels
7+
private import internal.CaptureModels
88

99
/**
1010
* Capture fluent APIs that return `this`.

csharp/ql/src/utils/model-generator/CaptureSummaryModels.qll

Lines changed: 0 additions & 98 deletions
This file was deleted.

csharp/ql/src/utils/model-generator/CaptureSummaryModelsSpecific.qll

Lines changed: 0 additions & 15 deletions
This file was deleted.

csharp/ql/src/utils/model-generator/ModelGeneratorUtils.qll

Lines changed: 0 additions & 71 deletions
This file was deleted.

csharp/ql/src/utils/model-generator/ModelGeneratorUtilsSpecific.qll

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)