mirror of
https://github.com/github/codeql.git
synced 2026-04-28 10:15:14 +02:00
Added modeling of tanstack-vue useQueries.
This commit is contained in:
@@ -6,3 +6,4 @@ extensions:
|
||||
- ["@tanstack/angular-query-experimental", "Member[injectQuery]", "Argument[0].ReturnValue.Member[queryFn].ReturnValue", "ReturnValue.Member[data].Awaited", "taint"]
|
||||
- ["@tanstack/angular-query", "Member[injectQuery]", "Argument[0].ReturnValue.Member[queryFn].ReturnValue", "ReturnValue.Member[data].Awaited", "taint"]
|
||||
- ["@tanstack/vue-query", "Member[useQuery]", "Argument[0].Member[queryFn].ReturnValue.Awaited", "ReturnValue.Member[data]", "taint"]
|
||||
- ["@tanstack/vue-query", "Member[useQueries]", "Argument[0].Member[queries].ArrayElement.Member[queryFn].ReturnValue.Awaited", "ReturnValue.AnyMember.Member[data]", "taint"]
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
| testReactRelay.tsx:113:48:113:58 | fragmentRef | testReactRelay.tsx:100:14:100:16 | res | testReactRelay.tsx:113:48:113:58 | fragmentRef | Cross-site scripting vulnerability due to $@. | testReactRelay.tsx:100:14:100:16 | res | user-provided value |
|
||||
| testReactRelay.tsx:127:35:127:43 | data.user | testReactRelay.tsx:124:12:124:15 | data | testReactRelay.tsx:127:35:127:43 | data.user | Cross-site scripting vulnerability due to $@. | testReactRelay.tsx:124:12:124:15 | data | user-provided value |
|
||||
| testReactRelay.tsx:137:50:137:53 | data | testReactRelay.tsx:136:16:136:39 | readFra ... y, key) | testReactRelay.tsx:137:50:137:53 | data | Cross-site scripting vulnerability due to $@. | testReactRelay.tsx:136:16:136:39 | readFra ... y, key) | user-provided value |
|
||||
| testUseQueries2.vue:40:10:40:23 | v-html=data3 | testUseQueries2.vue:6:28:6:63 | fetch(" ... ntent") | testUseQueries2.vue:40:10:40:23 | v-html=data3 | Cross-site scripting vulnerability due to $@. | testUseQueries2.vue:6:28:6:63 | fetch(" ... ntent") | user-provided value |
|
||||
edges
|
||||
| test.jsx:5:11:5:63 | response | test.jsx:6:24:6:31 | response | provenance | |
|
||||
| test.jsx:5:22:5:63 | await f ... ntent") | test.jsx:5:11:5:63 | response | provenance | |
|
||||
@@ -65,6 +66,15 @@ edges
|
||||
| testReactRelay.tsx:127:35:127:38 | data | testReactRelay.tsx:127:35:127:43 | data.user | provenance | |
|
||||
| testReactRelay.tsx:136:9:136:39 | data | testReactRelay.tsx:137:50:137:53 | data | provenance | |
|
||||
| testReactRelay.tsx:136:16:136:39 | readFra ... y, key) | testReactRelay.tsx:136:9:136:39 | data | provenance | |
|
||||
| testUseQueries2.vue:6:11:6:63 | response | testUseQueries2.vue:7:24:7:31 | response | provenance | |
|
||||
| testUseQueries2.vue:6:22:6:63 | await f ... ntent") | testUseQueries2.vue:6:11:6:63 | response | provenance | |
|
||||
| testUseQueries2.vue:6:28:6:63 | fetch(" ... ntent") | testUseQueries2.vue:6:22:6:63 | await f ... ntent") | provenance | |
|
||||
| testUseQueries2.vue:7:11:7:38 | data | testUseQueries2.vue:8:12:8:15 | data | provenance | |
|
||||
| testUseQueries2.vue:7:18:7:38 | await r ... .json() | testUseQueries2.vue:7:11:7:38 | data | provenance | |
|
||||
| testUseQueries2.vue:7:24:7:31 | response | testUseQueries2.vue:7:24:7:38 | response.json() | provenance | |
|
||||
| testUseQueries2.vue:7:24:7:38 | response.json() | testUseQueries2.vue:7:18:7:38 | await r ... .json() | provenance | |
|
||||
| testUseQueries2.vue:8:12:8:15 | data | testUseQueries2.vue:33:22:33:36 | results[0].data | provenance | |
|
||||
| testUseQueries2.vue:33:22:33:36 | results[0].data | testUseQueries2.vue:40:10:40:23 | v-html=data3 | provenance | |
|
||||
nodes
|
||||
| test.jsx:5:11:5:63 | response | semmle.label | response |
|
||||
| test.jsx:5:22:5:63 | await f ... ntent") | semmle.label | await f ... ntent") |
|
||||
@@ -129,7 +139,14 @@ nodes
|
||||
| testReactRelay.tsx:136:9:136:39 | data | semmle.label | data |
|
||||
| testReactRelay.tsx:136:16:136:39 | readFra ... y, key) | semmle.label | readFra ... y, key) |
|
||||
| testReactRelay.tsx:137:50:137:53 | data | semmle.label | data |
|
||||
| testUseQueries2.vue:6:11:6:63 | response | semmle.label | response |
|
||||
| testUseQueries2.vue:6:22:6:63 | await f ... ntent") | semmle.label | await f ... ntent") |
|
||||
| testUseQueries2.vue:6:28:6:63 | fetch(" ... ntent") | semmle.label | fetch(" ... ntent") |
|
||||
| testUseQueries2.vue:7:11:7:38 | data | semmle.label | data |
|
||||
| testUseQueries2.vue:7:18:7:38 | await r ... .json() | semmle.label | await r ... .json() |
|
||||
| testUseQueries2.vue:7:24:7:31 | response | semmle.label | response |
|
||||
| testUseQueries2.vue:7:24:7:38 | response.json() | semmle.label | response.json() |
|
||||
| testUseQueries2.vue:8:12:8:15 | data | semmle.label | data |
|
||||
| testUseQueries2.vue:33:22:33:36 | results[0].data | semmle.label | results[0].data |
|
||||
| testUseQueries2.vue:40:10:40:23 | v-html=data3 | semmle.label | v-html=data3 |
|
||||
subpaths
|
||||
testFailures
|
||||
| testUseQueries2.vue:6:66:6:76 | // $ Source | Missing result: Source |
|
||||
| testUseQueries2.vue:35:32:35:46 | <!--$ Alert --> | Missing result: Alert |
|
||||
|
||||
@@ -8,6 +8,11 @@ const fetchContent = async () => {
|
||||
return data;
|
||||
};
|
||||
|
||||
async function fetchPost() {
|
||||
const response = await fetch("${id}"); // $ MISSING: Source
|
||||
return response.json();
|
||||
}
|
||||
|
||||
export default {
|
||||
data() {
|
||||
const results = useQueries({
|
||||
@@ -19,7 +24,7 @@ export default {
|
||||
},
|
||||
{
|
||||
queryKey: ["post", 2],
|
||||
queryFn: () => fetchPost(2),
|
||||
queryFn: () => fetchPost(),
|
||||
staleTime: Infinity,
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user