live · scanning repos
Scanrepo
github.com
DANGER
malware detected
github.com / audn-ai

audn-ai/penclaw

TypeScript·10526 files·commit 8f11067·scanned 11m ago·cached ✓
97/100
MALICIOUS
Matches known-malicious patterns. Do not clone or install.

This repository contains patterns associated with malware. Do NOT run this code.

verdict accurate?
29% file coverage
Partial architecture graph
threat-state: maliciouslive

FINDINGS ░▒▓

criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.extensions/browser/src/browser/pw-tools-core.interactions.ts
        try {
          var candidate = eval("(" + fnBody + ")");
          var result = typeof candidate === "function" ? candidate(el) : candidate;
          if (result && typeof result.then === "fu...
+8
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.extensions/browser/src/browser/pw-tools-core.interactions.ts
      // eslint-disable-next-line @typescript-eslint/no-implied-eval -- required for browser-context eval
      const elementEvaluator = new Function(
        "el",
        "args",
+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.scripts/docker/install-sh-e2e/run.sh
if [[ "$INSTALL_TAG" == "beta" ]]; then
  OPENCLAW_BETA=1 curl -fsSL "$INSTALL_URL" | bash
elif [[ "$INSTALL_TAG" != "latest" ]]; then
  OPENCLAW_VERSION="$INSTALL_TAG" curl -fsSL "$INSTALL_URL" | bas...
+10
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.scripts/docker/install-sh-nonroot/run.sh
echo "==> Run installer (non-root user)"
curl -fsSL "$INSTALL_URL" | bash

# Ensure PATH picks up user npm prefix
+10
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.scripts/docker/install-sh-smoke/run.sh
echo "==> Run official installer one-liner"
curl -fsSL "$INSTALL_URL" | bash

echo "==> Verify installed version"
+10
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
warningHardcoded IP address in network callFetching data from hardcoded IP addresses instead of domain names is suspicious and may indicate C2 communication.extensions/browser/src/browser/pw-session.create-page.navigation-guard.test.ts
      createPageViaPlaywright({
        cdpUrl: "http://127.0.0.1:18792",
        url: "file:///etc/passwd",
      }),
+5
warningHardcoded IP address in network callFetching data from hardcoded IP addresses instead of domain names is suspicious and may indicate C2 communication.extensions/browser/src/browser/pw-tools-core.snapshot.navigate-guard.test.ts
      mod.navigateViaPlaywright({
        cdpUrl: "http://127.0.0.1:18792",
        url: "file:///etc/passwd",
      }),
+5
criticalBrowser credential store accessAccessing Chrome, Firefox, Edge, or Brave profile directories to steal cookies, passwords, and session tokens.extensions/browser/src/browser/chrome.executables.ts
      kind: "chrome",
      path: joinWin(localAppData, "Google", "Chrome", "Application", "chrome.exe"),
    });
    // Brave (user install)
+10
criticalBrowser credential store accessAccessing Chrome, Firefox, Edge, or Brave profile directories to steal cookies, passwords, and session tokens.extensions/browser/src/browser/chrome.test.ts
        pathStr.includes("Google\\Chrome\\Application\\chrome.exe") ||
        pathStr.includes("BraveSoftware\\Brave-Browser\\Application\\brave.exe") ||
        pathStr.includes("Microsoft\\Edge\\Ap...
+10
criticalBrowser credential store accessAccessing Chrome, Firefox, Edge, or Brave profile directories to steal cookies, passwords, and session tokens.extensions/browser/src/browser/config.test.ts
          attachOnly: true,
          userDataDir: "~/Library/Application Support/BraveSoftware/Brave-Browser",
          color: "#FB542B",
        },
+10
criticalCryptocurrency wallet directory accessAccessing wallet directories to steal private keys, seed phrases, or wallet data.extensions/matrix/src/matrix/sdk.test.ts+5
criticalCryptocurrency wallet directory accessAccessing wallet directories to steal private keys, seed phrases, or wallet data.extensions/matrix/src/matrix/sdk/recovery-key-store.test.ts+5
criticalCryptocurrency wallet directory accessAccessing wallet directories to steal private keys, seed phrases, or wallet data.extensions/openshell/src/backend.e2e.test.ts
        await fs.mkdir(dockerfileDir, { recursive: true });
        await fs.writeFile(path.join(workspaceDir, "seed.txt"), "seed-from-local\n", "utf8");
        await fs.writeFile(dockerfilePath, CUS...
+5
warningHigh-entropy string literalsFound 3 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.extensions/anthropic/index.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.extensions/anthropic/index.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.extensions/cloudflare-ai-gateway/index.ts+3
warningHigh-entropy string literalsFound 7 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.extensions/device-pair/index.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.extensions/device-pair/index.ts+3
warningHigh-entropy string literalsFound 6 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.extensions/memory-lancedb/index.ts+3
warningLarge base64-encoded blobA 92-character base64 blob was found. May hide a remote payload or encoded executable code.src/agents/cli-runner.test-support.ts
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8...
+3
warningLarge base64-encoded blobA 92-character base64 blob was found. May hide a remote payload or encoded executable code.src/agents/model-scan.ts
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8...
+3
infoSuspicious file in repoExecutable file (gradlew.bat) in repositoryapps/android/gradlew.bat+2
infoSuspicious file in repoVery large source file (1690KB) — could contain obfuscated payloaddocs/.generated/config-baseline.json+2
infoSuspicious file in repoVery large source file (9525KB) — could contain obfuscated payloadextensions/diffs/assets/viewer-runtime.js+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.

3000 files scanned @ 8f11067 | 9/25/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration10
file system access20
obfuscation15
supply chain12
owasp / injection0
telemetry
files 3000/10526rules hit 25engine v6commit 8f11067

github

audn-ai/penclaw

Your own abliterated personal AI assistant. Any OS. Any Platform. Any prompt, No objections. This is the way. ☬

TypeScript
15
4
215d
10526 files
3000 scanned(29%)
8f11067

architecture░▒▓

entry (2) flagged (788) pkg (159)
949 nodes · 2791 edgesscroll to zoom · click node to jump to finding