godot-input-handling

Warn

Audited by Gen Agent Trust Hub on Oct 14, 2026

Risk Level: MEDIUMDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
  • [DYNAMIC_EXECUTION]: The skill implements runtime input rebinding persistence using potentially unsafe deserialization methods.
  • scripts/safe_runtime_rebind.gd uses bytes_to_var() to reconstruct InputEvent objects from a file stored in user://input_rebinds.cfg.
  • scripts/input_remapper.gd uses str_to_var() to deserialize event data from user://input_bindings.cfg.
  • While common for local settings in Godot, these functions can be leveraged for unsafe object construction if the underlying configuration file is modified by a malicious actor on the local system.
  • [INDIRECT_PROMPT_INJECTION]: The input rebinding system creates an attack surface by ingesting external data from the local file system.
  • Ingestion points: Files located at user://input_rebinds.cfg and user://input_bindings.cfg are read at runtime in load_rebinds() and load_bindings().
  • Boundary markers: None identified; the data is directly passed to deserialization functions.
  • Capability inventory: The skill has the capability to modify the engine's InputMap globally using InputMap.action_add_event(), which can fundamentally alter how the agent or the application responds to user actions.
  • Sanitization: The skill performs basic type checks (e.g., typeof(encoded) != TYPE_PACKED_BYTE_ARRAY or event is InputEvent) but does not fully validate the integrity or the specific properties of the deserialized objects before applying them to the InputMap.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Oct 14, 2026, 09:23 AM