github.com / qarmin
qarmin/ czkawka
Fluent·683 files·commit 105a520·scanned 6d ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 15 — 32,766+ stars — findings likely false positives
verdict accurate?
32,766 stars
42% file coverage
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.cedinia/src/callbacks/misc.rs
window.global::<AppState>().on_open_path(|path| {
let _ = std::process::Command::new("xdg-open").arg(path.as_str()).spawn();
});
window.global::<AppState>().on_open...+8warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.cedinia/src/lib.rs
let _ = ANDROID_CACHE_PATH.set(dirs.cache_dir);
unsafe { std::env::set_var("DATA_DIR", &dirs.files_dir) };
eprintln!("setup_android_paths: config='{}'", dirs.files_...+3criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.cedinia/src/notifications.rs
fn try_notify_send(summary: &str, body: &str) -> bool {
match std::process::Command::new("notify-send").arg("--app-name=cedinia").arg(summary).arg(body).status() {
Ok(s) if s.success() => ...+8criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.ci_tester/src/advanced_tests.rs
fn set_mtime(path: &str, ts: &str) -> Result<(), String> {
let status = Command::new("touch")
.args(["-t", ts, path])
.status()+8warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.czkawka_gui/src/taskbar_progress_win.rs
pub fn new() -> TaskbarProgress {
let hwnd = unsafe { winuser::GetActiveWindow() };
TaskbarProgress::from(hwnd)
}+3warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.krokiet/src/main.rs
// set_var is safe when using on single threaded context
unsafe {
std::env::set_var("SLINT_SCALE_FACTOR", format!("{:.2}", base_settings.manual_application_scale));
...+3warningHex-encoded string sequencesLong hex-encoded strings are commonly used to hide malicious code from code review.ci_tester/src/test_file_system.rs
// Minimal valid JPEG SOI/APP0/EOI triplet (bad-names checks name, not content).
data: b"\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xd9".to_vec(),
...+5warningHigh-entropy string literalsFound 3 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.misc/ai_translate/translate.py+3
warningHigh-entropy string literalsFound 4 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.misc/ai_translate/validate_charset.py+3
warningHigh-entropy string literalsFound 10 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.misc/ai_translate/validate_translations.py+3
infoSuspicious file in repoExecutable file (install_windows.bat) in repositorymisc/install_scripts/install_windows.bat+2
infoSuspicious file in repoExecutable file (pack_all_backends.ps1) in repositorymisc/pack_all_backends.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.
290 files scanned @ 105a520 | 8/19/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration0
file system access0
obfuscation15
supply chain4
owasp / injection0
telemetry
files 290/683rules hit 13engine v5commit 105a520
github
qarmin/czkawka
Multi functional app to find duplicates, empty folders, similar images etc.
32766
1145
2184d
683 files
290 scanned(42%)
105a520
architecture░▒▓
entry (0) flagged (25) pkg (277)
555 nodes · 971 edgesscroll to zoom · click node to jump to finding