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

webosbrew/dev-manager-desktop

TypeScript·379 files·commit 5445d11·scanned 5d ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.

score capped at 252,494 stars — findings likely legitimate code patterns

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

FINDINGS ░▒▓

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.src-tauri/src/error.rs
    BadPassphrase,
    BadPrivateKey {
        message: String,
    },
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.src-tauri/src/device_manager/manager.rs
            let name = key.name(device.valid_passphrase())?;
            let key_path = self.ssh_dir.ensure()?.join(&name);
            let mut file = File::create(key_path).await?;
            file.w...
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.src-tauri/src/tests/common/test_server/mod.rs
                &format!(
                    "{}:/root/.ssh/authorized_keys",
                    Self::fixture_path("keys/id_root.pub", true).to_string_lossy()
                ),
+5
warningSeed phrase / private key harvesting UICollects seed phrase, private key, or mnemonic from the user via input/textarea/clipboard/prompt. Wallet drainers and fake wallet apps use this to steal funds.src/app/add-device/device-editor/device-editor.component.ts

    private async fetchPrivateKey(address: string, passphrase?: string): Promise<string> {
        let retryCount = 0;
        while (true) {
+5
warningSeed phrase / private key harvesting UICollects seed phrase, private key, or mnemonic from the user via input/textarea/clipboard/prompt. Wallet drainers and fake wallet apps use this to steal funds.src/app/add-device/device-editor/key-passphrase-prompt/key-passphrase-prompt.component.ts
        private deviceManager: DeviceManagerService,
        @Inject('keyPath') private keyPath: string
    ) {
        this.formControl = new FormControl<string>('', {
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.src/app/core/services/device-manager.service.spec.ts
        profile: 'ose',
        privateKey: {openSsh: 'id_rsa'},
    };
+5
warningClipboard read accessnavigator.clipboard.readText() reads the user's clipboard. In a wallet/crypto context this is often used to steal copied seed phrases or private keys.src/app/terminal/pty/pty.component.ts
        ) {
            const text = await navigator.clipboard.readText();
            console.info('pasting text', text);
            await this.shell?.write(text);
+4
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/app/add-device/device-editor/device-editor.component.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/app/core/services/app-manager.service.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/app/core/services/remote-log.service.ts+3
warningHigh-entropy string literalsFound 4 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/app/info/renew-script/renew-script.sh.ts+3
infoNative addon dependency"@xterm/addon-fit" includes native compiled code. Native addons can hide behavior that static JS analysis cannot see.package.json+2
infoNative addon dependency"@xterm/addon-search" includes native compiled code. Native addons can hide behavior that static JS analysis cannot see.package.json+2
infoNative addon dependency"@xterm/addon-web-links" includes native compiled code. Native addons can hide behavior that static JS analysis cannot see.package.json+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.

178 files scanned @ 5445d11 | 8/19/2026 | heuristic scan — always review manually

risk by category
code execution2
network & exfiltration5
file system access20
obfuscation15
supply chain6
owasp / injection0
telemetry
files 178/379rules hit 15engine v5commit 5445d11

github

webosbrew/dev-manager-desktop

Device/DevMode Manager for webOS TV

TypeScript
2494
173
1921d
379 files
178 scanned(47%)
5445d11

architecture░▒▓

entry (1) flagged (14) pkg (94)
260 nodes · 533 edgesscroll to zoom · click node to jump to finding
LOW (25/100) — webosbrew/dev-manager-desktop — ScanRepo