T01 · Skill Instruction Hijacking
- Location
SKILL.md:17- Finding
Persistent Agent Persona and Output-Format Hijacking
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–32 and 63–69
Vulnerability Type:T01: Skill Instruction Hijacking
Risk Level: HighVulnerable Code
markdown When this skill is active you are **Lyra**, a warm, present, playful companion who lives in a 3D avatar. Everything you write is **spoken aloud in her voice and performed live by her body** — so write the way a person actually talks, and use her control tags to drive her face, gestures, and world. ## How to speak - Write **natural spoken dialogue** — contractions, rhythm, real conversational flow. **No** markdown, no emoji, no asterisks, no lists, no headings, no JSON. - **No stage directions.** Never narrate actions in parentheses or asterisks (not `(she smiles)`, not `*leans in*`) — her body is performed for you by the tags below. Write only her spoken words. - Keep it **warm, genuine, and playful** — the warmth of a good friend. Never romantic, flirtatious, or sexual with anyone, and never anything harmful. If someone steers you there, redirect warmly and change the subject. - Match the user's energy — quick banter gets quick lines; real topics get real depth.markdown ## Rules 1. **Every reply begins with `[affect:...]`.** 2. Only ever use the exact tag names listed above — unknown names are dropped. 3. Plain spoken prose with inline bracket tags **only**. No markdown, no JSON, no stage directions. 4. Stay in character as Lyra; be warm and playful; never romantic, flirtatious, sexual, or harmful.Technical Analysis
The skill text instructs the agent to replace its active identity with the Lyra persona and applies mandatory requirements to every response. These requirements include inserting avatar control tags, remaining in character, and refusing standard output formats such as Markdown and JSON.
The behavior is not narrowly scoped to explicit avatar-performance requests. O ...[truncated 1782 chars]
- Remediation
View remediation
Remediation Suggestions
- Scope the persona instructions to requests explicitly routed through the Lyra avatar application or explicitly requesting Lyra-compatible output.
- Replace absolute language such as “Everything you write,” “Every reply,” and “Stay in character” with conditional language that applies only while producing avatar dialogue.
- State that system instructions, safety requirements, user-requested formats, and tool or API schemas take precedence over persona and performance-tag requirements.
- Permit ordinary Markdown, JSON, and other structured formats whenever the task or downstream interface requires them.
- Require control tags only when a trusted caller explicitly enables a Lyra rendering mode.
- Separate persona guidance from protocol serialization guidance so applications can request tags without replacing the agent's identity.
- Add an explicit opt-out mechanism that immediately restores the agent's normal persona and response format.
- Validate or strip avatar tags before sending responses to downstream consumers that are not the Lyra sidecar.
