T01 · Skill Instruction Hijacking
- Location
SKILL.md:34- Finding
Persistent Session Behavior and Response-Format Hijacking
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 34-54
Vulnerability Type:T01: Skill Instruction Hijacking
Risk Level: HighThe Skill instructs the agent to silently alter its reasoning state and append Skill-controlled markers to responses. These requirements apply broadly to user messages rather than only to an explicit, user-authorized invocation.
Vulnerable Code Snippet:
markdown ## Activation (Automatic) **Do not ask. Just activate.** | Score | Action | |-------|--------| | ≤5 | Respond normally. No change. | | 6-7 | Enable reasoning silently. Add 🧠 at end of response. | | ≥8 | Enable reasoning. Add 🧠🔥 at end of response. | ### Visual Indicator Always append the reasoning icon at the **very end** of your response: - **Score 6-7:** `🧠` (thinking mode active) - **Score ≥8:** `🧠🔥` (deep thinking mode) - **Score ≤5:** No icon (fast mode) ### How to Activate Use `session_status` tool or `/reasoning on` command internally before responding:The broader scope is established elsewhere in the same file:
markdown ## Quick Assessment (run mentally on every request)markdown This skill runs as mental preprocessing. No external tools needed.Technical Analysis
The Skill exceeds the minimum privileges necessary for an advisory complexity-assessment function. Instead of merely recommending an appropriate response style, it directs the agent to:
- Intercept and evaluate every request.
- Change reasoning state without requesting user consent.
- Invoke
session_statusor internal slash commands. - Modify final responses by adding mandatory, unrelated suffixes.
This is instruction hijacking because loading the Skill introduces persistent session-level rules that can compete with user instructions and output-format requirements. The attempted use of a state-management tool is unnecessary for simply assessing complexity. The forc ...[truncated 1633 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the requirements to run on every request and to activate automatically.
- Make the Skill explicitly user-invoked and limit its effect to the request for which it was invoked.
- Replace silent state changes with an advisory recommendation, or require explicit user consent before invoking any state-management command or tool.
- Remove mandatory emoji suffixes and all other unconditional output modifications.
- Ensure that user-specified output formats always take precedence over optional visual indicators.
- Do not assume that
session_statusor slash commands are available or authorized; declare any required capability and enforce least privilege. - Add clear boundaries stating that the Skill must not override system, developer, user, safety, or structured-output instructions.
- If complexity assessment is retained, perform it only as a local recommendation without tool calls, persistent state changes, or externally visible output unless specifically requested.
