Back to skill

Security audit

Novel Studio 小说工作室

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Chinese novel-writing helper, but it grants broad file access and can read or update project-configured paths without clear boundaries or confirmation.

Install only for a dedicated novel project workspace. Do not use project.md files from untrusted sources, keep every configured path relative and inside the novel project directory, and review intended file creations or updates before allowing the skill to proceed.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
templates/project.md:45
Finding

Unrestricted Project-Configured Paths Can Cause Unauthorized Local File Access

Content
View full analysis

Vulnerability Details

File Location: templates/project.md:45-53, claw.json:7, agents/compliance-advisor.md:23-25, agents/draft-writer.md:20-25
Vulnerability Type: Unvalidated filesystem paths and excessive filesystem permissions
Risk Level: Medium

Vulnerable Code

claw.json:7:

json
"permissions": ["file.read", "file.write", "file.search"],

Faithful English translation of templates/project.md:45-53:

markdown
> When any agent starts, it must read the following files in addition to its own configuration.

Worldbuilding settings: [path]
Character cards: [path]
Outline or synopsis: [path]
Style specification: [path]
Compliance manual: [path, or "none"]
Fact database: [path]

Faithful English translation of agents/compliance-advisor.md:23-25:

markdown
The following files must be read at startup:
1. project.md — obtain the target platform and compliance-manual path
2. [Compliance manual file] — use the path specified by project.md

Faithful English translation of agents/draft-writer.md:20-25:

markdown
1. project.md — obtain required-file paths and core restrictions
2. [Current chapter context package]
3. [Fact database]
4. [Style specification file] — path obtained from project.md
5. [Character-card file] — path obtained from project.md
6. [Complete story synopsis] — path obtained from project.md

Technical Analysis

The Skill has global file.read, file.write, and file.search permissions. Its agent instructions require files referenced by project.md to be read, but no documented control validates or canonicalizes those paths.

In particular, the implementation does not require configured paths to be relative to the declared project root, reject parent-directory traversal, reject absolute paths, resolve symbolic links safely, or ask for confirmation before accessing files outside the workspace. A malicious or untrusted ...[truncated 2321 chars]

Remediation
View remediation

