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 25 — 2,494 stars — findings likely legitimate code patterns
verdict accurate?
47% file coverage
Desktop app detected
threat-state: lowlive
FINDINGS ░▒▓
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,
},+5warningSSH/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...+5warningSSH/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()
),+5warningSeed 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) {+5warningSeed 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>('', {+5warningSSH/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'},
};
+5warningClipboard 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);+4warningFlattened 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
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