live · scanning repos
Scanrepo
github.com
github.com / storytold

storytold/artcraft

Rust·5824 files·commit 1f969a9·scanned 4d ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.

score capped at 15 — 36,323+ stars — findings likely false positives

verdict accurate?
36,323 stars
Partial architecture graph
Desktop app detected
threat-state: lowlive

FINDINGS ░▒▓

criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.artcraft-native/src/backend/video.rs
  #[allow(unused_mut)]
  let mut cmd = Command::new(program);
  #[cfg(windows)]
  {
+8
warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.crates/api_clients/grok_consumer_client/src/test_utils/setup_test_logging.rs
    println!("Unsafely setting Rust Log Level...");
    unsafe { std::env::set_var(RUST_LOG, level_str) }
  }
+3
warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.crates/api_clients/kinovi_web_client/src/test_utils/setup_test_logging.rs
    println!("Unsafely setting Rust Log Level...");
    unsafe { std::env::set_var(RUST_LOG, level_str) }
  }
+3
warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.crates/api_clients/worldlabs_api_client/src/test_utils/setup_test_logging.rs
    println!("Unsafely setting Rust Log Level...");
    unsafe { std::env::set_var(RUST_LOG, level_str) }
  }
+3
infoSuspicious files are not reachable from entry pointsFlagged files exist but are not imported by any entry point. They may be dead code, tests, or attack payloads triggered by another mechanism.+2
warningRust wallet/crypto code with network activityCode handling private keys or signing and also making network requests may be exfiltrating secrets or sending funds to an attacker.artcraft-native/src/backend/audio.rs
  for sample in decoder {
    loudest = loudest.max(sample.unsigned_abs());
    count += 1;
    if count % window == 0 {
+5
warningRust wallet/crypto code with network activityCode handling private keys or signing and also making network requests may be exfiltrating secrets or sending funds to an attacker.artcraft-native/src/backend/mod.rs
pub enum Event {
  /// The session check finished: `Some` when signed in.
  Session(Option<SessionUser>),
  LoginFailed(String),
+5
warningRust wallet/crypto code with network activityCode handling private keys or signing and also making network requests may be exfiltrating secrets or sending funds to an attacker.artcraft-native/src/backend/providers/worker.rs
    }
    // Results go into the library: nothing can finish until someone's signed in.
    let Some(creds) = self.creds.read().ok().and_then(|c| c.as_ref().map(Credentials::to_set)) else {
      retu...
+5
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.crates/api_clients/grok_consumer_client/src/requests/video_chat/parse_video_id.rs+4
infoSuspicious file in repoVery large source file (898KB) — could contain obfuscated payloadfrontend/package-lock.json+2
infoSuspicious file in repoExecutable file (windows_build.ps1) in repositoryscript/artcraft/windows_build.ps1+2
infoSuspicious file in repoExecutable file (windows_frontend_dev.ps1) in repositoryscript/artcraft/windows_frontend_dev.ps1+2

Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.

2999 files scanned @ 1f969a9 | 10/25/2026 | heuristic scan — always review manually

risk by category
code execution22
network & exfiltration25
file system access0
obfuscation4
supply chain10
owasp / injection0
telemetry
files 2999/5824rules hit 12engine v7commit 1f969a9

github

storytold/artcraft

ArtCraft is an intentional crafting engine for artists, designers, and filmmakers

Rust
36323
5744
1673d
5824 files
2999 scanned(51%)
1f969a9

architecture░▒▓

entry (61) flagged (13) pkg (145)
545 nodes · 796 edgesscroll to zoom · click node to jump to finding