Remediation Suggestions

  1. Establish a canonical project root when the Skill starts and restrict all filesystem operations to that directory.
  2. Require configured file references to be relative paths. Reject absolute paths, URI-style paths, device paths, and paths containing traversal components.
  3. Resolve each requested path with a canonicalization function before access and verify that the resolved path remains beneath the canonical project root.
  4. Resolve and validate symbolic links to prevent an apparently internal path from escaping the workspace.
  5. Apply the same boundary checks to reads, searches, writes, file creation, and project-state updates.
  6. Split permissions by agent. Agents such as the compliance advisor should receive only file.read and narrowly scoped search access; grant file.write only to workflows that produce or update project artifacts.
  7. Replace global filesystem permissions with workspace-scoped capabilities if the runtime supports them.
  8. Require explicit, informed user confirmation before accessing any exceptional path outside the project root. Display the canonical target path before access.
  9. Treat the contents of all project-referenced documents as untrusted data rather than executable instructions, preventing a loaded document from redefining agent behavior.
  10. Add tests covering absolute paths, parent traversal, nested traversal, symbolic-link escapes, malformed paths, and paths that differ only through normalization.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (40)

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The auto-trigger terms are broad, common words such as '角色', '人物', and '性格', which can appear in ordinary conversation and unrelated requests. This can cause the skill to activate unexpectedly and perform its configured workflow, increasing the chance of unintended file access or output generation in contexts where the user did not explicitly request this agent.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The trigger condition activates on very generic words like '写', '创作', '正文', '章节', and '更新', which are common in ordinary discussion and not specific to intentional invocation of this skill. This can cause accidental activation in unrelated conversations, leading the agent to read and write project files and produce long-form content when the user did not intend to run the drafting workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill metadata and content indicate a Chinese-only specialization without offering a user choice or clear locale constraint. In multi-language environments, this can cause the agent to respond in an unexpected language, degrading reliability, confusing users, or causing downstream workflow errors when other agents or files expect a different language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The description says the system is '专为中文网文打造', which imposes a language/locale scope in natural language. Under the policy, forcing a specific language without explicit user opt-in can be a locale-policy violation unless clearly presented as an optional choice or justified regional tool.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger list uses short, generic Chinese terms such as '写', '编辑', '平台', and '科技', which can match many ordinary user requests and activate agents the user did not explicitly ask for. In a multi-agent skill, this can lead to unintended file reads, workflow branching, or content generation under the wrong specialist, increasing the chance of unnecessary data access and surprising actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the AI to 'automatically create' continuity and chapter context files, but the top-level description and usage guidance do not prominently warn that the skill may write or update project files. Users may invoke it expecting advisory help only, while the agent performs persistent filesystem changes, which is risky in environments where path scope or write permissions are broad.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger phrases are broad enough to activate during ordinary writing-related conversation, which can cause the agent to take over or inject workflow-specific behavior outside the user's intended context. In a multi-agent or tool-enabled environment, over-triggering increases the chance of unnecessary file access, confusing task routing, and unintended influence on subsequent agents' outputs.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill declares file.read, file.write, and file.search capabilities and specifies startup reads plus a fixed output path, but it does not require explicit user-facing disclosure or consent at runtime. In an agent setting, this can lead to silent reads of project files and automatic writes to 人物卡.md, which weakens transparency and can surprise users or overwrite content unintentionally.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file presents the skill name, description, and operating instructions exclusively in Chinese, which effectively forces a specific language for users and operators. The policy allows fixed-language behavior only when users are given a choice or when the locale restriction is explicitly justified, neither of which appears here.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The auto-activation trigger is broad enough to fire on common words like '原创' or '检测', which can cause the copyright advisor to engage in conversations that are only loosely related. In a multi-agent system, this increases the chance of unnecessary file access, irrelevant intervention, or accidental handling of sensitive manuscript content without clear user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill declares 'file.write' capability but does not clearly warn users that it may modify project content or require confirmation before doing so. In a writing workflow, this can lead to silent or unexpected edits to chapters, continuity files, or character data, especially when combined with broad activation conditions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger terms are very broad common words like '检查', '编辑', and '逻辑漏洞', which can cause the skill to activate during ordinary discussion rather than an explicit user request to proofread a manuscript. Because the skill has file read/write capabilities, unintended activation increases the chance of unnecessary file access or content modification in the project workspace.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill explicitly instructs the agent to create and update project files as part of normal operation, but it provides no requirement to obtain explicit user confirmation before initializing memory files or modifying existing state. In an agent environment with file.write access, this can lead to unintended or unauthorized changes to user projects, especially during first-run initialization or automatic workflow execution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This section directs the agent to update project.md, which is a core project state file, without requiring a warning, confirmation, or change preview. Because project.md influences project status and file paths, silent modification could corrupt workflow state, misdirect future file access, or overwrite user-managed configuration.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill is written to operate entirely in Chinese and does not state any mechanism to adapt to the user’s preferred language. In a mixed-language environment, this can cause instruction mismatch, misunderstood outputs, or hidden assumptions about prompts and generated files, which may degrade reliability and make downstream review harder.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The auto-trigger conditions include broad generic terms such as “悬疑”, “推理”, “线索”, and “反转”, which can appear in many unrelated creative or analytical contexts. This can cause the skill to activate unintentionally, leading to context hijacking within multi-agent workflows, unnecessary file access, or irrelevant writing guidance being injected into tasks that did not request this specialist.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill’s name, description, instructions, templates, and trigger phrases are all defined only in Chinese, which effectively constrains use to a specific language without any user opt-in or stated regional justification. The policy requires either offering language choice or clearly documenting why a locale-specific restriction is necessary.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill declares file.write access and specifies output files, but it does not clearly warn that it may create or overwrite files. In practice, a user may invoke planning help expecting conversational output and unintentionally cause modification of project artifacts, leading to data loss, confusion, or overwrite of existing drafts.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger terms are broad enough that the agent may activate during routine discussion of story structure, pacing, or chapter planning, not only when the user explicitly wants this skill. That can cause unintended tool use or file-oriented behavior in a multi-agent workflow, especially because the skill has read/write capabilities and defined output paths.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill declares file.write capability, but the user-facing documentation does not clearly state that the skill may modify project files or when it will do so. This creates a transparency and consent gap: users may invoke what appears to be a planning assistant without realizing it can persist changes to project content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger conditions include very broad, common terms such as '情节', '冲突', and '高潮', which can cause the skill to activate in contexts the user did not intend. In a multi-agent environment, overbroad auto-activation can route unrelated requests into a file-capable skill, increasing the chance of unintended reads, writes, or workflow interference.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger conditions include very common terms such as “优化”, “改写”, and “美化”, which can cause the skill to activate in unrelated user requests. In an agentic system, over-broad activation can route content to the wrong skill, causing unintended file reads/writes or unwanted transformation of user content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The auto-trigger list includes very broad everyday terms such as “恋爱”, “表白”, “男友力”, and “女友力”, which can match many ordinary user requests outside the intended skill scope. This can cause unintended activation, pulling the agent into contexts where it overrides more appropriate skills or injects irrelevant romance-writing behavior into unrelated workflows.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The auto-activation keywords are broad enough to match ordinary user requests about AI, future technology, or science fiction themes, which can cause this specialist skill to activate outside clearly intended contexts. In a multi-agent system, that increases the chance of unintended file reads and workflow injection into unrelated conversations, creating unnecessary exposure of project context and confusing skill routing.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger rule does not define boundaries or exclusion cases, so the agent lacks guidance on when it should stay inactive. This ambiguity increases accidental invocation risk and may degrade safety and reliability by letting the skill engage outside its intended scope.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.