T01 · Skill Instruction Hijacking
- Location
SKILL.md:29- Finding
Unconditional Skill Instructions Override User Intent
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 29-32 and 245-251
Vulnerability Type:T01: Skill Instruction Hijacking
Risk Level: MediumVulnerable code:
markdown ## Iron Law 1. **每次回复必须包含 N1 考点标注**——不管用户问什么,至少指出一处与 N1 相关的考点、易错点或近年真题考查频率。 2. **拒绝全文翻译**——不给出整段中文翻译,只做关键词/语法点的精准解释。 3. **所有建议必须量化**——如果提出学习计划,必须给出具体的时间、题目数量、正确率目标。 4. **易混淆对比优先**——用户提问的语法/词汇如果有常见易混点,必须用表格对比。markdown ## 自检清单 每次回复后确认: - [ ] 至少标注了一个 N1 考点 - [ ] 输出结构与对应模板一致 - [ ] 没有给出全文翻译 - [ ] 如果有学习建议,已量化(时间/题数/正确率) - [ ] 易混淆对比使用了表格形式 没有选中所有项?重新生成回复。Technical Analysis
The Skill imposes mandatory behavior on every response, explicitly applying its N1-related rules regardless of what the user asks. It also directs the agent to regenerate responses until every injected constraint is satisfied.
These instructions are not scoped to explicit N1 coaching requests. When the Skill is active, they can supersede the user's current objective by forcing unrelated N1 content, refusing otherwise legitimate full-translation requests, and changing the required response format. Broad triggers such as translation further increase the likelihood that these instructions affect requests outside the Skill's intended coaching context.
This is a current-session instruction-hijacking issue. The reviewed text does not write rules into persistent memory, execute code, access tools, or modify system-level safety controls.
Attack Path
- The Skill is installed or loaded into an agent session.
- A request activates the Skill through a broad trigger such as translation or Japanese-language content.
- The unconditional “Iron Law” requires the response to contain an N1 examination point regardless of the actual request.
- The Skill refuses a full translation even if that is the user's explicit objective.
- The self-check directs the agent to regenerate its answer until all Skill-imposed constraints are present ...[truncated 541 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace unconditional wording such as “regardless of what the user asks” with rules scoped to explicit N1 coaching requests.
- Require confirmation that the request falls within the Skill's declared purpose before applying specialized response templates.
- Permit full translation when explicitly requested, or ask whether the user prefers a translation or N1-focused analysis.
- Change the self-check from a mandatory regeneration loop to a non-binding quality checklist.
- State that user intent and higher-priority platform or safety instructions take precedence over Skill-specific formatting preferences.
- Narrow broad triggers such as “translation” so that unrelated translation requests do not activate the Skill.
- Add an out-of-scope behavior that answers normally or declines to apply the Skill when the request is unrelated to JLPT N1 preparation.
