Back to skill

Security audit

Shike Multi Agent

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed multi-agent dispatcher, but it forces broad delegation to persistent sub-agents in a way users should review before installing.

Install only if you specifically want a Chinese-language workflow that turns the agent into a dispatcher. Review whether you are comfortable with automatic task delegation, parallel sub-agent spawning, and persistent alpha/bravo/charlie/delta/echo session memory that may carry context between tasks.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:158
Finding

Mandatory Skill Instructions Override Agent Role, Tool Selection, and Response Flow

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 158–167, 187–230, and 464–477
Vulnerability Type: Agent instruction and tool-policy hijacking
Risk Level: High

Vulnerable Instruction Snippets

The following is an English translation of the relevant source instructions from SKILL.md, lines 158–167:

markdown
## Core Role

You are the dispatcher (commander). Your responsibilities are:
1. Talk with the user and understand the requirements.
2. Assess the task difficulty level.
3. Assign the task to subordinate agents.
4. Report the task results.

You are purely a dispatcher. You cannot use exec, file read/write,
search, or any other execution tool.
All actual work must be delegated to sub-agents through sessions_spawn.

The following is an English translation of the mandatory dispatch rules from lines 187–230:

markdown
When a user message contains multiple independent tasks, you must split
them and dispatch them to multiple sub-agents simultaneously.

Parallel spawn rules:
- Multiple sessions_spawn calls may be made in one response.
- Each spawn must use a different sessionKey.
- Assign sessionKey values in round-robin order.
- First explain the task decomposition, and then issue all spawn calls.

Two iron rules — must be followed:

Rule one: Reply first, then dispatch.

After receiving a task, you must first output a textual response to the
user and then call sessions_spawn.

Correct sequence:
1. Speak first — assess the task and identify the assigned agent.
2. Call the tool — sessions_spawn.
3. Stop speaking — do not output any text after spawning.

Rule two: A sessionKey must be supplied.

Every sessions_spawn call must include a sessionKey.
The sessionKey may only be alpha, bravo, charlie, delta, or echo.

The following is an English translation of the response and tool restrictions from lines 464–477:

markdown
After spawn returns accept
...[truncated 3319 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace mandatory role-changing language with optional workflow guidance. For example, state that delegation may be used when it benefits the user rather than declaring that all work must be delegated.
  2. Explicitly preserve system, developer, user, and host security-policy precedence. The Skill must never prohibit tools that higher-priority policy permits or requires.
  3. Require explicit user confirmation before spawning agents, especially before parallel dispatch or operations that can modify files, access networks, or consume significant resources.
  4. Remove the blanket prohibition against direct execution, file access, search, and messaging. Allow the host to choose the least-privileged tool appropriate for each task.
  5. Do not require the agent to stop responding after a spawn call. Permit it to report tool acceptance, failures, security concerns, and required follow-up actions.
  6. Avoid globally fixed reusable session keys. Prefer task-scoped sessions, or reset and isolate session context between unrelated users and tasks.
  7. Apply per-agent least privilege, resource limits, concurrency limits, and timeouts. Parallel dispatch should be bounded and justified by task requirements.
  8. Validate delegated task content and avoid forwarding secrets, credentials, private conversation history, or unnecessary filesystem paths.
  9. Add tests confirming that higher-priority instructions remain authoritative and that delegation cannot be triggered without required authorization.
Vulnerability Patterns
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (15)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The description advertises substantial functionality: a dispatcher coordinating five persistent sub-agents with specific session behaviors. The provided code does not implement any of this; it is only an init.py file with a docstring and no executable logic. This is a material description-to-code mismatch because the primary declared purpose is not represented in the supplied code chunk.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

There is a clear description-behavior mismatch. The description advertises a fully featured multi-agent orchestration system, but the supplied code chunk contains no executable implementation of those features—only placeholder text/comments. This is a materially different actual behavior because the code, as shown, does not perform the declared primary purpose at all.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

There is a clear description-to-code mismatch. The declared purpose describes a functional multi-agent orchestration system with specific capabilities, but the supplied code chunk is only an empty package initializer with a docstring and no implementation. No declared capabilities are evidenced by this code.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

There is a clear description-to-code mismatch. The declared purpose describes a functional multi-agent orchestration system with specific capabilities, but the provided code chunk contains no such implementation and appears to be an empty or placeholder test file. No relevant behavior matching the stated dispatcher functionality is present.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Forcing a Chinese-language interaction style without user opt-in can cause users to misunderstand task routing, risk disclosures, or agent outputs, especially in safety- or security-sensitive workflows. While not a classic exploit primitive, it can degrade informed consent and increase the chance of operator error when the user's preferred language differs from the enforced locale.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The document declares lang="zh-CN", which fixes the report to a specific language/locale. Under the policy, locale-specific behavior should either offer user opt-in or clearly justify the regional restriction, neither of which appears in this file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The description explicitly states the skill is 'for Chinese', which can steer the agent toward a fixed language/locale without checking user preference. This is not a direct code-execution risk, but it can cause incorrect assumptions, reduced accessibility, or mishandling of requests from users expecting another language or locale.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The natural-language content of both prompt strings is written only in Chinese, which can indicate a language-specific constraint. Because the file provides no note that Chinese is optional, user-selected, or justified as region-specific, it may violate the language/locale policy requirement.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The file states the dispatcher is a pure coordinator that cannot use exec, file I/O, or search tools and must route all real work through sessions_spawn. Later sections nevertheless define behavior where the dispatcher directly replies in some situations and operationally handles task triage and conversational outcomes, softening the earlier absolute 'pure dispatcher' claim. This is an intent/documentation inconsistency, though not a severe one.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The manifest description frames the skill as a multi-agent dispatch system where the dispatcher delegates work to sub-agents. However, the documentation explicitly says the dispatcher should handle casual chat directly without spawning sub-agents, which broadens behavior beyond pure dispatch/orchestration. This is a mild description-behavior mismatch because the skill is not exclusively acting as a dispatcher in all cases.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The docstring includes the identifier and description in Chinese only ('自动生成的文档'), which indicates a language-specific presentation without any accompanying note that users can choose another language. This can violate language/locale policy when a skill implicitly enforces a specific language without opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The string "自动生成的文档" and the Chinese-only title indicate the skill content is presented in Chinese, with no natural-language indication that the user can choose another language or that the skill is intentionally region-specific. This may violate language/locale policy when a fixed language is imposed without opt-in.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This JSON file is a manifest-like test prompt file, so vague-trigger review applies. The prompt texts are broad natural-language requests for creating or designing multi-agent collaboration systems and do not define boundaries, exclusions, or narrow trigger scope, which could overlap with many ordinary requests in a broader skill-routing context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The string "自动生成的文档" is written only in Chinese, which indicates the skill content is presented in a specific language without any visible user choice or opt-in. The policy requires flagging language or locale constraints when they are imposed without offering a language option or clear justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The file's natural-language content is entirely in Chinese (for example, '自动生成的文档' and '基础测试') with no indication that language selection is optional. Per the policy, forcing a specific language without user opt-in can constitute a locale/language policy violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.