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

kumoproductions/mcp-aftereffects

TypeScript·154 files·commit 73fea51·scanned 4d ago·cached ✓
40/100
SUSPICIOUS
Obfuscation or dynamic code paths detected. Intent unclear — review before running anything.
verdict accurate?
CLI tool detected
threat-state: suspiciouslive

FINDINGS ░▒▓

criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.src/transport/dialogs.ts
  new Promise((resolve, reject) => {
    execFile(
      "powershell.exe",
      [
+8
criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.jsx/json2.jsx
            }
            return eval("(" + t + ")");
        }
        JSON = { stringify: stringify, parse: parse };
+8
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.jsx/serve.jsx
        var logs = response.logs;
        var fn = new Function(
            "app", "log", "payload",
            request.code
+5
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.tests/error-text.test.ts
  const body = extractFunction(readFileSync(HELPERS_PATH, "utf8"), "AE.errText = function (e) {");
  return new Function(`var AE = {}; ${body}; return AE.errText;`)() as Formatter;
}
+5
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.tests/json-safety.test.ts
  const src = readFileSync(JSON2_PATH, "utf8");
  const load = new Function("JSON", `${src}\nreturn JSON;`) as (
    j: undefined,
  ) => ReturnType<typeof loadPolyfill>;
+5
criticalSuspicious code is reachable from an entry pointFlagged files are imported by the application's entry path: src/transport/dialogs.ts. This means the suspicious code can execute when the app runs.+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
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.src/operations/keyframe.ts+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.

132 files scanned @ 73fea51 | 10/25/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration0
file system access0
obfuscation3
supply chain0
owasp / injection0
telemetry
files 132/154rules hit 8engine v7commit 73fea51

github

kumoproductions/mcp-aftereffects

TypeScript MCP server for Adobe After Effects (Windows & macOS) — project/comp/layer introspection, atomic undo-grouped operations, JSON project export/import, and single-frame rendering via file IPC.

TypeScript
133
9
82d
154 files
132 scanned(86%)
73fea51

architecture░▒▓

entry (1) flagged (7) pkg (13)
136 nodes · 305 edgesscroll to zoom · click node to jump to finding
SUSPICIOUS (40/100) — kumoproductions/mcp-aftereffects — ScanRepo