Back to skill

Security audit

搜索助手免费版

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a normal search assistant, but it asks for broad local file and command permissions and includes under-scoped external data flows.

Review before installing. Use it only in a sandboxed agent with minimal filesystem visibility and do not give it unrestricted command execution. Avoid sensitive research queries unless you are comfortable with external search/fetch providers and any configured callback destination receiving related data.

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

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:42
Finding

Excessive Local Filesystem and Command-Execution Permissions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 42–46
Vulnerability Type: Excessive tool permissions and violation of least privilege
Risk Level: Medium

Vulnerable Code

yaml
tools:
  - read
  - exec
  - glob
  - grep

Technical Analysis

The Skill describes a search assistant whose primary responsibilities are decomposing research questions, invoking a general web-search agent, and aggregating search results. These activities do not inherently require arbitrary command execution or broad access to the local filesystem.

Nevertheless, the Skill declares the exec, read, glob, and grep tools. In particular, exec can provide a general command-execution channel, while the other tools can support filesystem discovery and inspection. The only documented command-line use is an optional recommendation to run ping for network troubleshooting at line 409. That narrow diagnostic purpose does not justify unrestricted command execution.

This configuration violates the principle of least privilege. Because the Skill processes untrusted user queries and externally sourced search content, malicious or adversarial content could attempt to influence the Agent into invoking these unrelated local tools. The project does not contain embedded scripts or an explicit malicious command, so exploitation depends on the hosting Agent honoring the declared permissions and being susceptible to adversarial instructions.

Attack Path

  1. A user submits an adversarial research query, or a search result contains prompt-injection instructions.
  2. The search assistant processes the attacker-controlled content while aggregating results.
  3. The content induces the Agent to inspect the host or execute a command under the pretext of completing the research task or validating connectivity.
  4. The Agent uses glob to identify files, read or grep to inspect their contents, or exec to run a local command. ...[truncated 939 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove exec, read, glob, and grep from the declared tool list because they are not required for query decomposition, web searching, or result aggregation.
  2. Declare only the narrowly scoped web-search or search-agent capability needed by the Skill.
  3. If webpage retrieval is required, use a constrained WebFetch facility that:
    • Accepts only HTTP and HTTPS URLs.
    • Blocks loopback, link-local, private-network, and cloud metadata addresses.
    • Enforces response-size and timeout limits.
    • Treats retrieved content as untrusted data rather than executable instructions.
  4. If connectivity diagnostics are genuinely necessary, replace unrestricted exec access with a dedicated connectivity-check operation that accepts no arbitrary command or shell syntax.
  5. Require explicit user approval for any exceptional local filesystem or command operation.
  6. Run the Skill in a sandbox with minimal filesystem visibility, no unnecessary credentials, restricted network access, and an unprivileged operating-system identity.
  7. Add an explicit instruction that user input and retrieved webpages must never authorize local commands, filesystem access, credential access, or changes to Agent behavior.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (7)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill relies on external web/search providers but does not clearly warn users that their prompts, subtask queries, and possibly fetched URLs may be sent to third-party services. This omission creates a privacy and data-handling risk, especially for sensitive research topics, because users may unknowingly disclose proprietary, personal, or regulated information.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly states '不支持结果质量评分与排序' in its known limitations, indicating the free version should not provide scoring or ranking capabilities. However, the later output format says aggregated results include '相关性评分', which is a scoring feature and contradicts the declared behavior of the free edition.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

An overbroad and contradictory trigger condition can cause unintended invocation on SEO/ranking-related prompts, including borderline abusive search-manipulation tasks that the skill elsewhere says are out of scope. In agent ecosystems, loose activation criteria increase the chance the skill is selected in the wrong context and forwards sensitive or policy-violating queries to external search tools.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

Nearly the entire document describes a research-oriented search task decomposition assistant for complex queries and explicitly lists black-hat SEO and search-engine manipulation as unsuitable. The trigger condition instead says to use the tool when SEO optimization, keyword analysis, ranking improvement, and traffic optimization are needed, which directly conflicts with the stated intent and documented non-applicable scenarios.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The display name, summary, description, examples, and operating instructions are all presented in Chinese, and the skill does not indicate that users may choose another language. Under the language/locale policy, forcing a specific language without opt-in can be a natural-language policy issue unless the locale constraint is documented and justified.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The manifest positions the free edition as focused on lightweight task decomposition and generic search only, with several advanced constraints unsupported. Yet later FAQ guidance recommends follow-on actions like using WebFetch to retrieve full content and deeper searches, which expands expectations beyond the narrowly described free-version flow.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

Introducing a callback_url means the skill may send task status or results to an arbitrary external endpoint, creating a potential SSRF, exfiltration, or privacy-leak channel if not tightly validated. In a search assistant context, user queries and aggregated results may contain sensitive research topics, making unsolicited outbound delivery riskier than the core stated purpose requires.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.