github.com / outsourc-e
outsourc-e/ hermes-workspace
JavaScript·1173 files·commit c631425·scanned 2d ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 25 — 6,482 stars — findings likely legitimate code patterns
verdict accurate?
Research / educational context
Partial architecture graph
Electron app detected
threat-state: lowlive
FINDINGS ░▒▓
criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.vite.config.ts
const child = spawn(launchCmd, commandArgs, {
cwd: launchCwd,
detached: false, // keep tied to vite process — stops when dev server stops+8criticalRemote 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.install.sh
# Usage:
# curl -fsSL https://raw.githubusercontent.com/outsourc-e/hermes-workspace/main/install.sh | bash
#
# What it does:+10warningHardcoded IP address in network callFetching data from hardcoded IP addresses instead of domain names is suspicious and may indicate C2 communication.src/screens/swarm2/swarm2-kanban-board.test.ts
details: 'Synced through Workspace proxy',
path: 'http://127.0.0.1:9119',
})).toMatchObject({
badgeLabel: 'Synced • Hermes',+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/components/onboarding/provider-select-step.tsx
try {
const text = await navigator.clipboard.readText()
if (text) {
setApiKey(text)+4warningClipboard 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/components/terminal/mobile-terminal-input.tsx
try {
const text = await navigator.clipboard.readText()
if (text && inputRef.current) {
inputRef.current.value += text+4warningClipboard 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/components/terminal/terminal-panel.tsx
if (event.key === 'v' && (event.metaKey || event.ctrlKey)) {
navigator.clipboard.readText().then((text) => {
if (text) onInput(text)
})+4warningHigh-entropy string literalsFound 6 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.vite.config.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.vite.config.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.playground-ws-worker/src/worker.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/components/agent-chat/AgentChatMessages.tsx+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/components/agent-swarm/activity-panel.tsx+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/components/agent-swarm/isometric-office.tsx+3
infoSuspicious file in repoVery large source file (21396KB) — could contain obfuscated payloadelectron/server-bundle.cjs+2
infoSuspicious file in repoExecutable file (start-hermes-workspace.ps1) in repositoryscripts/start-hermes-workspace.ps1+2
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.
865 files scanned @ c631425 | 8/22/2026 | heuristic scan — always review manually
risk by category
code execution20
network & exfiltration5
file system access12
obfuscation15
supply chain12
owasp / injection0
telemetry
files 865/1173rules hit 19engine v5commit c631425
github
outsourc-e/hermes-workspace
Native web workspace for Hermes Agent — chat, terminal, memory, skills, inspector.
6482
1026
162d
1173 files
865 scanned(74%)
c631425
architecture░▒▓
entry (1) flagged (284) pkg (239)
639 nodes · 1660 edgesscroll to zoom · click node to jump to finding