godot-platform-web
Warn
Audited by Gen Agent Trust Hub on Oct 13, 2026
Risk Level: MEDIUMDYNAMIC_EXECUTIONREMOTE_CODE_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [DYNAMIC_EXECUTION]: Several scripts use
JavaScriptBridge.eval()with string interpolation to execute dynamically generated JavaScript in the browser context.\n - Evidence:
scripts/web_clipboard_interface.gduses%sinterpolation for text copied to the clipboard.\n - Evidence:
scripts/web_external_url_opener.gduses%sinterpolation for URLs passed towindow.open().\n - Evidence:
scripts/web_bridge_sync.gduses%sinterpolation for keys and data saved tolocalStorage.\n - Risk: This pattern is vulnerable to JavaScript injection if the interpolated variables contain malicious payloads, potentially allowing for Cross-Site Scripting (XSS) within the game's origin.\n- [REMOTE_CODE_EXECUTION]: The skill implements functionality to download and load remote Godot resource packs (PCK files) at runtime.\n
- Evidence:
scripts/web_resource_lazy_loader.gddownloads a file viaHTTPRequestand executes it usingProjectSettings.load_resource_pack(body).\n - Risk: Loading remote PCK files is a powerful capability that allows executing arbitrary code and loading resources. If an attacker can control the source URL, they can gain control over the engine environment.\n- [INDIRECT_PROMPT_INJECTION]: The skill provides an attack surface where instructions embedded in external data could influence high-privilege engine capabilities.\n
- Ingestion points: Remote PCK URLs in
scripts/web_resource_lazy_loader.gd, clipboard text inscripts/web_clipboard_interface.gd, and target URLs inscripts/web_external_url_opener.gd.\n - Boundary markers: None; inputs are directly interpolated into execution strings without delimiters or safety warnings.\n
- Capability inventory: Arbitrary JavaScript execution (
eval), remote resource loading (load_resource_pack), and network requests (HTTPRequest).\n - Sanitization: Some scripts like
scripts/web_json_rpc_bridge.gdusejson_escape(), but others rely on raw string interpolation which does not prevent injection.
Audit Metadata