Benign rust Download

ship-shape 0.1.4

legitimate Rust updater crate

Rust test marker or harnessRust Command spawns a child process
SHA-2562bcd438d70f2bfb7e76293cce8ac930b6bb248346850b511a80cc8f36b2496b8

Evidence

Rust replaces matched string content ui.rs · lines 57–61
57:95… ay_name: &str) -> bool {
58 const PADDING: i32 = 10;
59 let title = t("Update to %s").replace("%s", new_version);
60 let dialog = Dialog::builder(parent, &title).build();
61 let panel = Panel::builder(&dialog).b …
Rust Command spawns a child process ui.rs · lines 302–315
302:8… h.display(),
303 current_exe.display()
304 );
305 if let Err(e) = Command::new("powershell.exe")
306 .arg("-NoProfile")
307 .arg("-ExecutionPolicy")
⋯8 lines
Uses the Rust ureq HTTP client lib.rs · lines 14–21
14:10… ign_verify::{PublicKey, Signature};
15use serde::Deserialize;
16use ureq::{Agent, config::Config};
17
18/// Configuration for the updater. Construct once and pass to all ship-shape functions.
19#[derive(Clone)]
20pub struct UpdaterConfig {
21 /// GitHub repos …
Rust File::create call lib.rs · lines 165–171
165:3… et tmp_fname = format!("{fname}.tmp");
166 dest_dir.push(&tmp_fname);
167 let tmp_path = dest_dir;
168 let mut file =
169 File::create(&tmp_path).map_err(|e| UpdateError::NoDownload(format!("Failed to create file: {e}")))?;
170 let mut downloaded: u64 = 0;
171 let mut …
Renames a path with Rust fs::rename lib.rs · lines 195–199
195:12… nal_path = tmp_path.clone();
196 final_path.set_file_name(fname);
197 fs::rename(&tmp_path, &final_path)
198 .map_err(|e| UpdateError::NoDownload(format!("Failed to rename verified file: {e}")))?;
199 Ok(final_path …

No evidence locations were recorded for this file. Raw result

Keyboard shortcuts on this page: j for the next sample, k for the previous one, x to go back to the feed, d to download the original bytes, r to re-queue the sample for analysis.