Skip to content

Commit 0ec10e5

Browse files
committed
Rust: Corrections after the merge.
1 parent c2ddf25 commit 0ec10e5

File tree

6 files changed

+42
-2478
lines changed

6 files changed

+42
-2478
lines changed

rust/ql/lib/codeql/rust/frameworks/genericarray.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: summaryModel
4+
extensible: summaryModelDeprecated
55
data:
66
- ["repo:https://github.com/fizyk20/generic-array.git:generic-array", "<crate::GenericArray>::from_slice", "Argument[0].Reference", "ReturnValue.Reference", "value", "manual"]
77
- ["repo:https://github.com/fizyk20/generic-array.git:generic-array", "<crate::GenericArray>::from_mut_slice", "Argument[0].Reference", "ReturnValue.Reference", "value", "manual"]

rust/ql/lib/codeql/rust/frameworks/stdlib/lang-core.model.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
- ["lang:core", "crate::mem::zeroed", "ReturnValue.Element", "constant-source", "manual"]
77
- addsTo:
@@ -12,8 +12,6 @@ extensions:
1212
- ["lang:core", "<_ as crate::convert::Into>::into", "Argument[self].Element", "ReturnValue.Element", "taint", "manual"]
1313
- ["lang:core", "<_ as crate::convert::Into>::into", "Argument[self].Reference.Element", "ReturnValue.Element", "taint", "manual"]
1414
- ["lang:core", "<[_]>::align_to", "Argument[self].Element", "ReturnValue.Field[0,1,2].Reference.Element", "taint", "manual"]
15-
# Fmt
16-
- ["lang:alloc", "crate::fmt::format", "Argument[0]", "ReturnValue", "taint", "manual"]
1715
- addsTo:
1816
pack: codeql/rust-all
1917
extensible: summaryModel

rust/ql/lib/codeql/rust/security/HardcodedCryptographicValueExtensions.qll

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import rust
77
private import codeql.rust.dataflow.DataFlow
88
private import codeql.rust.dataflow.FlowSource
99
private import codeql.rust.dataflow.FlowSink
10+
private import codeql.rust.Concepts
1011
private import codeql.rust.security.SensitiveData
1112

1213
/**
@@ -44,7 +45,9 @@ module HardcodedCryptographicValue {
4445
/**
4546
* A data flow sink for hard-coded cryptographic value vulnerabilities.
4647
*/
47-
abstract class Sink extends DataFlow::Node {
48+
abstract class Sink extends QuerySink::Range {
49+
override string getSinkType() { result = "HardcodedCryptographicValue" }
50+
4851
/**
4952
* Gets the kind of credential this sink is interpreted as.
5053
*/

rust/ql/src/queries/summary/Stats.qll

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import rust
66
private import codeql.rust.dataflow.DataFlow
7+
private import codeql.rust.dataflow.internal.DataFlowImpl
78
private import codeql.rust.dataflow.internal.TaintTrackingImpl
89
private import codeql.rust.internal.AstConsistency as AstConsistency
910
private import codeql.rust.internal.PathResolutionConsistency as PathResolutionConsistency
@@ -16,15 +17,15 @@ private import codeql.rust.Diagnostics
1617
private import codeql.rust.security.SensitiveData
1718
private import TaintReach
1819
// import all query extensions files, so that all extensions of `QuerySink` are found
19-
private import codeql.rust.security.CleartextLoggingExtensions
20-
private import codeql.rust.security.HardcodedCryptographicValueExtensions
21-
private import codeql.rust.security.SqlInjectionExtensions
22-
private import codeql.rust.security.WeakSensitiveDataHashingExtensions
2320
private import codeql.rust.security.regex.RegexInjectionExtensions
2421
private import codeql.rust.security.AccessInvalidPointerExtensions
22+
private import codeql.rust.security.CleartextLoggingExtensions
2523
private import codeql.rust.security.CleartextTransmissionExtensions
24+
private import codeql.rust.security.SqlInjectionExtensions
2625
private import codeql.rust.security.TaintedPathExtensions
2726
private import codeql.rust.security.UncontrolledAllocationSizeExtensions
27+
private import codeql.rust.security.WeakSensitiveDataHashingExtensions
28+
private import codeql.rust.security.HardcodedCryptographicValueExtensions
2829

2930
/**
3031
* Gets a count of the total number of lines of code in the database.
@@ -91,17 +92,6 @@ int getTaintEdgesCount() {
9192
)
9293
}
9394

94-
/**
95-
* Gets a kind of query for which `n` is a sink (if any).
96-
*/
97-
string getAQuerySinkKind(DataFlow::Node n) {
98-
n instanceof SqlInjection::Sink and result = "SqlInjection"
99-
or
100-
n instanceof CleartextLogging::Sink and result = "CleartextLogging"
101-
or
102-
n instanceof HardcodedCryptographicValue::Sink and result = "HardcodedCryptographicValue"
103-
}
104-
10595
/**
10696
* Gets a count of the total number of query sinks in the database.
10797
*/

0 commit comments

Comments
 (0)