Skip to content

Commit ddb5d92

Browse files
Jami CogswellJami Cogswell
authored andcommitted
Shared: add source, summary, and neutral shared valid kinds
1 parent 869f820 commit ddb5d92

File tree

7 files changed

+245
-0
lines changed

7 files changed

+245
-0
lines changed

csharp/ql/lib/semmle/code/csharp/dataflow/SharedModelValidation.qll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Provides classes for validating kinds in models as data rows.
55
* Such that we can share this logic across our CodeQL analysis of different languages.
66
*/
7+
8+
/** A valid models-as-data sink kind. */
79
class ValidSinkKind extends string {
810
ValidSinkKind() {
911
this =
@@ -28,3 +30,36 @@ class ValidSinkKind extends string {
2830
]
2931
}
3032
}
33+
34+
/** A valid models-as-data source kind. */
35+
class ValidSourceKind extends string {
36+
ValidSourceKind() {
37+
this =
38+
[
39+
// shared ALL languages
40+
"remote", "local"
41+
]
42+
}
43+
}
44+
45+
/** A valid models-as-data summary kind. */
46+
class ValidSummaryKind extends string {
47+
ValidSummaryKind() {
48+
this =
49+
[
50+
// shared ALL languages
51+
"taint", "value"
52+
]
53+
}
54+
}
55+
56+
/** A valid models-as-data neutral kind. */
57+
class ValidNeutralKind extends string {
58+
ValidNeutralKind() {
59+
this =
60+
[
61+
// shared ALL languages
62+
"summary", "source", "sink"
63+
]
64+
}
65+
}

go/ql/lib/semmle/go/dataflow/SharedModelValidation.qll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Provides classes for validating kinds in models as data rows.
55
* Such that we can share this logic across our CodeQL analysis of different languages.
66
*/
7+
8+
/** A valid models-as-data sink kind. */
79
class ValidSinkKind extends string {
810
ValidSinkKind() {
911
this =
@@ -28,3 +30,36 @@ class ValidSinkKind extends string {
2830
]
2931
}
3032
}
33+
34+
/** A valid models-as-data source kind. */
35+
class ValidSourceKind extends string {
36+
ValidSourceKind() {
37+
this =
38+
[
39+
// shared ALL languages
40+
"remote", "local"
41+
]
42+
}
43+
}
44+
45+
/** A valid models-as-data summary kind. */
46+
class ValidSummaryKind extends string {
47+
ValidSummaryKind() {
48+
this =
49+
[
50+
// shared ALL languages
51+
"taint", "value"
52+
]
53+
}
54+
}
55+
56+
/** A valid models-as-data neutral kind. */
57+
class ValidNeutralKind extends string {
58+
ValidNeutralKind() {
59+
this =
60+
[
61+
// shared ALL languages
62+
"summary", "source", "sink"
63+
]
64+
}
65+
}

java/ql/lib/semmle/code/java/dataflow/SharedModelValidation.qll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Provides classes for validating kinds in models as data rows.
55
* Such that we can share this logic across our CodeQL analysis of different languages.
66
*/
7+
8+
/** A valid models-as-data sink kind. */
79
class ValidSinkKind extends string {
810
ValidSinkKind() {
911
this =
@@ -28,3 +30,36 @@ class ValidSinkKind extends string {
2830
]
2931
}
3032
}
33+
34+
/** A valid models-as-data source kind. */
35+
class ValidSourceKind extends string {
36+
ValidSourceKind() {
37+
this =
38+
[
39+
// shared ALL languages
40+
"remote", "local"
41+
]
42+
}
43+
}
44+
45+
/** A valid models-as-data summary kind. */
46+
class ValidSummaryKind extends string {
47+
ValidSummaryKind() {
48+
this =
49+
[
50+
// shared ALL languages
51+
"taint", "value"
52+
]
53+
}
54+
}
55+
56+
/** A valid models-as-data neutral kind. */
57+
class ValidNeutralKind extends string {
58+
ValidNeutralKind() {
59+
this =
60+
[
61+
// shared ALL languages
62+
"summary", "source", "sink"
63+
]
64+
}
65+
}

