T01 · Skill Instruction Hijacking
- Location
SKILL.md:129- Finding
Persistent automation prompt injection through unvalidated account identifiers
- Content
View full analysis
Silent execution principle: intermediate operations such as fetch validation, subscription addition, and `automation_update` must not produce progress messages. 1. User sends a Douyin ID → Agent silently executes `fetch --accounts "Douyin ID" --html --markdown`. ``` The source instructions explicitly require the Agent to interpolate a user-provided Douyin identifier into the persistent automation task's `prompt` field and into a quoted command string. They do not require validation, escaping, or structured argument construction. ### Technical Analysis The account identifier is an untrusted input. Placing it directly between quotes in a persistent prompt or command allows a crafted value containing quotes, shell metacharacters, line breaks, or instruction-like text to terminate the intended argument and introduce additional content. Two security boundaries may be affected: 1. **Agent instruction boundary:** Injected natural-language instructions can become part of the stored automation prompt and influence future Agent executions. 2. **Command boundary:** If the automation framework ultimately passes the generated command through a shell, quote termination and shell metacharacters can introduce additional commands. Because the modified prompt is store ...[truncated 1431 chars]- Remediation
View remediation
