mirror of
https://github.com/github/codeql.git
synced 2026-06-26 15:17:06 +02:00
Compare commits
12 Commits
codeql-cli
...
copilot/up
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e6bc6612c | ||
|
|
5c2614283d | ||
|
|
7b800b1dd6 | ||
|
|
3d1b6b64ed | ||
|
|
5fcaac7cb2 | ||
|
|
336df3ccf4 | ||
|
|
456e33773b | ||
|
|
f7c4e61956 | ||
|
|
575ece6ae2 | ||
|
|
f6ed5c19be | ||
|
|
4298b70f1c | ||
|
|
e88b8c53f3 |
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/actions-all
|
name: codeql/actions-all
|
||||||
version: 0.4.38
|
version: 0.4.39-dev
|
||||||
library: true
|
library: true
|
||||||
warnOnImplicitThis: true
|
warnOnImplicitThis: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/actions-queries
|
name: codeql/actions-queries
|
||||||
version: 0.6.30
|
version: 0.6.31-dev
|
||||||
library: false
|
library: false
|
||||||
warnOnImplicitThis: true
|
warnOnImplicitThis: true
|
||||||
groups: [actions, queries]
|
groups: [actions, queries]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/cpp-all
|
name: codeql/cpp-all
|
||||||
version: 11.0.0
|
version: 11.0.1-dev
|
||||||
groups: cpp
|
groups: cpp
|
||||||
dbscheme: semmlecode.cpp.dbscheme
|
dbscheme: semmlecode.cpp.dbscheme
|
||||||
extractor: cpp
|
extractor: cpp
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/cpp-queries
|
name: codeql/cpp-queries
|
||||||
version: 1.6.5
|
version: 1.6.6-dev
|
||||||
groups:
|
groups:
|
||||||
- cpp
|
- cpp
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/csharp-solorigate-all
|
name: codeql/csharp-solorigate-all
|
||||||
version: 1.7.69
|
version: 1.7.70-dev
|
||||||
groups:
|
groups:
|
||||||
- csharp
|
- csharp
|
||||||
- solorigate
|
- solorigate
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/csharp-solorigate-queries
|
name: codeql/csharp-solorigate-queries
|
||||||
version: 1.7.69
|
version: 1.7.70-dev
|
||||||
groups:
|
groups:
|
||||||
- csharp
|
- csharp
|
||||||
- solorigate
|
- solorigate
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/csharp-all
|
name: codeql/csharp-all
|
||||||
version: 7.0.0
|
version: 7.0.1-dev
|
||||||
groups: csharp
|
groups: csharp
|
||||||
dbscheme: semmlecode.csharp.dbscheme
|
dbscheme: semmlecode.csharp.dbscheme
|
||||||
extractor: csharp
|
extractor: csharp
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/csharp-queries
|
name: codeql/csharp-queries
|
||||||
version: 1.7.5
|
version: 1.7.6-dev
|
||||||
groups:
|
groups:
|
||||||
- csharp
|
- csharp
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ class C
|
|||||||
void Problems()
|
void Problems()
|
||||||
{
|
{
|
||||||
// correct expectation comment, but only for `problem-query`
|
// correct expectation comment, but only for `problem-query`
|
||||||
var x = "Alert"; // $ Alert
|
var x = "Alert"; // $ Alert[problem-query]
|
||||||
|
|
||||||
// irrelevant expectation comment, will be ignored
|
// irrelevant expectation comment, will be ignored
|
||||||
x = "Not an alert"; // $ IrrelevantTag
|
x = "Not an alert"; // $ IrrelevantTag
|
||||||
|
|
||||||
// incorrect expectation comment
|
// incorrect expectation comment
|
||||||
x = "Also not an alert"; // $ Alert
|
x = "Also not an alert"; // $ MISSING: Alert[problem-query]
|
||||||
|
|
||||||
// missing expectation comment, but only for `problem-query`
|
// missing expectation comment, but only for `problem-query`
|
||||||
x = "Alert";
|
x = "Alert";
|
||||||
|
|||||||
@@ -13,8 +13,6 @@
|
|||||||
| InlineTests.cs:88:13:88:23 | "Alert:0:1" | InlineTests.cs:88:13:88:23 | "Alert:0:1" | InlineTests.cs:87:16:87:21 | "Sink" | This is a problem |
|
| InlineTests.cs:88:13:88:23 | "Alert:0:1" | InlineTests.cs:88:13:88:23 | "Alert:0:1" | InlineTests.cs:87:16:87:21 | "Sink" | This is a problem |
|
||||||
edges
|
edges
|
||||||
testFailures
|
testFailures
|
||||||
| InlineTests.cs:6:26:6:35 | // ... | Missing result: Alert |
|
|
||||||
| InlineTests.cs:12:34:12:43 | // ... | Missing result: Alert |
|
|
||||||
| InlineTests.cs:37:28:37:38 | // ... | Missing result: Source |
|
| InlineTests.cs:37:28:37:38 | // ... | Missing result: Source |
|
||||||
| InlineTests.cs:38:24:38:32 | // ... | Missing result: Sink |
|
| InlineTests.cs:38:24:38:32 | // ... | Missing result: Sink |
|
||||||
| InlineTests.cs:39:33:39:42 | // ... | Missing result: Alert |
|
| InlineTests.cs:39:33:39:42 | // ... | Missing result: Alert |
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
| InlineTests.cs:100:13:100:25 | "Alert:3:2:1" | InlineTests.cs:97:18:97:25 | "Source" | InlineTests.cs:98:16:98:21 | "Sink" | This is a problem with $@ | InlineTests.cs:99:19:99:27 | "Related" | a related location |
|
| InlineTests.cs:100:13:100:25 | "Alert:3:2:1" | InlineTests.cs:97:18:97:25 | "Source" | InlineTests.cs:98:16:98:21 | "Sink" | This is a problem with $@ | InlineTests.cs:99:19:99:27 | "Related" | a related location |
|
||||||
edges
|
edges
|
||||||
testFailures
|
testFailures
|
||||||
| InlineTests.cs:6:26:6:35 | // ... | Missing result: Alert |
|
|
||||||
| InlineTests.cs:12:34:12:43 | // ... | Missing result: Alert |
|
|
||||||
| InlineTests.cs:32:32:32:42 | // ... | Missing result: Source |
|
| InlineTests.cs:32:32:32:42 | // ... | Missing result: Source |
|
||||||
| InlineTests.cs:33:28:33:36 | // ... | Missing result: Sink |
|
| InlineTests.cs:33:28:33:36 | // ... | Missing result: Sink |
|
||||||
| InlineTests.cs:34:30:34:39 | // ... | Missing result: Alert |
|
| InlineTests.cs:34:30:34:39 | // ... | Missing result: Alert |
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
| InlineTests.cs:15:13:15:19 | "Alert" | This is a problem |
|
| InlineTests.cs:15:13:15:19 | "Alert" | This is a problem |
|
||||||
| InlineTests.cs:18:13:18:19 | "Alert" | This is a problem |
|
| InlineTests.cs:18:13:18:19 | "Alert" | This is a problem |
|
||||||
testFailures
|
testFailures
|
||||||
| InlineTests.cs:12:34:12:43 | // ... | Missing result: Alert |
|
|
||||||
| InlineTests.cs:15:13:15:19 | This is a problem | Unexpected result: Alert |
|
| InlineTests.cs:15:13:15:19 | This is a problem | Unexpected result: Alert |
|
||||||
| InlineTests.cs:34:30:34:39 | // ... | Missing result: Alert |
|
| InlineTests.cs:34:30:34:39 | // ... | Missing result: Alert |
|
||||||
| InlineTests.cs:39:33:39:42 | // ... | Missing result: Alert |
|
| InlineTests.cs:39:33:39:42 | // ... | Missing result: Alert |
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
| InlineTests.cs:22:13:22:21 | "Alert:1" | This is a problem with $@ | InlineTests.cs:21:23:21:31 | "Related" | a related location |
|
| InlineTests.cs:22:13:22:21 | "Alert:1" | This is a problem with $@ | InlineTests.cs:21:23:21:31 | "Related" | a related location |
|
||||||
| InlineTests.cs:26:13:26:21 | "Alert:1" | This is a problem with $@ | InlineTests.cs:25:19:25:27 | "Related" | a related location |
|
| InlineTests.cs:26:13:26:21 | "Alert:1" | This is a problem with $@ | InlineTests.cs:25:19:25:27 | "Related" | a related location |
|
||||||
testFailures
|
testFailures
|
||||||
| InlineTests.cs:6:26:6:35 | // ... | Missing result: Alert |
|
|
||||||
| InlineTests.cs:12:34:12:43 | // ... | Missing result: Alert |
|
|
||||||
| InlineTests.cs:25:19:25:27 | "Related" | Unexpected result: RelatedLocation |
|
| InlineTests.cs:25:19:25:27 | "Related" | Unexpected result: RelatedLocation |
|
||||||
| InlineTests.cs:34:30:34:39 | // ... | Missing result: Alert |
|
| InlineTests.cs:34:30:34:39 | // ... | Missing result: Alert |
|
||||||
| InlineTests.cs:39:33:39:42 | // ... | Missing result: Alert |
|
| InlineTests.cs:39:33:39:42 | // ... | Missing result: Alert |
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ toolchain go1.26.4
|
|||||||
// bazel mod tidy
|
// bazel mod tidy
|
||||||
require (
|
require (
|
||||||
golang.org/x/mod v0.37.0
|
golang.org/x/mod v0.37.0
|
||||||
golang.org/x/tools v0.46.0
|
golang.org/x/tools v0.47.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require github.com/stretchr/testify v1.11.1
|
require github.com/stretchr/testify v1.11.1
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ=
|
|||||||
golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0=
|
golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0=
|
||||||
golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM=
|
golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM=
|
||||||
golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
|
golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
|
||||||
golang.org/x/tools v0.46.0 h1:7jTurBkPZu4moS/Uy4OQT1M+QBlsj3wejyZwsT8Z7rk=
|
golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q=
|
||||||
golang.org/x/tools v0.46.0/go.mod h1:FrD85F8l+NWL+9XWBSyVSHO6Ne4jutsfIFba7AWQ5Ys=
|
golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql-go-consistency-queries
|
name: codeql-go-consistency-queries
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups:
|
groups:
|
||||||
- go
|
- go
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/go-all
|
name: codeql/go-all
|
||||||
version: 7.2.0
|
version: 7.2.1-dev
|
||||||
groups: go
|
groups: go
|
||||||
dbscheme: go.dbscheme
|
dbscheme: go.dbscheme
|
||||||
extractor: go
|
extractor: go
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/go-queries
|
name: codeql/go-queries
|
||||||
version: 1.6.5
|
version: 1.6.6-dev
|
||||||
groups:
|
groups:
|
||||||
- go
|
- go
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/java-all
|
name: codeql/java-all
|
||||||
version: 9.2.0
|
version: 9.2.1-dev
|
||||||
groups: java
|
groups: java
|
||||||
dbscheme: config/semmlecode.dbscheme
|
dbscheme: config/semmlecode.dbscheme
|
||||||
extractor: java
|
extractor: java
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/java-queries
|
name: codeql/java-queries
|
||||||
version: 1.11.5
|
version: 1.11.6-dev
|
||||||
groups:
|
groups:
|
||||||
- java
|
- java
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -30,7 +30,5 @@ nodes
|
|||||||
| BadMacUse.java:152:42:152:51 | ciphertext | semmle.label | ciphertext |
|
| BadMacUse.java:152:42:152:51 | ciphertext | semmle.label | ciphertext |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
testFailures
|
||||||
| BadMacUse.java:50:56:50:66 | // $ Source | Missing result: Source |
|
|
||||||
| BadMacUse.java:63:118:63:128 | // $ Source | Missing result: Source |
|
|
||||||
| BadMacUse.java:92:31:92:35 | bytes : byte[] | Unexpected result: Source |
|
| BadMacUse.java:92:31:92:35 | bytes : byte[] | Unexpected result: Source |
|
||||||
| BadMacUse.java:146:95:146:105 | // $ Source | Missing result: Source |
|
| BadMacUse.java:146:95:146:105 | // $ Source | Missing result: Source |
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ nodes
|
|||||||
| BadMacUse.java:124:42:124:51 | ciphertext | semmle.label | ciphertext |
|
| BadMacUse.java:124:42:124:51 | ciphertext | semmle.label | ciphertext |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
testFailures
|
||||||
| BadMacUse.java:63:118:63:128 | // $ Source | Missing result: Source |
|
| BadMacUse.java:50:28:50:53 | doFinal(...) : byte[] | Fixed missing result: Source |
|
||||||
| BadMacUse.java:92:16:92:36 | doFinal(...) : byte[] | Unexpected result: Source |
|
| BadMacUse.java:92:16:92:36 | doFinal(...) : byte[] | Unexpected result: Source |
|
||||||
| BadMacUse.java:124:42:124:51 | ciphertext | Unexpected result: Alert |
|
| BadMacUse.java:124:42:124:51 | ciphertext | Unexpected result: Alert |
|
||||||
| BadMacUse.java:146:95:146:105 | // $ Source | Missing result: Source |
|
| BadMacUse.java:146:95:146:105 | // $ Source | Missing result: Source |
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ nodes
|
|||||||
| BadMacUse.java:152:42:152:51 | ciphertext | semmle.label | ciphertext |
|
| BadMacUse.java:152:42:152:51 | ciphertext | semmle.label | ciphertext |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
testFailures
|
||||||
| BadMacUse.java:50:56:50:66 | // $ Source | Missing result: Source |
|
| BadMacUse.java:63:82:63:97 | plaintext : byte[] | Fixed missing result: Source |
|
||||||
| BadMacUse.java:139:79:139:90 | input : byte[] | Unexpected result: Source |
|
| BadMacUse.java:139:79:139:90 | input : byte[] | Unexpected result: Source |
|
||||||
| BadMacUse.java:146:95:146:105 | // $ Source | Missing result: Source |
|
| BadMacUse.java:146:95:146:105 | // $ Source | Missing result: Source |
|
||||||
| BadMacUse.java:152:42:152:51 | ciphertext | Unexpected result: Alert |
|
| BadMacUse.java:152:42:152:51 | ciphertext | Unexpected result: Alert |
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class BadMacUse {
|
|||||||
SecretKey encryptionKey = new SecretKeySpec(encryptionKeyBytes, "AES");
|
SecretKey encryptionKey = new SecretKeySpec(encryptionKeyBytes, "AES");
|
||||||
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
|
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
|
||||||
cipher.init(Cipher.DECRYPT_MODE, encryptionKey, new SecureRandom());
|
cipher.init(Cipher.DECRYPT_MODE, encryptionKey, new SecureRandom());
|
||||||
byte[] plaintext = cipher.doFinal(ciphertext); // $ Source
|
byte[] plaintext = cipher.doFinal(ciphertext); // $ MISSING: Source
|
||||||
|
|
||||||
// Now verify MAC (too late)
|
// Now verify MAC (too late)
|
||||||
SecretKey macKey = new SecretKeySpec(macKeyBytes, "HmacSHA256");
|
SecretKey macKey = new SecretKeySpec(macKeyBytes, "HmacSHA256");
|
||||||
@@ -60,7 +60,7 @@ class BadMacUse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BadMacOnPlaintext(byte[] encryptionKeyBytes, byte[] macKeyBytes, byte[] plaintext) throws Exception {// $ Source
|
public void BadMacOnPlaintext(byte[] encryptionKeyBytes, byte[] macKeyBytes, byte[] plaintext) throws Exception {// $ MISSING: Source
|
||||||
// Create keys directly from provided byte arrays
|
// Create keys directly from provided byte arrays
|
||||||
SecretKey encryptionKey = new SecretKeySpec(encryptionKeyBytes, "AES");
|
SecretKey encryptionKey = new SecretKeySpec(encryptionKeyBytes, "AES");
|
||||||
SecretKey macKey = new SecretKeySpec(macKeyBytes, "HmacSHA256");
|
SecretKey macKey = new SecretKeySpec(macKeyBytes, "HmacSHA256");
|
||||||
|
|||||||
@@ -126,5 +126,3 @@ nodes
|
|||||||
| InsecureIVorNonceSource.java:202:54:202:55 | iv : byte[] | semmle.label | iv : byte[] |
|
| InsecureIVorNonceSource.java:202:54:202:55 | iv : byte[] | semmle.label | iv : byte[] |
|
||||||
| InsecureIVorNonceSource.java:206:51:206:56 | ivSpec | semmle.label | ivSpec |
|
| InsecureIVorNonceSource.java:206:51:206:56 | ivSpec | semmle.label | ivSpec |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
|
||||||
| InsecureIVorNonceSource.java:42:21:42:21 | 1 : Number | Unexpected result: Source |
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ public class InsecureIVorNonceSource {
|
|||||||
public byte[] encryptWithStaticIvByteArray(byte[] key, byte[] plaintext) throws Exception {
|
public byte[] encryptWithStaticIvByteArray(byte[] key, byte[] plaintext) throws Exception {
|
||||||
byte[] iv = new byte[16];
|
byte[] iv = new byte[16];
|
||||||
for (byte i = 0; i < iv.length; i++) {
|
for (byte i = 0; i < iv.length; i++) {
|
||||||
iv[i] = 1;
|
iv[i] = 1; // $ Source
|
||||||
}
|
}
|
||||||
|
|
||||||
IvParameterSpec ivSpec = new IvParameterSpec(iv);
|
IvParameterSpec ivSpec = new IvParameterSpec(iv);
|
||||||
|
|||||||
@@ -40,11 +40,11 @@ public class Test {
|
|||||||
* SAST/CBOM: - Parent: PBKDF2. - Iteration count is only 10, which is far
|
* SAST/CBOM: - Parent: PBKDF2. - Iteration count is only 10, which is far
|
||||||
* below acceptable security standards. - Flagged as insecure.
|
* below acceptable security standards. - Flagged as insecure.
|
||||||
*/
|
*/
|
||||||
public void pbkdf2LowIteration(String password, int iterationCount) throws Exception { // $ Source
|
public void pbkdf2LowIteration(String password, int iterationCount) throws Exception { // $ MISSING: Source
|
||||||
byte[] salt = generateSalt(16);
|
byte[] salt = generateSalt(16);
|
||||||
PBEKeySpec spec = new PBEKeySpec(password.toCharArray(), salt, iterationCount, 256); // $ Alert[java/quantum/examples/unknown-kdf-iteration-count]
|
PBEKeySpec spec = new PBEKeySpec(password.toCharArray(), salt, iterationCount, 256);
|
||||||
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
|
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
|
||||||
byte[] key = factory.generateSecret(spec).getEncoded();
|
byte[] key = factory.generateSecret(spec).getEncoded(); // $ Alert[java/quantum/examples/unknown-kdf-iteration-count]
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,5 +1 @@
|
|||||||
#select
|
|
||||||
| Test.java:47:22:47:49 | KeyDerivation | Key derivation operation with unknown iteration: $@ | Test.java:43:53:43:70 | iterationCount | iterationCount |
|
| Test.java:47:22:47:49 | KeyDerivation | Key derivation operation with unknown iteration: $@ | Test.java:43:53:43:70 | iterationCount | iterationCount |
|
||||||
testFailures
|
|
||||||
| Test.java:45:94:45:154 | // $ Alert[java/quantum/examples/unknown-kdf-iteration-count] | Missing result: Alert[java/quantum/examples/unknown-kdf-iteration-count] |
|
|
||||||
| Test.java:47:22:47:49 | Key derivation operation with unknown iteration: $@ | Unexpected result: Alert |
|
|
||||||
|
|||||||
@@ -12,5 +12,3 @@ nodes
|
|||||||
| Test.java:58:30:58:38 | 1_000_000 : Number | semmle.label | 1_000_000 : Number |
|
| Test.java:58:30:58:38 | 1_000_000 : Number | semmle.label | 1_000_000 : Number |
|
||||||
| Test.java:59:72:59:85 | iterationCount | semmle.label | iterationCount |
|
| Test.java:59:72:59:85 | iterationCount | semmle.label | iterationCount |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
|
||||||
| Test.java:43:92:43:102 | // $ Source | Missing result: Source |
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/javascript-all
|
name: codeql/javascript-all
|
||||||
version: 2.8.0
|
version: 2.8.1-dev
|
||||||
groups: javascript
|
groups: javascript
|
||||||
dbscheme: semmlecode.javascript.dbscheme
|
dbscheme: semmlecode.javascript.dbscheme
|
||||||
extractor: javascript
|
extractor: javascript
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/javascript-queries
|
name: codeql/javascript-queries
|
||||||
version: 2.4.0
|
version: 2.4.1-dev
|
||||||
groups:
|
groups:
|
||||||
- javascript
|
- javascript
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name: codeql/suite-helpers
|
name: codeql/suite-helpers
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
warnOnImplicitThis: true
|
warnOnImplicitThis: true
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
category: minorAnalysis
|
||||||
|
---
|
||||||
|
* `Flask::FlaskApp::instance()` will now also return instances of subclasses defined in the source tree. Previously, these were filtered out. `Flask::FlaskApp::classRef()` has been deprecated in favor of `Flask::FlaskApp::subclassRef()` since it already returned some subclasses.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/python-all
|
name: codeql/python-all
|
||||||
version: 7.2.0
|
version: 7.2.1-dev
|
||||||
groups: python
|
groups: python
|
||||||
dbscheme: semmlecode.python.dbscheme
|
dbscheme: semmlecode.python.dbscheme
|
||||||
extractor: python
|
extractor: python
|
||||||
|
|||||||
@@ -71,14 +71,21 @@ module Flask {
|
|||||||
* See https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.
|
* See https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.
|
||||||
*/
|
*/
|
||||||
module FlaskApp {
|
module FlaskApp {
|
||||||
/** Gets a reference to the `flask.Flask` class. */
|
/**
|
||||||
API::Node classRef() {
|
* Gets a reference to the `flask.Flask` class or any subclass.
|
||||||
result = API::moduleImport("flask").getMember("Flask") or
|
*
|
||||||
|
* Deprecated: Use `subclassRef()` instead, this predicate always returned some subclasses.
|
||||||
|
*/
|
||||||
|
deprecated API::Node classRef() { result = subclassRef() }
|
||||||
|
|
||||||
|
/** Gets a reference to the `flask.Flask` class or any subclass. */
|
||||||
|
API::Node subclassRef() {
|
||||||
|
result = API::moduleImport("flask").getMember("Flask").getASubclass*() or
|
||||||
result = ModelOutput::getATypeNode("flask.Flask~Subclass").getASubclass*()
|
result = ModelOutput::getATypeNode("flask.Flask~Subclass").getASubclass*()
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a reference to an instance of `flask.Flask` (a flask application). */
|
/** Gets a reference to an instance of `flask.Flask` (a flask application). */
|
||||||
API::Node instance() { result = classRef().getReturn() }
|
API::Node instance() { result = subclassRef().getReturn() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -132,7 +139,7 @@ module Flask {
|
|||||||
API::Node classRef() {
|
API::Node classRef() {
|
||||||
result = API::moduleImport("flask").getMember("Response")
|
result = API::moduleImport("flask").getMember("Response")
|
||||||
or
|
or
|
||||||
result = [FlaskApp::classRef(), FlaskApp::instance()].getMember("response_class")
|
result = [FlaskApp::subclassRef(), FlaskApp::instance()].getMember("response_class")
|
||||||
or
|
or
|
||||||
result = ModelOutput::getATypeNode("flask.Response~Subclass").getASubclass*()
|
result = ModelOutput::getATypeNode("flask.Response~Subclass").getASubclass*()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ class DjangoHttpRequest extends FindSubclassesSpec {
|
|||||||
class FlaskClass extends FindSubclassesSpec {
|
class FlaskClass extends FindSubclassesSpec {
|
||||||
FlaskClass() { this = "flask.Flask~Subclass" }
|
FlaskClass() { this = "flask.Flask~Subclass" }
|
||||||
|
|
||||||
override API::Node getAlreadyModeledClass() { result = Flask::FlaskApp::classRef() }
|
override API::Node getAlreadyModeledClass() { result = Flask::FlaskApp::subclassRef() }
|
||||||
}
|
}
|
||||||
|
|
||||||
class FlaskBlueprint extends FindSubclassesSpec {
|
class FlaskBlueprint extends FindSubclassesSpec {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/python-queries
|
name: codeql/python-queries
|
||||||
version: 1.8.5
|
version: 1.8.6-dev
|
||||||
groups:
|
groups:
|
||||||
- python
|
- python
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
29
python/ql/test/experimental/meta/InlineInstanceTest.qll
Normal file
29
python/ql/test/experimental/meta/InlineInstanceTest.qll
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
/**
|
||||||
|
* Defines an InlineExpectationsTest for class instances, that is,
|
||||||
|
* for any API::Node that is an instance of a class (e.g. `Flask`).
|
||||||
|
*/
|
||||||
|
|
||||||
|
import python
|
||||||
|
import semmle.python.ApiGraphs
|
||||||
|
import utils.test.InlineExpectationsTest
|
||||||
|
private import semmle.python.dataflow.new.internal.PrintNode
|
||||||
|
|
||||||
|
signature API::Node getInstanceSig();
|
||||||
|
|
||||||
|
module MakeInlineInstanceTest<getInstanceSig/0 getInstance> {
|
||||||
|
private module InlineInstanceTest implements TestSig {
|
||||||
|
string getARelevantTag() { result = "instance" }
|
||||||
|
|
||||||
|
predicate hasActualResult(Location location, string element, string tag, string value) {
|
||||||
|
exists(location.getFile().getRelativePath()) and
|
||||||
|
exists(API::Node instance | instance = getInstance() |
|
||||||
|
location = instance.getLocation() and
|
||||||
|
element = prettyNode(instance.asSource()) and
|
||||||
|
value = "" and
|
||||||
|
tag = "instance"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
import MakeTest<InlineInstanceTest>
|
||||||
|
}
|
||||||
@@ -3,5 +3,5 @@ argumentToEnsureNotTaintedNotMarkedAsSpurious
|
|||||||
untaintedArgumentToEnsureTaintedNotMarkedAsMissing
|
untaintedArgumentToEnsureTaintedNotMarkedAsMissing
|
||||||
| taint_test.py:32:9:32:25 | taint_test.py:32 | ERROR, you should add `# $ MISSING: tainted` annotation | should_be_tainted |
|
| taint_test.py:32:9:32:25 | taint_test.py:32 | ERROR, you should add `# $ MISSING: tainted` annotation | should_be_tainted |
|
||||||
| taint_test.py:37:24:37:40 | taint_test.py:37 | ERROR, you should add `# $ MISSING: tainted` annotation | should_be_tainted |
|
| taint_test.py:37:24:37:40 | taint_test.py:37 | ERROR, you should add `# $ MISSING: tainted` annotation | should_be_tainted |
|
||||||
|
| taint_test.py:41:24:41:40 | taint_test.py:41 | ERROR, you should add `# $ MISSING: tainted` annotation | should_be_tainted |
|
||||||
testFailures
|
testFailures
|
||||||
| taint_test.py:41:20:41:21 | ts | Fixed missing result: tainted |
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ def bad_usage():
|
|||||||
|
|
||||||
# if you try to get around it by adding BOTH annotations, that results in a problem
|
# if you try to get around it by adding BOTH annotations, that results in a problem
|
||||||
# from the default set of inline-test-expectation rules
|
# from the default set of inline-test-expectation rules
|
||||||
ensure_tainted(ts, should_be_tainted) # $ tainted MISSING: tainted
|
ensure_tainted(ts, should_be_tainted) # $ tainted
|
||||||
|
|
||||||
# simulating handling something we _want_ to treat at untainted, but we currently treat as tainted
|
# simulating handling something we _want_ to treat at untainted, but we currently treat as tainted
|
||||||
should_not_be_tainted = "pretend this is now safe" + ts
|
should_not_be_tainted = "pretend this is now safe" + ts
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import python
|
||||||
|
import semmle.python.frameworks.Flask
|
||||||
|
import semmle.python.ApiGraphs
|
||||||
|
import experimental.meta.InlineInstanceTest
|
||||||
|
|
||||||
|
API::Node getInstance() { result = Flask::FlaskApp::instance() }
|
||||||
|
|
||||||
|
import MakeInlineInstanceTest<getInstance/0>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
from flask import Flask
|
||||||
|
|
||||||
|
|
||||||
|
class Sub(Flask):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
Flask.__init__(self, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
app = Sub(__name__) # $ instance
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/") # $ routeSetup="/"
|
||||||
|
def hello(): # $ requestHandler
|
||||||
|
return "world" # $ HttpResponse
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import flask
|
import flask
|
||||||
|
|
||||||
from flask import Flask, request, make_response
|
from flask import Flask, request, make_response
|
||||||
app = Flask(__name__)
|
app = Flask(__name__) # $ instance
|
||||||
|
|
||||||
@app.route("/") # $ routeSetup="/"
|
@app.route("/") # $ routeSetup="/"
|
||||||
def hello_world(): # $ requestHandler
|
def hello_world(): # $ requestHandler
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import json
|
|||||||
from flask import Flask, make_response, jsonify, Response, request, redirect
|
from flask import Flask, make_response, jsonify, Response, request, redirect
|
||||||
from werkzeug.datastructures import Headers
|
from werkzeug.datastructures import Headers
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__) # $ instance
|
||||||
|
|
||||||
|
|
||||||
@app.route("/html1") # $ routeSetup="/html1"
|
@app.route("/html1") # $ routeSetup="/html1"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import flask
|
import flask
|
||||||
|
|
||||||
from flask import Flask, make_response
|
from flask import Flask, make_response
|
||||||
app = Flask(__name__)
|
app = Flask(__name__) # $ instance
|
||||||
|
|
||||||
|
|
||||||
SOME_ROUTE = "/some/route"
|
SOME_ROUTE = "/some/route"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from flask import Flask, request
|
from flask import Flask, request
|
||||||
app = Flask(__name__)
|
app = Flask(__name__) # $ instance
|
||||||
|
|
||||||
@app.route("/save-uploaded-file") # $ routeSetup="/save-uploaded-file"
|
@app.route("/save-uploaded-file") # $ routeSetup="/save-uploaded-file"
|
||||||
def test_taint(): # $ requestHandler
|
def test_taint(): # $ requestHandler
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from flask import Flask, request, render_template_string, stream_template_string
|
from flask import Flask, request, render_template_string, stream_template_string
|
||||||
app = Flask(__name__)
|
app = Flask(__name__) # $ instance
|
||||||
|
|
||||||
@app.route("/test_taint/<name>/<int:number>") # $ routeSetup="/test_taint/<name>/<int:number>"
|
@app.route("/test_taint/<name>/<int:number>") # $ routeSetup="/test_taint/<name>/<int:number>"
|
||||||
def test_taint(name = "World!", number="0", foo="foo"): # $ requestHandler routedParameter=name routedParameter=number
|
def test_taint(name = "World!", number="0", foo="foo"): # $ requestHandler routedParameter=name routedParameter=number
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from flask import Flask, Response, stream_with_context, render_template_string, stream_template_string
|
from flask import Flask, Response, stream_with_context, render_template_string, stream_template_string
|
||||||
app = Flask(__name__)
|
app = Flask(__name__) # $ instance
|
||||||
|
|
||||||
@app.route("/a") # $ routeSetup="/a"
|
@app.route("/a") # $ routeSetup="/a"
|
||||||
def a(): # $ requestHandler
|
def a(): # $ requestHandler
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/ruby-all
|
name: codeql/ruby-all
|
||||||
version: 6.0.0
|
version: 6.0.1-dev
|
||||||
groups: ruby
|
groups: ruby
|
||||||
extractor: ruby
|
extractor: ruby
|
||||||
dbscheme: ruby.dbscheme
|
dbscheme: ruby.dbscheme
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/ruby-queries
|
name: codeql/ruby-queries
|
||||||
version: 1.6.5
|
version: 1.6.6-dev
|
||||||
groups:
|
groups:
|
||||||
- ruby
|
- ruby
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ nodes
|
|||||||
| string_flow.rb:227:10:227:10 | a | semmle.label | a |
|
| string_flow.rb:227:10:227:10 | a | semmle.label | a |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
testFailures
|
||||||
| string_flow.rb:85:10:85:10 | a | Unexpected result: hasValueFlow=a |
|
|
||||||
| string_flow.rb:227:10:227:10 | a | Unexpected result: hasValueFlow=a |
|
| string_flow.rb:227:10:227:10 | a | Unexpected result: hasValueFlow=a |
|
||||||
#select
|
#select
|
||||||
| string_flow.rb:3:10:3:22 | call to new | string_flow.rb:2:9:2:18 | call to source | string_flow.rb:3:10:3:22 | call to new | $@ | string_flow.rb:2:9:2:18 | call to source | call to source |
|
| string_flow.rb:3:10:3:22 | call to new | string_flow.rb:2:9:2:18 | call to source | string_flow.rb:3:10:3:22 | call to new | $@ | string_flow.rb:2:9:2:18 | call to source | call to source |
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ end
|
|||||||
def m_clear
|
def m_clear
|
||||||
a = source "a"
|
a = source "a"
|
||||||
a.clear
|
a.clear
|
||||||
sink a
|
sink a # $ hasValueFlow=a
|
||||||
end
|
end
|
||||||
|
|
||||||
# concat and prepend omitted because they clash with the summaries for
|
# concat and prepend omitted because they clash with the summaries for
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class OneController < ActionController::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def c
|
def c
|
||||||
sink @foo
|
sink @foo # $ hasTaintFlow
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -270,7 +270,6 @@ nodes
|
|||||||
| params_flow.rb:205:10:205:10 | a | semmle.label | a |
|
| params_flow.rb:205:10:205:10 | a | semmle.label | a |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
testFailures
|
||||||
| filter_flow.rb:21:10:21:13 | @foo | Unexpected result: hasTaintFlow |
|
|
||||||
| filter_flow.rb:38:10:38:13 | @foo | Unexpected result: hasTaintFlow |
|
| filter_flow.rb:38:10:38:13 | @foo | Unexpected result: hasTaintFlow |
|
||||||
| filter_flow.rb:55:10:55:13 | @foo | Unexpected result: hasTaintFlow |
|
| filter_flow.rb:55:10:55:13 | @foo | Unexpected result: hasTaintFlow |
|
||||||
| filter_flow.rb:71:10:71:17 | call to bar | Unexpected result: hasTaintFlow |
|
| filter_flow.rb:71:10:71:17 | call to bar | Unexpected result: hasTaintFlow |
|
||||||
|
|||||||
@@ -497,7 +497,6 @@ nodes
|
|||||||
| hash_extensions.rb:126:10:126:19 | call to sole | semmle.label | call to sole |
|
| hash_extensions.rb:126:10:126:19 | call to sole | semmle.label | call to sole |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
testFailures
|
||||||
| hash_extensions.rb:126:10:126:19 | call to sole | Unexpected result: hasValueFlow=b |
|
|
||||||
#select
|
#select
|
||||||
| active_support.rb:182:10:182:13 | ...[...] | active_support.rb:180:10:180:17 | call to source | active_support.rb:182:10:182:13 | ...[...] | $@ | active_support.rb:180:10:180:17 | call to source | call to source |
|
| active_support.rb:182:10:182:13 | ...[...] | active_support.rb:180:10:180:17 | call to source | active_support.rb:182:10:182:13 | ...[...] | $@ | active_support.rb:180:10:180:17 | call to source | call to source |
|
||||||
| active_support.rb:188:10:188:13 | ...[...] | active_support.rb:186:10:186:18 | call to source | active_support.rb:188:10:188:13 | ...[...] | $@ | active_support.rb:186:10:186:18 | call to source | call to source |
|
| active_support.rb:188:10:188:13 | ...[...] | active_support.rb:186:10:186:18 | call to source | active_support.rb:188:10:188:13 | ...[...] | $@ | active_support.rb:186:10:186:18 | call to source | call to source |
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ def m_sole
|
|||||||
multi = [source("b"), source("c")]
|
multi = [source("b"), source("c")]
|
||||||
sink(empty.sole)
|
sink(empty.sole)
|
||||||
sink(single.sole) # $ hasValueFlow=a
|
sink(single.sole) # $ hasValueFlow=a
|
||||||
sink(multi.sole) # TODO: model that 'sole' does not return if the receiver has multiple elements
|
sink(multi.sole) # $ hasValueFlow=b # TODO: model that 'sole' does not return if the receiver has multiple elements
|
||||||
end
|
end
|
||||||
|
|
||||||
m_sole()
|
m_sole()
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ nodes
|
|||||||
| views/index.erb:2:10:2:12 | call to foo | semmle.label | call to foo |
|
| views/index.erb:2:10:2:12 | call to foo | semmle.label | call to foo |
|
||||||
subpaths
|
subpaths
|
||||||
testFailures
|
testFailures
|
||||||
| views/index.erb:2:10:2:12 | call to foo | Unexpected result: hasTaintFlow |
|
|
||||||
#select
|
#select
|
||||||
| app.rb:95:10:95:14 | @user | app.rb:103:13:103:22 | call to source | app.rb:95:10:95:14 | @user | $@ | app.rb:103:13:103:22 | call to source | call to source |
|
| app.rb:95:10:95:14 | @user | app.rb:103:13:103:22 | call to source | app.rb:95:10:95:14 | @user | $@ | app.rb:103:13:103:22 | call to source | call to source |
|
||||||
| views/index.erb:2:10:2:12 | call to foo | app.rb:75:12:75:17 | call to params | views/index.erb:2:10:2:12 | call to foo | $@ | app.rb:75:12:75:17 | call to params | call to params |
|
| views/index.erb:2:10:2:12 | call to foo | app.rb:75:12:75:17 | call to params | views/index.erb:2:10:2:12 | call to foo | $@ | app.rb:75:12:75:17 | call to params | call to params |
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
<%= @foo %>
|
<%= @foo %>
|
||||||
<%= sink foo %>
|
<%= sink foo # $ hasTaintFlow %>
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
testFailures
|
testFailures
|
||||||
| improper_memoization.rb:100:1:104:3 | m14 | Unexpected result: result=BAD |
|
|
||||||
#select
|
#select
|
||||||
| improper_memoization.rb:50:1:55:3 | m7 | improper_memoization.rb:50:8:50:10 | arg | improper_memoization.rb:51:3:53:5 | ... \|\|= ... |
|
| improper_memoization.rb:50:1:55:3 | m7 | improper_memoization.rb:50:8:50:10 | arg | improper_memoization.rb:51:3:53:5 | ... \|\|= ... |
|
||||||
| improper_memoization.rb:58:1:63:3 | m8 | improper_memoization.rb:58:8:58:10 | arg | improper_memoization.rb:59:3:61:5 | ... \|\|= ... |
|
| improper_memoization.rb:58:1:63:3 | m8 | improper_memoization.rb:58:8:58:10 | arg | improper_memoization.rb:59:3:61:5 | ... \|\|= ... |
|
||||||
|
|||||||
@@ -101,4 +101,4 @@ def m14(arg)
|
|||||||
@m14 ||= {}
|
@m14 ||= {}
|
||||||
key = "foo/#{arg}"
|
key = "foo/#{arg}"
|
||||||
@m14[key] ||= long_running_method(arg)
|
@m14[key] ||= long_running_method(arg)
|
||||||
end
|
end # $ SPURIOUS: result=BAD
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/rust-all
|
name: codeql/rust-all
|
||||||
version: 0.2.16
|
version: 0.2.17-dev
|
||||||
groups: rust
|
groups: rust
|
||||||
extractor: rust
|
extractor: rust
|
||||||
dbscheme: rust.dbscheme
|
dbscheme: rust.dbscheme
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/rust-queries
|
name: codeql/rust-queries
|
||||||
version: 0.1.37
|
version: 0.1.38-dev
|
||||||
groups:
|
groups:
|
||||||
- rust
|
- rust
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/concepts
|
name: codeql/concepts
|
||||||
version: 0.0.26
|
version: 0.0.27-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/controlflow
|
name: codeql/controlflow
|
||||||
version: 2.0.36
|
version: 2.0.37-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/dataflow
|
name: codeql/dataflow
|
||||||
version: 2.1.8
|
version: 2.1.9-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/mad
|
name: codeql/mad
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/namebinding
|
name: codeql/namebinding
|
||||||
version: 0.0.1
|
version: 0.0.2-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/quantum
|
name: codeql/quantum
|
||||||
version: 0.0.30
|
version: 0.0.31-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/rangeanalysis
|
name: codeql/rangeanalysis
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/regex
|
name: codeql/regex
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/ssa
|
name: codeql/ssa
|
||||||
version: 2.0.28
|
version: 2.0.29-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/threat-models
|
name: codeql/threat-models
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
library: true
|
library: true
|
||||||
groups: shared
|
groups: shared
|
||||||
dataExtensions:
|
dataExtensions:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
name: codeql/tutorial
|
name: codeql/tutorial
|
||||||
description: Library for the CodeQL detective tutorials, helping new users learn to
|
description: Library for the CodeQL detective tutorials, helping new users learn to
|
||||||
write CodeQL queries.
|
write CodeQL queries.
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
warnOnImplicitThis: true
|
warnOnImplicitThis: true
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/typeflow
|
name: codeql/typeflow
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/typeinference
|
name: codeql/typeinference
|
||||||
version: 0.0.33
|
version: 0.0.34-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/typetracking
|
name: codeql/typetracking
|
||||||
version: 2.0.36
|
version: 2.0.37-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/typos
|
name: codeql/typos
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
warnOnImplicitThis: true
|
warnOnImplicitThis: true
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/util
|
name: codeql/util
|
||||||
version: 2.0.39
|
version: 2.0.40-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies: null
|
dependencies: null
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/xml
|
name: codeql/xml
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/yaml
|
name: codeql/yaml
|
||||||
version: 1.0.52
|
version: 1.0.53-dev
|
||||||
groups: shared
|
groups: shared
|
||||||
library: true
|
library: true
|
||||||
warnOnImplicitThis: true
|
warnOnImplicitThis: true
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/swift-all
|
name: codeql/swift-all
|
||||||
version: 6.7.1
|
version: 6.7.2-dev
|
||||||
groups: swift
|
groups: swift
|
||||||
extractor: swift
|
extractor: swift
|
||||||
dbscheme: swift.dbscheme
|
dbscheme: swift.dbscheme
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name: codeql/swift-queries
|
name: codeql/swift-queries
|
||||||
version: 1.3.5
|
version: 1.3.6-dev
|
||||||
groups:
|
groups:
|
||||||
- swift
|
- swift
|
||||||
- queries
|
- queries
|
||||||
|
|||||||
Reference in New Issue
Block a user