Back to skill

Security audit

Defold Game Engine

Security checks for vulnerabilities and agentic risk

Overview

This is a Defold game-development reference skill with a user-run helper for adding common libraries; the main risks are ordinary dependency and documentation cautions, not hidden or malicious behavior.

Install this if you want Defold-specific help. Be aware that generic game prompts may activate it, and only run scripts/add_dependencies.py on a project file you intend to modify. Review the GitHub dependencies before adding them, since the skill does not provide checksums or immutable pinned commits.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
scripts/add_dependencies.py:17
Finding

Unverified Third-Party Dependencies Are Added from Mutable External Sources

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger list contains generic phrases such as 'Mobile game', 'Build a game', and 'Game engine' that are not specific to Defold. This can cause the skill to activate for unrelated game-development requests, leading the agent to provide off-target guidance or override a more appropriate skill, which is a scope and routing vulnerability rather than a code-execution issue.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest includes broad trigger phrases such as 'build a game', 'game engine', 'create game', and 'sprite animation' that are not specific to Defold and could cause this skill to activate for unrelated game-development requests. Overbroad activation can route users into specialized guidance when another engine or a general solution is more appropriate, increasing the chance of incorrect or unsafe assistance in downstream tasks.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

At L064 the text explicitly says bundle resources are "Read-write," but the code sample at L067-L070 opens a bundled file only for reading. In typical packaged-app contexts, bundle resources are not generally writable at runtime across platforms, so this documentation appears to contradict the demonstrated behavior and likely the real capability.

Content

No source excerpt is available for this finding.

Context Window Stuffing

Medium
Category
Memory Poisoning
Confidence
85% confidence
Finding

Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.

Content

Scanner excerpt · references/input-system.md (reported line 217)May include surrounding context.

end

text

## Gamepad Input

```lua
function on_input(self, action_id, action)

Tainted flow: 'lines' from pathlib.Path.read_text (line 46, file read) → pathlib.Path.write_text (file write)

Medium
Category
Data Flow
Confidence
65% confidence
Finding

Data from a source is assigned to a variable that is later passed to a sink, creating a variable-mediated taint flow.

Content

Scanner excerpt · scripts/add_dependencies.py (reported line 54)May include surrounding context.

python
lines.insert(i + 1, dep_line)
            break
    
    path.write_text("\n".join(lines))
    print(f"Added: {dep_name}")
    return True

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The file includes bilingual content such as Chinese trigger phrases and mixed-language descriptive text, but it does not state whether the skill supports multiple languages by default or how language is selected. Under the policy, language behavior should be opt-in or clearly documented rather than implicitly imposed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This markdown file includes an os.remove("file.txt") example, which performs irreversible file deletion, but the surrounding text does not warn readers that the operation is destructive. For documentation that demonstrates filesystem modification, a brief caution helps prevent accidental data loss when readers adapt the snippet.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.