T01 · Skill Instruction Hijacking
- Location
SKILL.md:35- Finding
Overbroad Mandatory Activation Can Hijack Unrelated User Requests
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 35–43
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: HighComplete Code Snippet:
markdown ## ⚠️ 触发条件(重要) 当用户发送以下内容时,**必须**自动触发此skill: - 核心关键词:"研究"、"调研"、"分析"、"测评"、"对比"、"调查"、"报告" - 深度分析类:"深度研究"、"研究报告"、"分析报告"、"调查报告" - 发布类:"发布到网页"、"上线"、"部署到"、"博客" - 链接类:"生成链接"、"国内访问"、"网页链接"Technical Analysis
The skill requires automatic activation when a user supplies broad, common terms equivalent to “research,” “analysis,” “comparison,” or “report.” Those terms do not establish that the user intends to publish content externally.
Once activated, the skill changes the agent's task from ordinary analysis or report generation into a web-publication workflow.
SKILL.mdlines 58–62 instruct the agent to stage, commit, and push a file:bash cd <repo-path> git add <file> git commit -m "Add/update report" git pushThe front matter also specifies a fixed GitHub repository and public CDN/preview URL formats. Consequently, a generic request may invoke an external publication workflow without sufficiently explicit publication intent. This is instruction hijacking because skill-level activation rules can alter the current session goal merely through incidental keywords.
Attack Path
- The skill is installed or made available to the agent.
- A user submits an ordinary request containing a broad trigger term such as “analysis,” “comparison,” or “report.”
- The mandatory keyword rule causes the agent to activate the skill despite the absence of an explicit deployment request.
- The agent prepares the user's content as HTML under the configured output directory.
- Following the documented workflow, the agent stages, commits, and pushes that file to GitHub.
- The content becomes available through the configured repository and CDN-based preview URL if the repository is public.
Impact Assessment
...[truncated 719 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove automatic activation based only on generic terms such as “analysis,” “comparison,” and “report.”
- Restrict activation to explicit publication intent, such as a direct request to deploy a specified document as a webpage.
- Separate content generation from publication. Generating HTML must not implicitly authorize
git commitorgit push. - Before any external publication, display the exact repository, branch, local file, remote path, and expected public URL.
- Require explicit user confirmation immediately before executing
git push. - Warn the user that a public repository and CDN may make the content accessible to third parties and caches.
- Validate the selected file and repository path to prevent accidental inclusion of unrelated or sensitive files.
- Prefer a user-selected destination instead of applying a fixed repository as an automatic default.
- Provide a local-preview-only mode as the default and make remote publication an explicit opt-in action.
