live · scanning repos
Scanrepo
github.com
DANGER
malware detected
github.com / thtbee

thtbee/nectarlink

Rust·721 files·commit 2ca12b5·scanned 1d ago·cached ✓
85/100
MALICIOUS
Matches known-malicious patterns. Do not clone or install.

This repository contains patterns associated with malware. Do NOT run this code.

verdict accurate?
Created 24 days ago
Created 24 days ago
34% file coverage
threat-state: maliciouslive

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.core/nectarlink-core/src/identity.rs
        // SAFETY: DPAPI returns a valid buffer of `cbData` bytes allocated with LocalAlloc.
        let data = unsafe { slice::from_raw_parts(out.pbData, out.cbData as usize) }.to_vec();
        // S...
+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.core/nectarlink-core/src/lib.rs
    // SAFETY: as this function's contract says.
    unsafe { iroh::dns::install_android_jni_context(java_vm, context) }
}
+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.core/nectarlink-ffi/src/lib.rs
            #[allow(unsafe_code)]
            let file = unsafe { std::fs::File::from_raw_fd(fd) };
            core::OutgoingFile { name, folder, source: core::FileSource::File(file) }
        }
+3
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.desktop/app/src/linux/audio.rs

    let mut cmd = Command::new("pactl");
    cmd.arg("subscribe").stdin(Stdio::null()).stdout(Stdio::piped()).stderr(Stdio::null());
    // SAFETY: `prctl(PR_SET_PDEATHSIG, SIGTERM)` is async-signal-...
+8
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.desktop/app/src/linux/audio_out.rs

    let mut pacat = Command::new("pacat");
    pacat.args([
        "--playback",
+8
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.desktop/app/src/linux/ble_beacon.rs
            use std::io::BufRead;
            let mut daemon = std::process::Command::new("dbus-daemon")
                .args(["--session", "--nofork", "--print-address"])
                .stdout(std...
+8
criticalRemote script piped into a shellA shell script downloads remote content and executes it directly (e.g. `curl … | bash`). The payload is never stored or reviewable and can change server-side — a classic malware/backdoor install pattern.desktop/packaging/linux/install.sh
#
#   curl -fsSL https://github.com/thtbee/nectarlink/releases/latest/download/install.sh | sh
#
# It picks the package that fits this system (.deb with apt, .rpm with dnf
+10
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
infoSuspicious file in repoExecutable file (gradlew.bat) in repositoryandroid/gradlew.bat+2
infoSuspicious file in repoExecutable file (update-task.ps1) in repositorydesktop/installer/update-task.ps1+2
infoSuspicious file in repoExecutable file (check-headers.ps1) in repositoryscripts/check-headers.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.

243 files scanned @ 2ca12b5 | 10/28/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration0
file system access0
obfuscation0
supply chain15
owasp / injection0
telemetry
files 243/721rules hit 11engine v7commit 2ca12b5

github

thtbee/nectarlink

Your Android phone and your Windows PC, working as one. Local-first, end-to-end encrypted, no account.

Rust
101
16
25d
721 files
243 scanned(34%)
2ca12b5

architecture░▒▓

entry (0) flagged (99) pkg (79)
314 nodes · 302 edgesscroll to zoom · click node to jump to finding
⚠️ MALICIOUS (85/100) — thtbee/nectarlink — ScanRepo