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

splode/pomotroid

Rust·344 files·commit f9f0b26·scanned 50m ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.

score capped at 25 — 5,517 stars — findings likely legitimate code patterns

verdict accurate?
26% file coverage
Desktop app detected
threat-state: lowlive

FINDINGS ░▒▓

warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.src-tauri/src/commands.rs
        }
        unsafe { AXIsProcessTrusted() }
    }
    #[cfg(not(target_os = "macos"))]
+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.src-tauri/src/lib.rs
                        let ns_window: *mut AnyObject =
                            unsafe { msg_send![ns_view, window] };

                        // NSWindowCollectionBehaviorManaged        = 1 << 2...
+3
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.src-tauri/src/notifications/mod.rs
pub fn dispatch(_app: &AppHandle, title: &str, body: &str) {
    let _ = std::process::Command::new("notify-send")
        .args(["--app-name=Pomotroid", "--urgency=normal", "--expire-time=5000", titl...
+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.src-tauri/src/tray/mod.rs
    log::debug!("[tray] probing for appindicator shared library");
    let result = candidates.iter().find_map(|name| unsafe {
        let name_str = std::str::from_utf8(name)
            .unwrap_or("...
+3
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.src-tauri/build.rs
fn run_git(args: &[&str]) -> Option<String> {
    Command::new("git")
        .args(args)
        .output()
+8
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
infoAuthor has no other public repositoriesGitHub user "dependabot[bot]" has no other public repositories, common for burner accounts used in scams.+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.

91 files scanned @ f9f0b26 | 9/25/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration0
file system access0
obfuscation0
supply chain2
owasp / injection0
telemetry
files 91/344rules hit 7engine v6commit f9f0b26

github

splode/pomotroid

:tomato: Simple and visually-pleasing Pomodoro timer

Rust
5517
468
3164d
344 files
91 scanned(26%)
f9f0b26

architecture░▒▓

entry (0) flagged (5) pkg (48)
81 nodes · 66 edgesscroll to zoom · click node to jump to finding