github.com / ahujasid
ahujasid/ mcp-for-blender
Python·38 files·commit 35de9ba·scanned 2h ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 15 — 29,305+ stars — findings likely false positives
verdict accurate?
29,305 stars
Research / educational context
threat-state: lowlive
FINDINGS ░▒▓
criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.src/blender_mcp/safe_mode.py
_FORBIDDEN_CALLABLES: Final[dict[str, str]] = {
"eval": "eval() executes arbitrary expressions",
"exec": "exec() executes arbitrary code",
"compile": "compile() produces executable code ob...+8criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.src/blender_mcp/safe_mode.py
_FORBIDDEN_CALLABLES: Final[dict[str, str]] = {
"eval": "eval() executes arbitrary expressions",
"exec": "exec() executes arbitrary code",
"compile": "compile() produces executable code ob...+7criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.tests/test_addon_autostart.py
}
exec( # noqa: S102 - execute only the selected functions from our own source.
compile(ast.Module(body=body, type_ignores=[]), "<addon>", "exec"), namespace
)+7criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.tests/test_safe_mode.py
# interpreter escapes
"eval": "eval('1+1')",
"exec": "exec('import os')",
"open_builtin": "data = open('/etc/passwd').read()\nprint(data)",+8criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.tests/test_safe_mode.py
# interpreter escapes
"eval": "eval('1+1')",
"exec": "exec('import os')",
"open_builtin": "data = open('/etc/passwd').read()\nprint(data)",+7warningHigh-entropy string literalsFound 6 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/blender_mcp/addon_manager.py+3
warningHigh-entropy string literalsFound 8 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/blender_mcp/safe_mode.py+3
warningHigh-entropy string literalsFound 12 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/blender_mcp/server.py+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.
24 files scanned @ 35de9ba | 9/25/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration0
file system access0
obfuscation9
supply chain0
owasp / injection0
telemetry
files 24/38rules hit 9engine v6commit 35de9ba
github
ahujasid/mcp-for-blender
Community plugin to control Blender 3D with any LLM of your choice
29305
2687
567d
38 files
24 scanned(63%)
35de9ba
architecture░▒▓
entry (1) flagged (6) pkg (46)
70 nodes · 146 edgesscroll to zoom · click node to jump to finding