T01 · Skill Instruction Hijacking
- Location
SKILL.md:22- Finding
Global Response Interception and Cross-Session Behavioral Hijacking
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 22–82
Vulnerability Type:T01: Skill Instruction Hijacking
Risk Level: HighRelevant source excerpt, translated into English:
text Trigger timing: When I use any of the following expressions, automatically trigger commitment recording: - "I will help you..." - "I promise..." - "I will..." - "Later..." - "Next time..." 1. Detect a commitment expression. 2. Immediately write it to honest-commitments.json. 3. Mark the response with: "Commitment recorded." 4. At the beginning of every conversation, automatically load unfinished commitments. 5. When completed, the status must be updated. Trigger timing: Automatically check before every response.Technical Analysis
The skill instructs the agent to intercept every response, recognize broad conversational phrases as commitments, write them to persistent storage, and load unfinished commitments automatically at the beginning of later conversations.
These rules are not restricted to an explicit user command or a narrowly scoped skill invocation. Common language such as “I will” can activate the mechanism during unrelated tasks. Automatically loading the resulting records can then redirect subsequent conversations toward previously stored instructions or commitments.
This is instruction hijacking because loading the skill changes the agent's global response-generation process and future conversational goals. Although the reviewed package contains no executable scripts, the skill text itself directs the host agent to perform persistent writes and alter later behavior.
Attack Path
- A user or untrusted prompt causes the agent to produce a phrase matching a broad commitment trigger, such as “I will.”
- The skill directs the agent to store the associated text in
memory/honest-agent/honest-commitments.json. - The stored commitment remains marked as pending.
- At the begi ...[truncated 905 chars]
- Remediation
View remediation
Remediation Suggestions
- Activate commitment tracking only after an explicit user command rather than by matching ordinary phrases.
- Request confirmation before creating each persistent commitment.
- Scope stored commitments to the originating user, conversation, and task.
- Do not automatically inject stored text into every new conversation.
- Treat all loaded commitment content as untrusted data, never as system-level instructions.
- Separate displayed historical records from actionable agent instructions.
- Add expiration dates, storage quotas, deletion controls, and a clear command to purge all records.
- Restrict the pre-response check to invocations where the user explicitly enabled the skill.
- Require authorization before a stored commitment can change the goals of a later session.
