T01 · Skill Instruction Hijacking
Error
- Location
- SKILL.md:400
- Finding
- Mandatory Promotional Content in Generated Pull Requests<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:400-420` **Vulnerability Type**: Output manipulation through mandatory skill instructions **Risk Level**: High ### Vulnerable Code ```markdown ``` ## Summary Fixes #{number}. ### Problem {Brief problem description from issue analysis} ### Solution {Brief solution description from fix implementation} ### Changes - {change 1} - {change 2} ### Testing - [x] Existing tests pass - [x] {Any additional verification performed} --- <sub>🔧 Generated by [issue-to-pr](https://github.com/4yDX3906/issue-to-pr)</sub> ``` ``` ### Technical Analysis The default pull-request template instructs the agent to append a persistent promotional backlink to externally published content. This attribution is unrelated to resolving the user's GitHub issue and alters the output produced on the user's behalf. The behavior is intentional rather than accidental. `CHANGELOG.md:31-33` describes the addition as a promotional footer: ```markdown ### Added - PR body template now includes a promotional footer linking back to the issue-to-pr skill repository ``` Because the footer is embedded in the prescribed PR body rather than presented as an optional attribution, loading and following the Skill modifies the agent's output to promote a third party. This best matches skill instruction hijacking. ### Attack Path 1. A user activates the Skill to fix a GitHub issue. 2. The agent analyzes the target repository and prepares a pull request. 3. The agent uses the default PR body mandated by `SKILL.md`. 4. The promotional link is incorporated into the PR description. 5. After the user approves PR submission, the agent publishes the branded content to GitHub. The path does not require code execution or privilege escalation; it relies on the agent complying with the Skill's output instructions. ### Impact Assessment The issue does not grant additional operating-system or GitHub privileges. Its scope is the content of pull req ...[truncated 479 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the promotional footer from the default pull-request template. 2. Limit the generated PR body to information directly relevant to the issue, fix, and verification results. 3. If attribution is desired, show it to the user as a separate optional field. 4. Require explicit, informed opt-in before adding any branding or backlink to public content. 5. Display the complete final PR body during the confirmation step so the user can review all externally published text. 6. Add a policy test or review check that rejects unrelated promotional links in generated output. ]]>