javascript/ql/lib/semmle/javascript/frameworks/data/internal/SharedModelValidation.qll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Provides classes for validating kinds in models as data rows.
55
* Such that we can share this logic across our CodeQL analysis of different languages.
66
*/
7+
8+
/** A valid models-as-data sink kind. */
79
class ValidSinkKind extends string {
810
ValidSinkKind() {
911
this =
@@ -28,3 +30,36 @@ class ValidSinkKind extends string {
2830
]
2931
}
3032
}
33+
34+
/** A valid models-as-data source kind. */
35+
class ValidSourceKind extends string {
36+
ValidSourceKind() {
37+
this =
38+
[
39+
// shared ALL languages
40+
"remote", "local"
41+
]
42+
}
43+
}
44+
45+
/** A valid models-as-data summary kind. */
46+
class ValidSummaryKind extends string {
47+
ValidSummaryKind() {
48+
this =
49+
[
50+
// shared ALL languages
51+
"taint", "value"
52+
]
53+
}
54+
}
55+
56+
/** A valid models-as-data neutral kind. */
57+
class ValidNeutralKind extends string {
58+
ValidNeutralKind() {
59+
this =
60+
[
61+
// shared ALL languages
62+
"summary", "source", "sink"
63+
]
64+
}
65+
}

python/ql/lib/semmle/python/frameworks/data/internal/SharedModelValidation.qll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Provides classes for validating kinds in models as data rows.
55
* Such that we can share this logic across our CodeQL analysis of different languages.
66
*/
7+
8+
/** A valid models-as-data sink kind. */
79
class ValidSinkKind extends string {
810
ValidSinkKind() {
911
this =
@@ -28,3 +30,36 @@ class ValidSinkKind extends string {
2830
]
2931
}
3032
}
33+
34+
/** A valid models-as-data source kind. */
35+
class ValidSourceKind extends string {
36+
ValidSourceKind() {
37+
this =
38+
[
39+
// shared ALL languages
40+
"remote", "local"
41+
]
42+
}
43+
}
44+
45+
/** A valid models-as-data summary kind. */
46+
class ValidSummaryKind extends string {
47+
ValidSummaryKind() {
48+
this =
49+
[
50+
// shared ALL languages
51+
"taint", "value"
52+
]
53+
}
54+
}
55+
56+
/** A valid models-as-data neutral kind. */
57+
class ValidNeutralKind extends string {
58+
ValidNeutralKind() {
59+
this =
60+
[
61+
// shared ALL languages
62+
"summary", "source", "sink"
63+
]
64+
}
65+
}

ruby/ql/lib/codeql/ruby/frameworks/data/internal/SharedModelValidation.qll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Provides classes for validating kinds in models as data rows.
55
* Such that we can share this logic across our CodeQL analysis of different languages.
66
*/
7+
8+
/** A valid models-as-data sink kind. */
79
class ValidSinkKind extends string {
810
ValidSinkKind() {
911
this =
@@ -28,3 +30,36 @@ class ValidSinkKind extends string {
2830
]
2931
}
3032
}
33+
34+
/** A valid models-as-data source kind. */
35+
class ValidSourceKind extends string {
36+
ValidSourceKind() {
37+
this =
38+
[
39+
// shared ALL languages
40+
"remote", "local"
41+
]
42+
}
43+
}
44+
45+
/** A valid models-as-data summary kind. */
46+
class ValidSummaryKind extends string {
47+
ValidSummaryKind() {
48+
this =
49+
[
50+
// shared ALL languages
51+
"taint", "value"
52+
]
53+
}
54+
}
55+
56+
/** A valid models-as-data neutral kind. */
57+
class ValidNeutralKind extends string {
58+
ValidNeutralKind() {
59+
this =
60+
[
61+
// shared ALL languages
62+
"summary", "source", "sink"
63+
]
64+
}
65+
}

swift/ql/lib/codeql/swift/dataflow/SharedModelValidation.qll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Provides classes for validating kinds in models as data rows.
55
* Such that we can share this logic across our CodeQL analysis of different languages.
66
*/
7+
8+
/** A valid models-as-data sink kind. */
79
class ValidSinkKind extends string {
810
ValidSinkKind() {
911
this =
@@ -28,3 +30,36 @@ class ValidSinkKind extends string {
2830
]
2931
}
3032
}
33+
34+
/** A valid models-as-data source kind. */
35+
class ValidSourceKind extends string {
36+
ValidSourceKind() {
37+
this =
38+
[
39+
// shared ALL languages
40+
"remote", "local"
41+
]
42+
}
43+
}
44+
45+
/** A valid models-as-data summary kind. */
46+
class ValidSummaryKind extends string {
47+
ValidSummaryKind() {
48+
this =
49+
[
50+
// shared ALL languages
51+
"taint", "value"
52+
]
53+
}
54+
}
55+
56+
/** A valid models-as-data neutral kind. */
57+
class ValidNeutralKind extends string {
58+
ValidNeutralKind() {
59+
this =
60+
[
61+
// shared ALL languages
62+
"summary", "source", "sink"
63+
]
64+
}
65+
}

0 commit comments

Comments
 (0)