github.com / seedds
seedds/ nxnative
Objective-C·2372 files·commit a662f29·scanned 2h ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 25 — 9,678 stars — findings likely legitimate code patterns
scored by engine v9: rules have changed since, rescan for the current result
verdict accurate?
Created 17 days ago
Created 17 days ago
5% file coverage
threat-state: lowlive
FINDINGS ░▒▓
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.dm/gfx/tests/test_discard.py
scope = {'re': re}
exec(compile(ast.Module(body=[node], type_ignores=[]), str(path), 'exec'), scope)
SOURCE = '''#include <metal_stdlib>+7criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.dm/gfx/tests/test_dmsh_geometry.py
ns = {'re': re, 'sys': sys}
exec(ast.get_source_segment(builder, node), ns)
# The production helper locates the translated vertex entry at file end.
vertex, pixel = src.split('fragment...+7criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.dm/gfx/tests/test_dmsh_pairs.py
ns = dict(collections=collections, os=os, re=re, sys=sys, hashlib=hashlib)
exec(compile(ast.Module(body=[n for n in tree.body if isinstance(n, ast.FunctionDef) and n.name in names],
...+7warningPython subprocess / os.system usageos.system() or subprocess with shell=True / suspicious commands can execute arbitrary shell commands. Plain pip/package installs are usually benign.dm/ios/tests/test_ipa_unsigned.py
env.update(GAME=GAME, DM=str(root / 'dm'), PROFILE_TOOL=str(REPO / 'dm/games/game.py'), **extra)
return subprocess.run(['/bin/bash', '-c', PREAMBLE + script], cwd=root, env=env, capture_output...+4warningPython subprocess / os.system usageos.system() or subprocess with shell=True / suspicious commands can execute arbitrary shell commands. Plain pip/package installs are usually benign.dm/ios/tests/test_profile_pack.py
packing = script[script.index('\nP=Payload/DmIOS.app\n'):]
result = subprocess.run(['/bin/bash', '-c', 'set -u\nt() { :; }; die() { echo "$*" >&2; exit 1; }\n'
...+4warningPython subprocess / os.system usageos.system() or subprocess with shell=True / suspicious commands can execute arbitrary shell commands. Plain pip/package installs are usually benign.dm/ios/tests/test_xcode_workflow.py
gen_resources.main()
result = subprocess.run(['bash', str(REPO / 'dm/ios/tools/stage_resources.sh')],
env=enviro...+4Scores 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.
120 files scanned @ a662f29 | 10/29/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration0
file system access0
obfuscation0
supply chain0
owasp / injection0
telemetry
files 120/2372rules hit 7engine v9commit a662f29
github
seedds/nxnative
Switch games running natively on iPhone, iPad and Mac: an NSP folder becomes an unsigned IPA (NSO rewriter, Horizon HLE host, NVN→Metal)
9678
1559
17d
2372 files
120 scanned(5%)
a662f29
network indicators░▒▓
Hosts this code names or would connect to. 44 found, decoded and call-site destinations first. Informational, not scored.
- https://github.com/KhronosGroup/SPIRV-Cross.giturldm/gfx/tools/spirv_cross_bin/build.sh:18
- http://www.apple.com/DTDs/PropertyList-1.0.dtdurldm/ios/tools/build_ipa.sh:127 +1 more
- https://github.com/roccodev/ard-tools/blob/master/docs/arh1.mdurldm/gfx/tools/shader_split.py:1812
- humanizer.core.afdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:694
- humanizer.core.ardomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:701
- humanizer.core.azdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:708
- humanizer.core.bgdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:715
- humanizer.core.bndomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:722
- humanizer.core.cadomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:729
- humanizer.core.dadomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:743
- humanizer.core.dedomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:750
- humanizer.core.esdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:764
- humanizer.core.fadomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:771
- humanizer.core.fidomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:778
- humanizer.core.frdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:792
- humanizer.core.hedomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:799
- humanizer.core.hrdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:806
- humanizer.core.hudomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:813
- humanizer.core.hydomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:820
- humanizer.core.jadomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:848
- humanizer.core.kodomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:855
- humanizer.core.kudomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:862
- humanizer.core.lbdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:869
- humanizer.core.ltdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:876
- humanizer.core.lvdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:883
- humanizer.core.msdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:890
- humanizer.core.mtdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:897
- humanizer.core.nbdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:904
- humanizer.core.nldomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:911
- humanizer.core.ptdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:925
- humanizer.core.rodomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:939
- humanizer.core.rudomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:946
- humanizer.core.skdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:953
- humanizer.core.sldomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:960
- humanizer.core.srdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:967
- humanizer.core.svdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:981
- humanizer.core.thdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:988
- humanizer.core.trdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:995
- humanizer.core.ukdomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:1002
- humanizer.core.vidomaindm/gfx/tools/dmsh_xlate_bin/dmsh_xlate.deps.json:1023
- org.nxnative.cidomaindm/ios/tools/build_smoke.py:55
- built.okdomainscripts/regress.py:379 +1 more
- https://github.com/masagrator/…/blob/v4/…/plugins/…/patches/…/….yamlurlcomment onlydm/games/010056B015FE8000/patches.py:6
- https://github.com/yogesh1239/…/tree/…urlcomment onlydm/games/01007300020FA000/patches.py:6
architecture░▒▓
entry (0) flagged (13) pkg (68)
182 nodes · 371 edgesscroll to zoom · click node to jump to finding