@@ -17,45 +17,45 @@ edges
1717| main.rs:4:9:4:18 | arg_string | main.rs:27:18:27:27 | arg_string | provenance | |
1818| main.rs:4:9:4:18 | arg_string | main.rs:40:14:40:23 | arg_string | provenance | |
1919| main.rs:4:22:4:37 | ...::args(...) | main.rs:4:22:4:37 | ...::args(...) [element] | provenance | Src:MaD:7 |
20- | main.rs:4:22:4:37 | ...::args(...) [element] | main.rs:4:22:4:44 | ... .nth(...) [Some] | provenance | MaD:8 |
21- | main.rs:4:22:4:44 | ... .nth(...) [Some] | main.rs:4:22:4:74 | ... .unwrap_or(...) | provenance | MaD:10 |
20+ | main.rs:4:22:4:37 | ...::args(...) [element] | main.rs:4:22:4:44 | ... .nth(...) [Some] | provenance | MaD:15 |
21+ | main.rs:4:22:4:44 | ... .nth(...) [Some] | main.rs:4:22:4:74 | ... .unwrap_or(...) | provenance | MaD:9 |
2222| main.rs:4:22:4:74 | ... .unwrap_or(...) | main.rs:4:9:4:18 | arg_string | provenance | |
2323| main.rs:5:9:5:21 | remote_string | main.rs:34:14:34:26 | remote_string | provenance | |
2424| main.rs:5:9:5:21 | remote_string | main.rs:47:23:47:35 | remote_string | provenance | |
2525| main.rs:5:9:5:21 | remote_string | main.rs:52:40:52:69 | MacroExpr | provenance | |
2626| main.rs:5:25:5:69 | ...::get(...) | main.rs:5:25:5:69 | ...::get(...) [Ok] | provenance | Src:MaD:6 |
27- | main.rs:5:25:5:69 | ...::get(...) [Ok] | main.rs:5:25:6:17 | ... .unwrap() | provenance | MaD:11 |
28- | main.rs:5:25:6:17 | ... .unwrap() | main.rs:5:25:7:15 | ... .text() [Ok] | provenance | MaD:13 |
29- | main.rs:5:25:7:15 | ... .text() [Ok] | main.rs:5:25:8:38 | ... .unwrap_or(...) | provenance | MaD:12 |
27+ | main.rs:5:25:5:69 | ...::get(...) [Ok] | main.rs:5:25:6:17 | ... .unwrap() | provenance | MaD:10 |
28+ | main.rs:5:25:6:17 | ... .unwrap() | main.rs:5:25:7:15 | ... .text() [Ok] | provenance | MaD:12 |
29+ | main.rs:5:25:7:15 | ... .text() [Ok] | main.rs:5:25:8:38 | ... .unwrap_or(...) | provenance | MaD:11 |
3030| main.rs:5:25:8:38 | ... .unwrap_or(...) | main.rs:5:9:5:21 | remote_string | provenance | |
31- | main.rs:27:18:27:27 | arg_string | main.rs:27:18:27:36 | arg_string.as_str() [&ref] | provenance | MaD:9 |
31+ | main.rs:27:18:27:27 | arg_string | main.rs:27:18:27:36 | arg_string.as_str() [&ref] | provenance | MaD:8 |
3232| main.rs:27:18:27:36 | arg_string.as_str() [&ref] | main.rs:27:18:27:36 | arg_string.as_str() | provenance | Sink:MaD:3 |
33- | main.rs:34:14:34:26 | remote_string | main.rs:34:14:34:35 | remote_string.as_str() [&ref] | provenance | MaD:9 |
33+ | main.rs:34:14:34:26 | remote_string | main.rs:34:14:34:35 | remote_string.as_str() [&ref] | provenance | MaD:8 |
3434| main.rs:34:14:34:35 | remote_string.as_str() [&ref] | main.rs:34:14:34:35 | remote_string.as_str() | provenance | Sink:MaD:1 |
35- | main.rs:40:14:40:23 | arg_string | main.rs:40:14:40:32 | arg_string.as_str() [&ref] | provenance | MaD:9 |
35+ | main.rs:40:14:40:23 | arg_string | main.rs:40:14:40:32 | arg_string.as_str() [&ref] | provenance | MaD:8 |
3636| main.rs:40:14:40:32 | arg_string.as_str() [&ref] | main.rs:40:14:40:32 | arg_string.as_str() | provenance | Sink:MaD:1 |
3737| main.rs:47:15:47:45 | &... [&ref, element, &ref] | main.rs:47:15:47:45 | &... | provenance | Sink:MaD:2 Sink:MaD:2 |
3838| main.rs:47:15:47:45 | &... [&ref, element, &ref] | main.rs:47:15:47:45 | &... | provenance | Sink:MaD:2 Sink:MaD:2 Sink:MaD:2 |
3939| main.rs:47:16:47:45 | [...] [element, &ref] | main.rs:47:15:47:45 | &... [&ref, element, &ref] | provenance | |
40- | main.rs:47:23:47:35 | remote_string | main.rs:47:23:47:44 | remote_string.as_str() [&ref] | provenance | MaD:9 |
40+ | main.rs:47:23:47:35 | remote_string | main.rs:47:23:47:44 | remote_string.as_str() [&ref] | provenance | MaD:8 |
4141| main.rs:47:23:47:44 | remote_string.as_str() [&ref] | main.rs:47:16:47:45 | [...] [element, &ref] | provenance | |
4242| main.rs:52:9:52:28 | concatenated_command | main.rs:53:18:53:37 | concatenated_command | provenance | |
4343| main.rs:52:40:52:69 | ...::format(...) | main.rs:52:40:52:69 | { ... } | provenance | |
4444| main.rs:52:40:52:69 | ...::must_use(...) | main.rs:52:9:52:28 | concatenated_command | provenance | |
45- | main.rs:52:40:52:69 | MacroExpr | main.rs:52:40:52:69 | ...::format(...) | provenance | MaD:14 |
46- | main.rs:52:40:52:69 | { ... } | main.rs:52:40:52:69 | ...::must_use(...) | provenance | MaD:15 |
47- | main.rs:53:18:53:37 | concatenated_command | main.rs:53:18:53:46 | concatenated_command.as_str() [&ref] | provenance | MaD:9 |
45+ | main.rs:52:40:52:69 | MacroExpr | main.rs:52:40:52:69 | ...::format(...) | provenance | MaD:13 |
46+ | main.rs:52:40:52:69 | { ... } | main.rs:52:40:52:69 | ...::must_use(...) | provenance | MaD:14 |
47+ | main.rs:53:18:53:37 | concatenated_command | main.rs:53:18:53:46 | concatenated_command.as_str() [&ref] | provenance | MaD:8 |
4848| main.rs:53:18:53:46 | concatenated_command.as_str() [&ref] | main.rs:53:18:53:46 | concatenated_command.as_str() | provenance | Sink:MaD:3 |
4949| main.rs:59:9:59:21 | remote_string | main.rs:65:48:65:60 | remote_string | provenance | |
5050| main.rs:59:9:59:21 | remote_string | main.rs:73:14:73:26 | remote_string | provenance | |
5151| main.rs:59:25:59:69 | ...::get(...) | main.rs:59:25:59:69 | ...::get(...) [Ok] | provenance | Src:MaD:6 |
52- | main.rs:59:25:59:69 | ...::get(...) [Ok] | main.rs:59:25:60:17 | ... .unwrap() | provenance | MaD:11 |
53- | main.rs:59:25:60:17 | ... .unwrap() | main.rs:59:25:61:15 | ... .text() [Ok] | provenance | MaD:13 |
54- | main.rs:59:25:61:15 | ... .text() [Ok] | main.rs:59:25:62:38 | ... .unwrap_or(...) | provenance | MaD:12 |
52+ | main.rs:59:25:59:69 | ...::get(...) [Ok] | main.rs:59:25:60:17 | ... .unwrap() | provenance | MaD:10 |
53+ | main.rs:59:25:60:17 | ... .unwrap() | main.rs:59:25:61:15 | ... .text() [Ok] | provenance | MaD:12 |
54+ | main.rs:59:25:61:15 | ... .text() [Ok] | main.rs:59:25:62:38 | ... .unwrap_or(...) | provenance | MaD:11 |
5555| main.rs:59:25:62:38 | ... .unwrap_or(...) | main.rs:59:9:59:21 | remote_string | provenance | |
56- | main.rs:65:48:65:60 | remote_string | main.rs:65:48:65:69 | remote_string.as_str() [&ref] | provenance | MaD:9 |
56+ | main.rs:65:48:65:60 | remote_string | main.rs:65:48:65:69 | remote_string.as_str() [&ref] | provenance | MaD:8 |
5757| main.rs:65:48:65:69 | remote_string.as_str() [&ref] | main.rs:65:48:65:69 | remote_string.as_str() | provenance | Sink:MaD:5 |
58- | main.rs:73:14:73:26 | remote_string | main.rs:73:14:73:35 | remote_string.as_str() [&ref] | provenance | MaD:9 |
58+ | main.rs:73:14:73:26 | remote_string | main.rs:73:14:73:35 | remote_string.as_str() [&ref] | provenance | MaD:8 |
5959| main.rs:73:14:73:35 | remote_string.as_str() [&ref] | main.rs:73:14:73:35 | remote_string.as_str() | provenance | Sink:MaD:4 |
6060| main.rs:82:27:82:42 | ...: ... [&ref] | main.rs:86:18:86:27 | user_input | provenance | Sink:MaD:1 |
6161| main.rs:95:27:95:40 | ...: ... [&ref] | main.rs:100:22:100:29 | filename | provenance | Sink:MaD:1 |
@@ -68,14 +68,14 @@ edges
6868| main.rs:138:9:138:18 | arg_string | main.rs:143:40:143:49 | arg_string | provenance | |
6969| main.rs:138:9:138:18 | arg_string | main.rs:144:31:144:40 | arg_string | provenance | |
7070| main.rs:138:22:138:37 | ...::args(...) | main.rs:138:22:138:37 | ...::args(...) [element] | provenance | Src:MaD:7 |
71- | main.rs:138:22:138:37 | ...::args(...) [element] | main.rs:138:22:138:44 | ... .nth(...) [Some] | provenance | MaD:8 |
72- | main.rs:138:22:138:44 | ... .nth(...) [Some] | main.rs:138:22:138:74 | ... .unwrap_or(...) | provenance | MaD:10 |
71+ | main.rs:138:22:138:37 | ...::args(...) [element] | main.rs:138:22:138:44 | ... .nth(...) [Some] | provenance | MaD:15 |
72+ | main.rs:138:22:138:44 | ... .nth(...) [Some] | main.rs:138:22:138:74 | ... .unwrap_or(...) | provenance | MaD:9 |
7373| main.rs:138:22:138:74 | ... .unwrap_or(...) | main.rs:138:9:138:18 | arg_string | provenance | |
74- | main.rs:142:39:142:48 | arg_string | main.rs:142:39:142:57 | arg_string.as_str() [&ref] | provenance | MaD:9 |
74+ | main.rs:142:39:142:48 | arg_string | main.rs:142:39:142:57 | arg_string.as_str() [&ref] | provenance | MaD:8 |
7575| main.rs:142:39:142:57 | arg_string.as_str() [&ref] | main.rs:82:27:82:42 | ...: ... [&ref] | provenance | |
76- | main.rs:143:40:143:49 | arg_string | main.rs:143:40:143:58 | arg_string.as_str() [&ref] | provenance | MaD:9 |
76+ | main.rs:143:40:143:49 | arg_string | main.rs:143:40:143:58 | arg_string.as_str() [&ref] | provenance | MaD:8 |
7777| main.rs:143:40:143:58 | arg_string.as_str() [&ref] | main.rs:95:27:95:40 | ...: ... [&ref] | provenance | |
78- | main.rs:144:31:144:40 | arg_string | main.rs:144:31:144:49 | arg_string.as_str() [&ref] | provenance | MaD:9 |
78+ | main.rs:144:31:144:40 | arg_string | main.rs:144:31:144:49 | arg_string.as_str() [&ref] | provenance | MaD:8 |
7979| main.rs:144:31:144:49 | arg_string.as_str() [&ref] | main.rs:107:30:107:42 | ...: ... [&ref] | provenance | |
8080models
8181| 1 | Sink: <std::process::Command>::arg; Argument[0]; command-injection |
@@ -85,14 +85,14 @@ models
8585| 5 | Sink: <tokio::process::Command>::new; Argument[0]; command-injection |
8686| 6 | Source: reqwest::blocking::get; ReturnValue.Field[core::result::Result::Ok(0)]; remote |
8787| 7 | Source: std::env::args; ReturnValue.Element; commandargs |
88- | 8 | Summary: <_ as core::iter::traits::iterator::Iterator >::nth ; Argument[self].Reference.Element ; ReturnValue.Field[core::option::Option::Some(0)]; value |
89- | 9 | Summary: <alloc::string::String >::as_str ; Argument[self].Reference ; ReturnValue.Reference; taint |
90- | 10 | Summary: <core::option::Option >::unwrap_or ; Argument[self].Field[core::option::Option::Some (0)]; ReturnValue; value |
91- | 11 | Summary: <core::result::Result>::unwrap ; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value |
92- | 12 | Summary: <core::result::Result >::unwrap_or ; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value |
93- | 13 | Summary: <reqwest::blocking::response::Response>::text ; Argument[self ]; ReturnValue.Field[core::result::Result::Ok(0)] ; taint |
94- | 14 | Summary: alloc::fmt::format ; Argument[0]; ReturnValue; taint |
95- | 15 | Summary: core::hint::must_use ; Argument[0] ; ReturnValue; value |
88+ | 8 | Summary: <alloc::string::String >::as_str ; Argument[self].Reference; ReturnValue.Reference; taint |
89+ | 9 | Summary: <core::option::Option >::unwrap_or ; Argument[self].Field[core::option::Option::Some(0)] ; ReturnValue; value |
90+ | 10 | Summary: <core::result::Result >::unwrap ; Argument[self].Field[core::result::Result::Ok (0)]; ReturnValue; value |
91+ | 11 | Summary: <core::result::Result>::unwrap_or ; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value |
92+ | 12 | Summary: <reqwest::blocking::response::Response >::text ; Argument[self]; ReturnValue .Field[core::result::Result::Ok(0)]; taint |
93+ | 13 | Summary: alloc::fmt::format ; Argument[0 ]; ReturnValue; taint |
94+ | 14 | Summary: core::hint::must_use ; Argument[0]; ReturnValue; value |
95+ | 15 | Summary: core::iter::traits::iterator::Iterator::nth ; Argument[self].Reference.Element ; ReturnValue.Field[core::option::Option::Some(0)] ; value |
9696nodes
9797| main.rs:4:9:4:18 | arg_string | semmle.label | arg_string |
9898| main.rs:4:22:4:37 | ...::args(...) | semmle.label | ...::args(...) |
0 commit comments