Back to skill

Security audit

知乎知识数据采集

Security checks for vulnerabilities and agentic risk

Overview

This Zhihu data skill is mostly a read-only API wrapper, but it has scope and disclosure issues that warrant review before installation.

Review this skill before installing. Only use it if you trust MaxHub and aconfig.cn with your Zhihu queries, user IDs, and API key; avoid providing live session tokens unless you understand the risk. The publisher should remove the unrelated Douyin/Xiaohongshu fallback material, narrow activation rules, add clear privacy disclosure, and pin the install command.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
README.md:14
Finding

Unpinned Package Execution Through npx Installation Command

Content
View full analysis

Vulnerability Details

File Location: README.md:14-17; equivalent command in README_CN.md:14-17
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: Medium

Vulnerable Code

README.md:14-17:

bash
## Install

```bash
npx clawhub install maxhub-zhihu
text

`README_CN.md:14-17`:

```bash
## Installation

```bash
npx clawhub install maxhub-zhihu
text

### Technical Analysis

The documented installation procedure invokes `clawhub` through `npx` without specifying a reviewed package version or integrity digest. If the package is not already installed locally, `npx` can retrieve it from the configured npm registry and execute its command immediately.

Consequently, the code executed during installation is not cryptographically tied to the version that was reviewed during this audit. Its behavior can change if a new package version is published, the publisher account is compromised, the registry resolution is manipulated, or the resolved package is replaced with a malicious release.

This is a supply-chain exposure rather than evidence that the current `clawhub` package is malicious. The project contains no lockfile, checksum, or other mechanism that constrains the documented command to a known artifact.

### Attack Path

1. An attacker compromises the package publisher account, registry distribution path, or another component involved in resolving the unpinned `clawhub` package.
2. The attacker publishes a malicious version under the package name resolved by `npx`.
3. A user follows the installation instructions and runs `npx clawhub install maxhub-zhihu`.
4. `npx` downloads the currently resolved package rather than a specifically reviewed version.
5. The malicious package executes with the privileges and environment of the user running the command.
6. Depending on those privileges, the package could access user-readable files and environment variables, mod
...[truncated 740 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the CLI to an explicitly reviewed version, for example:
    bash
    npx --yes clawhub@<reviewed-version> install maxhub-zhihu
    
  2. Document the expected npm registry and package publisher so users can verify package provenance.
  3. Publish and verify an integrity digest or signed release artifact where the installation workflow supports it.
  4. Prefer requiring users to install a verified, version-pinned CLI separately before using it:
    bash
    clawhub install maxhub-zhihu
    
  5. Use lockfiles with integrity metadata in automated installation environments.
  6. Keep the English and Chinese installation instructions synchronized after applying the hardened command.
  7. Advise users not to execute the installer with administrator or root privileges unless explicitly required and justified.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (35)

Hidden Instructions

High
Category
Prompt Injection
Confidence
93% confidence
Finding

The repeated hidden-instruction finding is valid because the same section embeds agent-facing directives through comments and non-obvious control text rather than plain, constrained API documentation. In the context of an API-calling skill, this can steer execution toward undocumented behavior and complicate auditing.

Content

Scanner excerpt · SKILL.md (reported line 69)May include surrounding context.

md
| 禁止行为 | 正确做法 |
|----------|----------|
| ❌ 自行拼接路径(如 `/api/v1/douyin/search/xxx`) | ✅ 使用 Action Table 或 `<!-- Full path: -->` 中的路径 |
| ❌ 猜测参数名(如把 `aweme_id` 写成 `video_id`) | ✅ 使用 Action Table 或 reference 文件中的参数名 |
| ❌ 假设 v1/v2/v3 参数兼容 | ✅ 降级时重新读取对应版本的参数文档 |
| ❌ 调用 `fetch_hot_search_list` 或 `app/v3/fetch_video_comments` | ✅ 使用替代端点(见废弃标注) |

Hidden Instructions

High
Category
Prompt Injection
Confidence
93% confidence
Finding

The repeated hidden-instruction finding is valid because the same section embeds agent-facing directives through comments and non-obvious control text rather than plain, constrained API documentation. In the context of an API-calling skill, this can steer execution toward undocumented behavior and complicate auditing.

Content

Scanner excerpt · SKILL.md (reported line 69)May include surrounding context.

md
| 禁止行为 | 正确做法 |
|----------|----------|
| ❌ 自行拼接路径(如 `/api/v1/douyin/search/xxx`) | ✅ 使用 Action Table 或 `<!-- Full path: -->` 中的路径 |
| ❌ 猜测参数名(如把 `aweme_id` 写成 `video_id`) | ✅ 使用 Action Table 或 reference 文件中的参数名 |
| ❌ 假设 v1/v2/v3 参数兼容 | ✅ 降级时重新读取对应版本的参数文档 |
| ❌ 调用 `fetch_hot_search_list` 或 `app/v3/fetch_video_comments` | ✅ 使用替代端点(见废弃标注) |

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · SKILL.md (reported line 182)May include surrounding context.

md
| "analyze" / "分析一下" | Switch to analyze mode |
| "compare with X" / "和X对比" | Add X as second query |

## Output Guidelines

1. **Language consistency** — ALL output matches user's detected language.
2. **Markdown links** — All URLs in `[text](url)` format.

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-content.md (reported line 11)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_column_article_detail`

