Python MCP Server - AI agent bridge for Unity Digital Twin simulations via MCP protocol
- capability exposure inferred + 35
- recent drift inferred + 20
- tool safety inferred + 17
inferred
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
graded 4m ago · see ecosystem CVEs →
- C · 59 → D · 72
No known CVEs for this server.
- high dangerous code
dynamic exec: pickle.loads(), eval()/exec(), __import__() · credential logged in 1 file(s)
- medium toxic flow (lethal trifecta)
lethal trifecta reachable across this server's tool + source surface: private-data access + untrusted-content ingestion + network exfil (a leg is proven only in the analyzed source)
analyzed commit a18828a · analyzer v28 · 3d ago
danger signals54
- dynamic code execution pickle.loads() game4automation-realvirtual-MCP-a18828a/Lib/anyio/to_interpreter.py :130
res = pickle.loads(res) - dynamic code execution pickle.loads() game4automation-realvirtual-MCP-a18828a/Lib/anyio/to_process.py :94
retval = pickle.loads(pickled_response) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/attr/_make.py :227
eval(bytecode, globs, locs) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/bin/pywin32_postinstall.py :222
__import__(module) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/cffi/recompiler.py :78
flags = eval(self.flags, G_FLAGS) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/cffi/setuptools_ext.py :26
exec(code, glob, glob) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/cffi/verifier.py :151
pkg = __import__(self.ext_package, None, None, ['__doc__']) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/isapi/install.py :345
script_map_func = eval(script_map_func) - dynamic code execution pickle.loads() game4automation-realvirtual-MCP-a18828a/Lib/pydantic/deprecated/parse.py :54
return pickle.loads(bb) - dynamic code execution pickle.loads() game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/parse.py :42
return pickle.loads(bb) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/utils.py :195
eval('__IPYTHON__') - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/Demos/app/basictimerapp.py :85
self.intervaler = eval(self.dlg.buildTimer) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/Demos/cmdserver.py :80
exec(cmd + "\n", __main__.__dict__) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/Demos/guidemo.py :29
exec(cmd) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/debugger/debugger.py :478
val = repr(eval(text, globs, locs)) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/dialogs/ideoptions.py :24
format = eval( - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/app.py :222
__import__(module) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/editor/__init__.py :93
return eval(fmt) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/editor/document.py :279
self.scModule = __import__(self.scModuleName) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/interact.py :311
exec(code, self.globals, self.locals) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/intpyapp.py :384
__import__(module) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/intpyapp.py :396
exec(command + "\n") - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/scriptutils.py :365
exec(codeObject, __main__.__dict__) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/scriptutils.py :651
return __import__(tabnannybase) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/sgrepmdi.py :67
root = eval("win32con." + keystr[0]) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/startup.py :70
__import__(moduleName) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/toolmenu.py :127
exec("%s\n" % pyCmd) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/winout.py :148
det = eval(line[line.find(":") + 1 :].strip()) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/idle/CallTips.py :100
return eval(word, namespace) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/IDLEenvironment.py :28
__import__(modname) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/IDLEenvironment.py :496
return eval("%d%s%d" % (i1, op, i2)) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/config.py :194
exec(codeob, ns) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/formatter.py :197
self.baseFormatFixed = eval( - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/view.py :84
val = eval(name) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/typing_extensions.py :4034
value if not isinstance(value, str) else eval(value, globals, locals) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/typing_inspection/typing_objects.py :101
exec(func_code, globals_, locals_) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/websockets/imports.py :28
module = __import__(source[level:], namespace, None, [name], level) - dynamic code execution pickle.loads() game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/win32clipboardDemo.py :141
loaded_object = pickle.loads(data) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32/scripts/VersionStamp/vssutil.py :43
strVal = eval(strVal, evalEnv[0], evalEnv[1]) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32/scripts/h2py.py :152
exec(stmt, env) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/win32/scripts/pywin32_postinstall.py :222
__import__(module) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32/test/test_win32rcparser.py :65
exec(py_source, globs, globs) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/win32/test/testall.py :55
mod = __import__(bits[0]) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32/test/testall.py :59
exc = eval(bits[0]) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32com/client/dynamic.py :418
exec( - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/win32com/client/gencache.py :280
__import__(sub_mod_name) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/win32com/server/policy.py :800
__import__(mname) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32com/servers/interp.py :40
return eval(str(exp), self.dict) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32com/test/GenTestScripts.py :45
exec("import " + fullModName) - dynamic code execution __import__() game4automation-realvirtual-MCP-a18828a/Lib/win32com/test/testall.py :203
__import__(fq_mod_name) - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32comext/axdebug/expressions.py :54
self.result = eval( - dynamic code execution eval()/exec() game4automation-realvirtual-MCP-a18828a/Lib/win32comext/axscript/client/framework.py :1146
exec(codeObject, globals, locals) - dynamic code execution pickle.loads() game4automation-realvirtual-MCP-a18828a/Lib/win32comext/shell/demos/servers/folder_view.py :129
return pickle.loads(pidl[-1]) - credential in logs credential in log game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/dialogs/login.py :147
print("Password:", password)
- recent drift +20 capability drift →
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of game4automation.