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

InukaAsith/TwinDesk

JavaScript·939 files·commit 7c57646·scanned 6h ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.

score capped at 25 — 1,863 stars — findings likely legitimate code patterns

verdict accurate?
Created 17 days ago
Created 17 days ago
Partial architecture graph
threat-state: lowlive

FINDINGS ░▒▓

what this code does░▒▓

What happens when you open, install or run it, from the findings below.

  1. when runshared/browsertabs.js references browser profile paths, where saved logins and cookies live. shared/browsertabs.js
  2. when runlinux/scripts/vm-test.sh decodes a base64 payload and runs it. linux/scripts/vm-test.sh
  3. when runlinux/gamepad.js and 2 other files start system processes. linux/gamepad.js, linux/installer/build.js, linux/notifs.js
  4. when runlinux/sshd.js and 2 other files reference SSH key or cloud credential paths (such as ~/.ssh or ~/.aws/credentials). linux/sshd.js, linux/terminal.js, mac/ssh-client.js
criticalObfuscated payload executed in shellA shell script decodes an obfuscated blob (base64) and pipes it into an interpreter, hiding the real command from casual review.linux/scripts/vm-test.sh
as() {
  root "echo $(printf '%s' "$1" | base64 | tr -d '\n') | base64 -d | sudo -u $USR -H bash -l"
}
ENV='pid=$(pgrep -u $(id -u) -n "gnome-shell|plasmashell|xfce4-session|cinnamon|mate-session" || ...
+8
warningSuspicious Windows batch commandBatch file contains commands commonly used to download and execute remote payloads (powershell, certutil, bitsadmin, curl to pipe, etc.).windows-helper/build.cmd
ren "%BIN%\macshare-calls.new.exe" macshare-calls.exe
rem Without PowerShell 7's module path (a pwsh terminal, CI): Windows PowerShell then loads its own PKI.
set PSModulePath=
powershell -NoProfil...
+5
criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.linux/gamepad.js
// makes the gamepad and feeds it the pad states on its stdin. Loaded only when Real gamepad is on.
const { execFile, spawn } = require('child_process');
const fs = require('fs');
const path = require...
+8
criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.linux/installer/build.js
const path = require('path');
const { execFileSync } = require('child_process');
const builder = require('electron-builder');
const { fetchAdb } = require('../scripts/fetch-adb');
+8
criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.linux/notifs.js
const path = require('path');
const { spawn } = require('child_process');
const P = require('../shared/protocol.js');
const { IconsIn } = require('../shared/notificon.js');
+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
infoBase64 encoding usedatob() or Buffer.from with base64. Common in legitimate code but also used to hide malicious URLs.linux/scripts/cdp.js
        console.log(r.exceptionDetails ? `EXC ${JSON.stringify(r.exceptionDetails.exception && r.exceptionDetails.exception.description)}` : JSON.stringify(r.result && r.result.value, null, 1));
     ...
+2
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.linux/sshd.js
// windows/sshd.js): the other side sends `ssh.key`; with "Let {name} open a terminal on {me}" on
// and the OpenSSH server running, its key goes into ~/.ssh/authorized_keys with the marker
// `macsha...
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.linux/terminal.js
// (ssh.info) and are pinned in our own known_hosts, so ssh never asks for a password or "trust this
// host?". A `Host twindesk` entry in ~/.ssh/config makes `ssh twindesk` work in any terminal; Open...
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.mac/ssh-client.js
// `ssh.key`; when the other side answers `ssh.info {enabled}`, write a pinned `Host twindesk`
// entry into ~/.ssh/config so `ssh twindesk` works with no password and no "trust this host?"
// questio...
+5
criticalBrowser credential store accessAccessing Chrome, Firefox, Edge, or Brave profile directories to steal cookies, passwords, and session tokens.shared/browsertabs.js
  { re: /brave/i, family: 'chromium',
    roots: { win32: [path.join(local, 'BraveSoftware', 'Brave-Browser', 'User Data')], darwin: [path.join(macSupport, 'BraveSoftware', 'Brave-Browser')], linux: [...
+10
infoSuspicious file in repoExecutable file (gradlew.bat) in repositoryandroid/gradlew.bat+2
infoSuspicious file in repoExecutable file (build.cmd) in repositorywindows-helper/build.cmd+2
infoSuspicious file in repoExecutable file (pack.ps1) in repositorywindows-helper/calls/pack.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.

580 files scanned @ 7c57646 | 10/30/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration2
file system access20
obfuscation0
supply chain15
owasp / injection0
telemetry
files 580/939rules hit 14engine v10commit 7c57646

github

InukaAsith/TwinDesk

All your computers and your phone, working as one desk. Screens, apps, files, clipboard, calls, texts, notifications, mouse and keyboard, shared between Mac, Windows, Linux and Android. Free and open source. No account, no cloud, and now no shared network needed.

JavaScript
1863
129
17d
939 files
580 scanned(62%)
7c57646

network indicators░▒▓

Hosts this code names or would connect to. 33 found, decoded and call-site destinations first. Informational, not scored.

architecture░▒▓

entry (0) flagged (15) pkg (12)
412 nodes · 1114 edgesscroll to zoom · click node to jump to finding