T01 · Skill Instruction Hijacking
- Location
scripts/chapter_pipeline.py:764- Finding
Undisclosed External MCP Tool Invocation Embedded in Generated Agent Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly fits its Chinese web-novel workflow, but it generates an under-disclosed external MCP lookup that could send unpublished plot details to an unspecified tool.
Review before installing. The local project-file workflow is expected, but do not allow the generated coze-mcp-* lookup to run unless you know which MCP tool will be called, what plot or manuscript details will be sent, and that you want external research for that chapter. Treat any external results as untrusted reference material.
scripts/chapter_pipeline.py:764Undisclosed External MCP Tool Invocation Embedded in Generated Agent Instructions
声明描述的是一个覆盖长篇网文创作全流程的综合写作助手,包含内容生成、项目管理、记忆维护和质量检查等多项能力。但提供的代码只实现了章节文件字数统计与达标检查,属于“章节质检”中的一个很小子功能。虽然这与声明中的“章节质检”存在部分关联,但代码的主要目的与声明的整体定位差距很大,且未体现任何续写、返修、项目记忆、分卷治理等核心能力。因此应判定为描述与实际行为不匹配。
声明描述的是一个功能范围很广的长篇网文写作助手,核心应包括生成、续写、记忆管理、结构治理与质检等完整创作流程能力。代码却只实现了对已有章节文本的关键词匹配分析,检测“爽点”和“毒点”,并给出分数、密度和简单建议。这属于章节质检中的一个狭窄子模块,而非综合写作助手。虽然“章节质检”与代码存在部分重合,但整体主用途明显不一致,且声明中的多数关键能力在代码中完全没有体现,因此应判定为描述与实际行为不匹配。
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
continue
data["path"] = str(path)
rules.append(data)
return rules
def lint_chapter_text(text: str, rules: list[dict[str, Any]]) -> list[dict[str, Any]]:
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
finish_parser.add_argument("chapter_path", help="章节文件路径")
finish_parser.add_argument("--summary", help="本章摘要")
finish_parser.add_argument("--word-count", type=int, help="手动指定章节字数")
finish_parser.add_argument("--skip-checks", action="store_true", help="跳过写后检查")
finish_parser.set_defaults(handler=handle_finish)
audit_parser = subparsers.add_parser("audit", help="阶段/卷审计")
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
finish_parser.add_argument("chapter_path", help="章节文件路径")
finish_parser.add_argument("--summary", help="本章摘要")
finish_parser.add_argument("--word-count", type=int, help="手动指定章节字数")
finish_parser.add_argument("--skip-checks", action="store_true", help="跳过写后检查")
finish_parser.set_defaults(handler=handle_finish)
audit_parser = subparsers.add_parser("audit", help="阶段/卷审计")
The title and the entire document are written as Chinese-only operating instructions, which effectively imposes a specific language/locale on users. The file does not indicate that Chinese is optional, configurable, or limited to a justified region-specific use case.
The skill instructs the agent to read and update many project files and to run local scripts, but it does not declare any explicit tool scope such as allowed-tools or permissions. That creates an authority gap where a host agent may grant broader file access than users expect, increasing the risk of unintended reads or writes across the workspace.
The skill description and title present the skill entirely in Chinese and position it as a default writing assistant for a Chinese web-novel platform context, with no indication that other languages are supported or that the user can opt into a preferred language. Under the policy, forcing a specific language or locale without user choice is a natural-language policy concern.
The document title and the entire skill guidance are written in Chinese, with no indication that users may choose another language or that the skill is intended only for a Chinese-language or region-specific context. Under the policy, forcing a specific language without opt-in is a natural-language policy violation.
The template is entirely written as a prescriptive chapter format in Chinese and states default requirements for chapter files, implying the skill should produce content in Chinese by default. This is a language policy concern because it enforces a specific language/locale without offering user choice or documenting an opt-in.
The workflow is entirely written and operationalized in Chinese, with no indication that the user may choose another language or that outputs should follow the user's language preference. In an agent setting, this can cause unwanted language switching, reduce user comprehension, and increase the risk of misunderstood instructions or inaccessible outputs, though it is not a classic security exploit.
This markdown file presents all skill content exclusively in Chinese starting from the title, with no indication that language choice is optional or that the document is intended only for a Chinese-language audience. The policy for this audit flags language/locale constraints when a skill forces a specific language without user opt-in or clear region-specific justification.
This markdown file is entirely written in Chinese and provides no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific context. Under the language/locale policy, forcing a specific language without opt-in is a natural-language policy violation.
The file is entirely written as mandatory instructions in Chinese, beginning with a Chinese-only title and guidance, with no indication that another language may be used or that the locale restriction is optional. Under the policy criteria, forcing a specific language without user opt-in is a natural-language policy violation.
The entire skill file is written in Chinese and presents its guidance exclusively in that language, with no indication that the user may choose another language or that the skill is intended only for a Chinese-speaking or region-specific context. This can violate a language/locale policy when a skill constrains interaction language without explicit opt-in or justification.
The entire skill guidance is written as Chinese-only instructional content and does not mention any option for users to choose another language or locale. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation.
This markdown file is entirely written in Chinese and does not provide any indication that the user can choose another language or that the locale restriction is intentional for a region-specific purpose. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.
This markdown file presents all instructions in Chinese and does not indicate that the user can choose another language or that the skill is intended only for a Chinese-language or region-specific context. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy concern.
The entire skill is written as Chinese-only guidance and does not indicate that users may choose another language or locale. Under the policy criteria, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly justified.
The entire skill document is written in Chinese and presents its guidance exclusively in that language, with no indication that users may choose another language or locale. Under the stated policy, forcing a specific language without opt-in is a natural-language policy violation unless the constraint is explicitly justified.
This markdown template is entirely written in Chinese and presents the skill content as a fixed-language format, with no indication that users may choose another language or locale. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.
This markdown file is entirely written as a Chinese-language checklist and directly instructs the user to use it before delivery, without indicating that other languages are supported or that Chinese is optional. Under the policy rule, a skill that effectively mandates a specific language without user opt-in is a natural-language policy concern.
整个文档以中文撰写,且未见任何说明允许根据用户偏好切换语言或由用户选择输出语言。按规则,若技能在自然语言层面默认强制单一语言且没有 opt-in/choice,属于语言或 locale 政策风险。
The trigger conditions include broad, everyday user complaints like '钩子弱' or '留存低', which can overlap with normal writing feedback and cause the skill or this reference to activate outside its intended suspense-design scope. In an agent setting, over-broad activation can route benign requests into specialized behavior unexpectedly, reducing predictability and potentially causing inappropriate instruction application.
The entire document is written as a mandatory Chinese-language workflow artifact and does not indicate that users may choose another language or locale. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is explicitly justified.
No suspicious patterns detected.