<!-- Full path: /api/v1/zhihu/web/fetch_column_article_detail -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-content.md (reported line 65)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_column_comment_config`

<!-- Full path: /api/v1/zhihu/web/fetch_column_comment_config -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-content.md (reported line 119)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_column_relationship`

<!-- Full path: /api/v1/zhihu/web/fetch_column_relationship -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-content.md (reported line 175)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_comment_v5`

<!-- Full path: /api/v1/zhihu/web/fetch_comment_v5 -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-content.md (reported line 235)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_sub_comment_v5`

<!-- Full path: /api/v1/zhihu/web/fetch_sub_comment_v5 -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-content.md (reported line 301)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_user_follow_columns`

<!-- Full path: /api/v1/zhihu/web/fetch_user_follow_columns -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-search-trending.md (reported line 11)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_ai_search`

<!-- Full path: /api/v1/zhihu/web/fetch_ai_search -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-search-trending.md (reported line 61)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_ebook_search_v3`

<!-- Full path: /api/v1/zhihu/web/fetch_ebook_search_v3 -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-search-trending.md (reported line 121)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_preset_search`

<!-- Full path: /api/v1/zhihu/web/fetch_preset_search -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-search-trending.md (reported line 175)May include surrounding context.

md
`POST /api/v1/zhihu/web/fetch_scholar_search_v3`

<!-- Full path: /api/v1/zhihu/web/fetch_scholar_search_v3 -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-search-trending.md (reported line 228)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_search_suggest`

<!-- Full path: /api/v1/zhihu/web/fetch_search_suggest -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-search-trending.md (reported line 282)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_video_list`

<!-- Full path: /api/v1/zhihu/web/fetch_video_list -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-user.md (reported line 11)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_user_follow_collections`

<!-- Full path: /api/v1/zhihu/web/fetch_user_follow_collections -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-user.md (reported line 69)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_user_follow_topics`

<!-- Full path: /api/v1/zhihu/web/fetch_user_follow_topics -->

### Parameters

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/api-user.md (reported line 127)May include surrounding context.

md
`GET /api/v1/zhihu/web/fetch_user_followers`

<!-- Full path: /api/v1/zhihu/web/fetch_user_followers -->

### Parameters

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The README instructs users to run npx clawhub install maxhub-zhihu without pinning a specific package version. This creates a supply-chain risk because npx may resolve and execute the latest published package, so a compromised, typosquatted, or maliciously updated package could run arbitrary code on the user's system during install.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The example trigger phrases are extremely broad single words such as '用户', '资料', '搜索', '热榜', '文章', and '专栏'. In agent environments, overly generic triggers can cause accidental invocation during normal conversation, leading to unintended external data access, unnecessary API calls, and possible disclosure of user context to the skill.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The README instructs users to run npx clawhub install maxhub-zhihu without pinning a specific package version. This makes installation dependent on whatever version is current at execution time, creating a supply-chain risk if the package is updated maliciously, compromised, or changed in an incompatible way.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The sample trigger words are extremely broad, such as '用户', '资料', '搜索', '热榜', '文章', and '专栏', which can easily overlap with normal conversation. In an agent environment, this raises the chance of accidental invocation, unintended data access, or execution in contexts where the user did not explicitly mean to call this skill.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

The skill instructs the agent to send user queries and authentication material to an external third-party API endpoint. External transmission is expected for API-backed skills, but it remains security-relevant because ambiguous routing and broad triggers may cause unnecessary disclosure of user-supplied data to the remote service.

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

md
maxhub_auth_header="Authorization: Bearer ${MAXHUB_API_KEY}"

# GET example
curl -s "https://www.aconfig.cn/api/v1/zhihu/{endpoint}?{params}" \
  -H "$maxhub_auth_header"

# POST example

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The security declaration claims the skill is legitimate, read-only, and Zhihu-focused, yet other sections direct calls to unrelated platform endpoints. Such reassuring language combined with contradictory operational instructions is dangerous because it can lower reviewer suspicion while the skill actually broadens execution scope.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger signals include very broad everyday terms like 'user', 'search', 'find', and 'show me' without exclusions or tighter activation constraints. This can cause the skill to activate on loosely related prompts and autonomously issue external API requests, creating unnecessary data transmission and expanding the attack surface for prompt-trigger abuse.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.