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

odrasile/ai-usage-widget

JavaScript·122 files·commit e7184a1·scanned 1h ago·cached ✓
53/100
SUSPICIOUS
Obfuscation or dynamic code paths detected. Intent unclear — review before running anything.
verdict accurate?
Crypto/Web3 project
35% file coverage
Desktop app detected
threat-state: suspiciouslive

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/main.rs
        if unix_process_group_is_owned_by_child(pid) {
            unsafe {
                libc::kill(-(pid as libc::pid_t), libc::SIGTERM);
            }
+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/main.rs
    let node_binary = normalize_path_for_child(PathBuf::from(resolve_node_binary(&backend.root)?));
    let mut command = Command::new(&node_binary);
    command
        .arg(&backend.entry)
+8
criticalSuspicious code is reachable from an entry pointFlagged files are imported by the application's entry path: src/renderer.ts. This means the suspicious code can execute when the app runs.+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
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/main.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.backend/executor.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.backend/geminiPty.js+3
warningHigh-entropy string literalsFound 3 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.backend/parser.js+3
warningHigh-entropy string literalsFound 6 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.backend/parser.test.js+3
warningHigh-entropy string literalsFound 7 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/renderer.ts+3

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.

43 files scanned @ e7184a1 | 9/25/2026 | heuristic scan — always review manually

risk by category
code execution21
network & exfiltration0
file system access0
obfuscation15
supply chain0
owasp / injection0
telemetry
files 43/122rules hit 10engine v6commit e7184a1

github

odrasile/ai-usage-widget

Floating desktop widget for monitoring local AI coding CLI usage across Codex, Claude Code, and Gemini. Built with Tauri, TypeScript, and a local Node backend.

JavaScript
9
3
149d
122 files
43 scanned(35%)
e7184a1

architecture░▒▓

entry (1) flagged (9) pkg (7)
44 nodes · 66 edgesscroll to zoom · click node to jump to finding
SUSPICIOUS (53/100) — odrasile/ai-usage-widget — ScanRepo