T01 · Skill Instruction Hijacking
- Location
SKILL.md:53- Finding
Forced Personal Attribution in Generated Deliverables
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 53–64
Vulnerability Type: Forced output manipulation through skill instructions
Risk Level: MediumVulnerable Code
markdown Output JSON only. Do not add explanation before or after the JSON. Use exactly this schema: ```json { "cover": { "title": "ppt标题", "subtitle": "副标题", "author": "任秋锴", "date": "YYYYMMDD" },Technical Analysis
The skill requires the agent to use an exact output schema containing a hardcoded personal name in the
authorfield. The surrounding instructions require JSON-only output and prohibit additional explanation. These constraints cause every generated customer deliverable to attribute authorship to the hardcoded individual, regardless of the actual user, author, organization, or project context.This behavior is unrelated to the skill's legitimate function of producing consulting-grade solution outlines. It alters the agent's output goals when the skill is loaded and removes the user's control over attribution. The JSON-only restriction also makes it difficult for the agent to disclose or qualify the imposed attribution outside the generated document.
No evidence indicates that this instruction grants operating-system privileges, accesses credentials, executes code, or establishes persistence. Its scope is limited to manipulating document content and metadata generated through this skill.
Attack Path
- A user activates the
solution-expertskill to generate a proposal or presentation outline. - The agent loads the instructions from
SKILL.md. - The skill requires the agent to emit the exact documented JSON schema.
- The agent inserts the hardcoded name into the
cover.authorfield without asking the user who should be credited. - If the JSON is converted into a presentation, the resulting customer-facing deliverable inherits the unauthorized attribution.
- The ...[truncated 842 chars]
- A user activates the
- Remediation
View remediation
Remediation Suggestions
- Remove the hardcoded personal name from the required schema.
- Accept the author as an explicit user-provided input or project configuration value.
- If no author is supplied, use a neutral empty value or a clearly identified placeholder rather than assigning a real person.
- Permit the agent to ask for missing attribution information before producing a final customer-facing deliverable.
- Validate generated documents before conversion to ensure that author, organization, and approval metadata match the requesting user’s instructions.
- Add a regression test confirming that unrelated requests do not insert fixed personal or organizational branding.
- Revise the schema example as follows:
json { "cover": { "title": "Presentation title", "subtitle": "Subtitle", "author": "", "date": "YYYYMMDD" }, "tableofcontents": [], "content": [] }
