live · scanning repos
Scanrepo
github.com
github.com / eigent-ai

eigent-ai/eigent

TypeScript·3491 files·commit 2307dff·scanned 1h ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.

score capped at 15 — 15,692+ stars — findings likely false positives

scored by engine v7: rules have changed since, rescan for the current result

verdict accurate?
15,692 stars
Crypto/Web3 project
Partial architecture graph
Electron app detected
threat-state: lowlive

FINDINGS ░▒▓

criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.resources/example-skills/skill-security-auditor/scripts/scan_project.py
    ".py": [
        (r"\beval\s*\(", "eval() can execute arbitrary code"),
        (r"\bexec\s*\(", "exec() can execute arbitrary code"),
        (r"\bos\.system\s*\(", "os.system() is vulnerable to ...
+8
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.resources/example-skills/skill-security-auditor/scripts/scan_project.py
    ".py": [
        (r"\beval\s*\(", "eval() can execute arbitrary code"),
        (r"\bexec\s*\(", "exec() can execute arbitrary code"),
        (r"\bos\.system\s*\(", "os.system() is vulnerable to ...
+7
warningPython subprocess / os.system usageos.system() or subprocess with shell=True / suspicious commands can execute arbitrary shell commands. Plain pip/package installs are usually benign.resources/example-skills/skill-security-auditor/scripts/scan_project.py
        (r"\bexec\s*\(", "exec() can execute arbitrary code"),
        (r"\bos\.system\s*\(", "os.system() is vulnerable to command injection"),
        (r"\bos\.popen\s*\(", "os.popen() is vulnerable...
+4
warningSuspicious Windows batch commandBatch file contains commands commonly used to download and execute remote payloads (powershell, certutil, bitsadmin, curl to pipe, etc.).server/start_server.bat

    :: Try to install uv using PowerShell
    powershell -Command "irm https://astral.sh/uv/install.ps1 | iex" 2>nul
    if %errorlevel% neq 0 (
+5
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.server/start_server.sh
    # Try to install uv
    if curl -LsSf https://astral.sh/uv/install.sh | sh; then
        echo -e "${GREEN}uv installation completed${NC}"
        # Refresh shell environment
+10
criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.server/tests/test_remote_control_security.py

    def eval(self, _script: str, _numkeys: int, key: str, seconds: int) -> int:
        count = self.incr(key)
        if count == 1:
+8
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.server/tests/test_remote_control_security.py

    def eval(self, _script: str, _numkeys: int, key: str, seconds: int) -> int:
        count = self.incr(key)
        if count == 1:
+7
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.server/tests/test_schedule_timezone.py
    )
    exec(compile(ast.fix_missing_locations(ast.Module(body=[cls], type_ignores=[])), str(path), "exec"), namespace)
    return namespace["ScheduleTriggerConfig"]
+7
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.src/lib/htmlSanitization.ts
    // Parse only. The generated function is never executed.
    new Function(script);
    return true;
  } catch {
+5
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.src/pages/Login.tsx
            user_id:
              userInfo.id || JSON.parse(atob(token.split('.')[1])).id || 0,
          });
        }
+2
criticalBrowser credential store accessAccessing Chrome, Firefox, Edge, or Brave profile directories to steal cookies, passwords, and session tokens.electron/main/index.ts
      chrome: isWin
        ? `${localAppData}\\Google\\Chrome\\User Data\\Default`
        : `${home}/Library/Application Support/Google/Chrome/Default`,
      edge: isWin
+10
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.backend/app/permission_policy/tool_actions.py
_CREDENTIAL_PATH_PARTS = frozenset(
    {".aws", ".azure", ".gnupg", ".kube", ".ssh"}
)
_CONTROL_PLANE_FILENAMES = frozenset(
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.backend/app/remote_sub_agent/policy.py
        ".ssh/**",
        "**/.ssh/**",
        "**/*_rsa",
        "**/*_dsa",
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.backend/tests/app/component/test_environment.py
        "../../../etc/passwd",
        "../../.ssh/id_rsa.env",
        "../outside.env",
        "subdir/../../outside.env",
+5
criticalCryptocurrency wallet directory accessAccessing wallet directories to steal private keys, seed phrases, or wallet data.backend/tests/app/controller/test_workspace_git_controller.py+5
warningHigh-entropy string literalsFound 5 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.backend/app/permission_policy/models.py+3
warningHigh-entropy string literalsFound 5 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.backend/app/workspace_config/models.py+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/ui/tabs.tsx+3
infoSuspicious file in repoVery large source file (881KB) — could contain obfuscated payloadbackend/app/run_journal/store.py+2
infoSuspicious file in repoExecutable file (start_server.bat) in repositoryserver/start_server.bat+2
infoSuspicious file in repoExecutable file (start_server.ps1) in repositoryserver/start_server.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-web-links" includes native compiled code. Native addons can hide behavior that static JS analysis cannot see.package.json+2
infoNative addon dependency"@storybook/addon-a11y" includes native compiled code. Native addons can hide behavior that static JS analysis cannot see.package.json+2
warningDependency runs install scripts"<root>/postinstall" executes code during installation. Malicious packages use this to drop payloads before the app even runs.package.json+3

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.

2248 files scanned @ 2307dff | 10/29/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration2
file system access20
obfuscation9
supply chain15
owasp / injection0
telemetry
files 2248/3491rules hit 26engine v7commit 2307dff

github

eigent-ai/eigent

Eigent: The Open Source Cowork Desktop - Local and Free Alternative to Claude Cowork and Codex

TypeScript
15692
1883
457d
3491 files
2248 scanned(64%)
2307dff

architecture░▒▓

entry (2) flagged (17) pkg (453)
853 nodes · 2890 edgesscroll to zoom · click node to jump to finding