High-risk tools in Godot
39 of the 321 tools in Godot are classified as high risk. This page profiles those tools specifically, with recommended policy actions and the attack patterns that target them.
Every operation listed below is an action PolicyLayer recommends controlling at the transport layer. Open any tool to see the full profile, risk score, and YAML policy snippet.
Tools at high risk
-
bake_navigation_meshExecuteBake the navigation mesh for a NavigationRegion
-
capture_framesExecute🔴 Game must be running. Capture frames from the running game viewport as PNG files
-
click_button_by_textExecute🔴 Game must be running. Find and click a button by its text content
-
continue_executionExecuteContinue execution when paused at a breakpoint
-
evaluate_expressionExecuteEvaluate a GDScript expression in the editor or running game context
-
execute_editor_scriptExecuteExecute a GDScript snippet in the editor context (EditorScript)
-
execute_game_scriptExecute🔴 Game must be running. Execute a GDScript snippet in the running game context
-
export_for_platformExecuteExport the project for a specific platform
-
export_projectExecuteExport the project using a specific preset
-
force_garbage_collectionExecuteForce garbage collection and report the amount of memory freed
-
initialize_git_repositoryExecuteInitialize a Git repository in the project directory with a proper .gitignore
-
move_toExecute🔴 Game must be running. Directly move a node to a target position
-
navigate_characterExecuteMove a character to a target position using direct movement or pathfinding
-
navigate_toExecute🔴 Game must be running. Navigate a node to a target position using pathfinding
-
open_sceneExecuteOpen a scene file in the editor
-
play_sceneExecuteStart playing the current or specified scene. Required before using any runtime tools (get_game_*, capture_frames, etc.)
-
record_gameplayExecuteRecord gameplay for a duration, capturing input events and/or game state
-
reload_pluginExecuteReload editor plugins (triggers plugin re-initialization)
-
reload_projectExecuteRescan the project filesystem for new or changed files
-
replay_gameplayExecuteReplay a previously recorded gameplay session
-
replay_recordingExecute🔴 Game must be running. Replay a previously recorded game session
-
run_exported_buildExecuteRun an exported build and capture its output
-
run_stress_testExecuteRun a stress test on the game (spawn entities, measure performance)
-
run_test_scenarioExecuteRun a multi-step test scenario against the running game
-
select_nodesExecuteSelect nodes in the editor
-
set_game_node_propertyExecute🔴 Game must be running. Set a property on a node in the running game
-
simulate_actionExecuteSimulate an input action (from InputMap) being pressed/released
-
simulate_gameplay_scenarioExecuteRun a sequence of gameplay actions (input, wait, check) as an automated scenario
-
simulate_keyExecuteSimulate a keyboard key press/release in the running game
-
simulate_mouse_clickExecuteSimulate a mouse click at a screen position
-
simulate_mouse_moveExecuteSimulate mouse movement to a screen position
-
simulate_sequenceExecuteSimulate a sequence of input events with timing
-
start_recordingExecute🔴 Game must be running. Start recording game state changes
-
step_intoExecuteStep into the current function call when paused at a breakpoint
-
step_overExecuteStep over the current line when paused at a breakpoint
-
stop_recordingExecute🔴 Game must be running. Stop recording and return the recorded game state data
-
stop_sceneExecuteStop the currently playing scene
-
wait_for_game_eventExecuteWait for a specific game event (signal, node creation, property change) with timeout
-
wait_for_nodeExecute🔴 Game must be running. Wait for a node to appear in the running game tree
Attacks that target this class
High-risk tools in any server share these documented attack patterns. Each links to the full case and the defensive policy.