godot-dialogue-system
Pass
Audited by Gen Agent Trust Hub on Oct 14, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONCOMMAND_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill is designed to ingest and process external narrative data, which serves as a potential surface for indirect prompt injection if the source data is untrusted.
- Ingestion points:
scripts/dialogue_engine.gdincludes aload_dialogue_graphfunction that parses external JSON files.scripts/dialogue_manager_singleton.gdprocessesDialogueResourceobjects. - Capability inventory: The system can emit gameplay signals via
scripts/dialogue_event_bridge.gd, record analytics viascripts/dialogue_stat_logger.gdusingOS.add_logger, and manipulate UI elements. - Boundary markers: No specific delimiters or "ignore instructions" warnings are implemented for the dialogue text processing.
- Sanitization: The skill relies on Godot's built-in
JSONandResourceparsing, with no additional narrative-layer sanitization for embedded instructions. - [DYNAMIC_EXECUTION]: The skill architecture includes placeholders for dynamic logic evaluation.
- Evidence:
scripts/dialogue_option_data.gddefines acondition_scriptproperty intended for GDScript snippets.scripts/branching_condition_validator.gdnotes the intent for "Dynamic evaluation logic". - Context: No actual execution mechanism (such as
Expression.execute()oreval) is implemented in the provided code; the fields currently act as metadata. - [COMMAND_EXECUTION]: The skill uses Godot's
OSandFileAccesssingletons for legitimate game development purposes. - Evidence:
scripts/dialogue_stat_logger.gdusesOS.add_logger()to register a custom analytics logger.scripts/dialogue_engine.gdusesFileAccess.open()to load dialogue data from the local file system.
Audit Metadata