|
| 1 | +#select |
| 2 | +| main.rs:27:5:27:16 | ...::new | main.rs:4:22:4:35 | ...::args | main.rs:27:5:27:16 | ...::new | This command line depends on a $@. | main.rs:4:22:4:35 | ...::args | user-provided value | |
| 3 | +| main.rs:34:10:34:12 | arg | main.rs:5:25:5:46 | ...::get | main.rs:34:10:34:12 | arg | This command line depends on a $@. | main.rs:5:25:5:46 | ...::get | user-provided value | |
| 4 | +| main.rs:40:10:40:12 | arg | main.rs:4:22:4:35 | ...::args | main.rs:40:10:40:12 | arg | This command line depends on a $@. | main.rs:4:22:4:35 | ...::args | user-provided value | |
| 5 | +| main.rs:47:10:47:13 | args | main.rs:5:25:5:46 | ...::get | main.rs:47:10:47:13 | args | This command line depends on a $@. | main.rs:5:25:5:46 | ...::get | user-provided value | |
| 6 | +| main.rs:59:19:59:46 | ...::new | main.rs:53:25:53:46 | ...::get | main.rs:59:19:59:46 | ...::new | This command line depends on a $@. | main.rs:53:25:53:46 | ...::get | user-provided value | |
| 7 | +| main.rs:67:10:67:12 | arg | main.rs:53:25:53:46 | ...::get | main.rs:67:10:67:12 | arg | This command line depends on a $@. | main.rs:53:25:53:46 | ...::get | user-provided value | |
| 8 | +edges |
| 9 | +| main.rs:4:9:4:18 | arg_string | main.rs:27:18:27:27 | arg_string | provenance | | |
| 10 | +| main.rs:4:9:4:18 | arg_string | main.rs:40:14:40:23 | arg_string | provenance | | |
| 11 | +| main.rs:4:22:4:35 | ...::args | main.rs:4:22:4:37 | ...::args(...) [element] | provenance | Src:MaD:7 | |
| 12 | +| main.rs:4:22:4:37 | ...::args(...) [element] | main.rs:4:22:4:44 | ... .nth(...) [Some] | provenance | MaD:8 | |
| 13 | +| main.rs:4:22:4:44 | ... .nth(...) [Some] | main.rs:4:22:4:74 | ... .unwrap_or(...) | provenance | MaD:10 | |
| 14 | +| main.rs:4:22:4:74 | ... .unwrap_or(...) | main.rs:4:9:4:18 | arg_string | provenance | | |
| 15 | +| main.rs:5:9:5:21 | remote_string | main.rs:34:14:34:26 | remote_string | provenance | | |
| 16 | +| main.rs:5:9:5:21 | remote_string | main.rs:47:23:47:35 | remote_string | provenance | | |
| 17 | +| main.rs:5:25:5:46 | ...::get | main.rs:5:25:5:69 | ...::get(...) [Ok] | provenance | Src:MaD:6 | |
| 18 | +| main.rs:5:25:5:69 | ...::get(...) [Ok] | main.rs:5:25:6:17 | ... .unwrap() | provenance | MaD:11 | |
| 19 | +| main.rs:5:25:6:17 | ... .unwrap() | main.rs:5:25:7:15 | ... .text() [Ok] | provenance | MaD:13 | |
| 20 | +| main.rs:5:25:7:15 | ... .text() [Ok] | main.rs:5:25:8:38 | ... .unwrap_or(...) | provenance | MaD:12 | |
| 21 | +| main.rs:5:25:8:38 | ... .unwrap_or(...) | main.rs:5:9:5:21 | remote_string | provenance | | |
| 22 | +| main.rs:27:18:27:27 | arg_string | main.rs:27:18:27:36 | arg_string.as_str() [&ref] | provenance | MaD:9 | |
| 23 | +| main.rs:27:18:27:36 | arg_string.as_str() [&ref] | main.rs:27:5:27:16 | ...::new | provenance | MaD:3 Sink:MaD:3 | |
| 24 | +| main.rs:34:14:34:26 | remote_string | main.rs:34:14:34:35 | remote_string.as_str() [&ref] | provenance | MaD:9 | |
| 25 | +| main.rs:34:14:34:35 | remote_string.as_str() [&ref] | main.rs:34:10:34:12 | arg | provenance | MaD:1 Sink:MaD:1 | |
| 26 | +| main.rs:40:14:40:23 | arg_string | main.rs:40:14:40:32 | arg_string.as_str() [&ref] | provenance | MaD:9 | |
| 27 | +| main.rs:40:14:40:32 | arg_string.as_str() [&ref] | main.rs:40:10:40:12 | arg | provenance | MaD:1 Sink:MaD:1 | |
| 28 | +| main.rs:47:15:47:45 | &... [&ref, element, &ref] | main.rs:47:10:47:13 | args | provenance | MaD:2 Sink:MaD:2 Sink:MaD:2 | |
| 29 | +| main.rs:47:15:47:45 | &... [&ref, element, &ref] | main.rs:47:10:47:13 | args | provenance | MaD:2 Sink:MaD:2 Sink:MaD:2 Sink:MaD:2 | |
| 30 | +| main.rs:47:16:47:45 | [...] [element, &ref] | main.rs:47:15:47:45 | &... [&ref, element, &ref] | provenance | | |
| 31 | +| main.rs:47:23:47:35 | remote_string | main.rs:47:23:47:44 | remote_string.as_str() [&ref] | provenance | MaD:9 | |
| 32 | +| main.rs:47:23:47:44 | remote_string.as_str() [&ref] | main.rs:47:16:47:45 | [...] [element, &ref] | provenance | | |
| 33 | +| main.rs:53:9:53:21 | remote_string | main.rs:59:48:59:60 | remote_string | provenance | | |
| 34 | +| main.rs:53:9:53:21 | remote_string | main.rs:67:14:67:26 | remote_string | provenance | | |
| 35 | +| main.rs:53:25:53:46 | ...::get | main.rs:53:25:53:69 | ...::get(...) [Ok] | provenance | Src:MaD:6 | |
| 36 | +| main.rs:53:25:53:69 | ...::get(...) [Ok] | main.rs:53:25:54:17 | ... .unwrap() | provenance | MaD:11 | |
| 37 | +| main.rs:53:25:54:17 | ... .unwrap() | main.rs:53:25:55:15 | ... .text() [Ok] | provenance | MaD:13 | |
| 38 | +| main.rs:53:25:55:15 | ... .text() [Ok] | main.rs:53:25:56:38 | ... .unwrap_or(...) | provenance | MaD:12 | |
| 39 | +| main.rs:53:25:56:38 | ... .unwrap_or(...) | main.rs:53:9:53:21 | remote_string | provenance | | |
| 40 | +| main.rs:59:48:59:60 | remote_string | main.rs:59:48:59:69 | remote_string.as_str() [&ref] | provenance | MaD:9 | |
| 41 | +| main.rs:59:48:59:69 | remote_string.as_str() [&ref] | main.rs:59:19:59:46 | ...::new | provenance | MaD:5 Sink:MaD:5 | |
| 42 | +| main.rs:67:14:67:26 | remote_string | main.rs:67:14:67:35 | remote_string.as_str() [&ref] | provenance | MaD:9 | |
| 43 | +| main.rs:67:14:67:35 | remote_string.as_str() [&ref] | main.rs:67:10:67:12 | arg | provenance | MaD:4 Sink:MaD:4 | |
| 44 | +models |
| 45 | +| 1 | Sink: <std::process::Command>::arg; Argument[0]; command-injection | |
| 46 | +| 2 | Sink: <std::process::Command>::args; Argument[0]; command-injection | |
| 47 | +| 3 | Sink: <std::process::Command>::new; Argument[0]; command-injection | |
| 48 | +| 4 | Sink: <tokio::process::Command>::arg; Argument[0]; command-injection | |
| 49 | +| 5 | Sink: <tokio::process::Command>::new; Argument[0]; command-injection | |
| 50 | +| 6 | Source: reqwest::blocking::get; ReturnValue.Field[core::result::Result::Ok(0)]; remote | |
| 51 | +| 7 | Source: std::env::args; ReturnValue.Element; commandargs | |
| 52 | +| 8 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | |
| 53 | +| 9 | Summary: <alloc::string::String>::as_str; Argument[self].Reference; ReturnValue.Reference; taint | |
| 54 | +| 10 | Summary: <core::option::Option>::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | |
| 55 | +| 11 | Summary: <core::result::Result>::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | |
| 56 | +| 12 | Summary: <core::result::Result>::unwrap_or; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | |
| 57 | +| 13 | Summary: <reqwest::blocking::response::Response>::text; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | |
| 58 | +nodes |
| 59 | +| main.rs:4:9:4:18 | arg_string | semmle.label | arg_string | |
| 60 | +| main.rs:4:22:4:35 | ...::args | semmle.label | ...::args | |
| 61 | +| main.rs:4:22:4:37 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | |
| 62 | +| main.rs:4:22:4:44 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | |
| 63 | +| main.rs:4:22:4:74 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | |
| 64 | +| main.rs:5:9:5:21 | remote_string | semmle.label | remote_string | |
| 65 | +| main.rs:5:25:5:46 | ...::get | semmle.label | ...::get | |
| 66 | +| main.rs:5:25:5:69 | ...::get(...) [Ok] | semmle.label | ...::get(...) [Ok] | |
| 67 | +| main.rs:5:25:6:17 | ... .unwrap() | semmle.label | ... .unwrap() | |
| 68 | +| main.rs:5:25:7:15 | ... .text() [Ok] | semmle.label | ... .text() [Ok] | |
| 69 | +| main.rs:5:25:8:38 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | |
| 70 | +| main.rs:27:5:27:16 | ...::new | semmle.label | ...::new | |
| 71 | +| main.rs:27:18:27:27 | arg_string | semmle.label | arg_string | |
| 72 | +| main.rs:27:18:27:36 | arg_string.as_str() [&ref] | semmle.label | arg_string.as_str() [&ref] | |
| 73 | +| main.rs:34:10:34:12 | arg | semmle.label | arg | |
| 74 | +| main.rs:34:14:34:26 | remote_string | semmle.label | remote_string | |
| 75 | +| main.rs:34:14:34:35 | remote_string.as_str() [&ref] | semmle.label | remote_string.as_str() [&ref] | |
| 76 | +| main.rs:40:10:40:12 | arg | semmle.label | arg | |
| 77 | +| main.rs:40:14:40:23 | arg_string | semmle.label | arg_string | |
| 78 | +| main.rs:40:14:40:32 | arg_string.as_str() [&ref] | semmle.label | arg_string.as_str() [&ref] | |
| 79 | +| main.rs:47:10:47:13 | args | semmle.label | args | |
| 80 | +| main.rs:47:15:47:45 | &... [&ref, element, &ref] | semmle.label | &... [&ref, element, &ref] | |
| 81 | +| main.rs:47:16:47:45 | [...] [element, &ref] | semmle.label | [...] [element, &ref] | |
| 82 | +| main.rs:47:23:47:35 | remote_string | semmle.label | remote_string | |
| 83 | +| main.rs:47:23:47:44 | remote_string.as_str() [&ref] | semmle.label | remote_string.as_str() [&ref] | |
| 84 | +| main.rs:53:9:53:21 | remote_string | semmle.label | remote_string | |
| 85 | +| main.rs:53:25:53:46 | ...::get | semmle.label | ...::get | |
| 86 | +| main.rs:53:25:53:69 | ...::get(...) [Ok] | semmle.label | ...::get(...) [Ok] | |
| 87 | +| main.rs:53:25:54:17 | ... .unwrap() | semmle.label | ... .unwrap() | |
| 88 | +| main.rs:53:25:55:15 | ... .text() [Ok] | semmle.label | ... .text() [Ok] | |
| 89 | +| main.rs:53:25:56:38 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | |
| 90 | +| main.rs:59:19:59:46 | ...::new | semmle.label | ...::new | |
| 91 | +| main.rs:59:48:59:60 | remote_string | semmle.label | remote_string | |
| 92 | +| main.rs:59:48:59:69 | remote_string.as_str() [&ref] | semmle.label | remote_string.as_str() [&ref] | |
| 93 | +| main.rs:67:10:67:12 | arg | semmle.label | arg | |
| 94 | +| main.rs:67:14:67:26 | remote_string | semmle.label | remote_string | |
| 95 | +| main.rs:67:14:67:35 | remote_string.as_str() [&ref] | semmle.label | remote_string.as_str() [&ref] | |
| 96 | +subpaths |
0 commit comments