Back to skill

Security audit

Juejin Skills

Security checks for vulnerabilities and agentic risk

Overview

This Juejin automation skill needs Review because broad and inconsistent routing documentation is paired with authenticated account publishing and local file upload authority.

Review this before installing. Use it only for explicit Juejin tasks, and do not let it handle unrelated database, SQL, or generic automation requests. Treat publishing as account-affecting: confirm the Markdown file, destination account, tags, and whether it will remain a draft before allowing any upload or public publish. Be cautious about cookie storage because the artifact describes saving/loading session cookies but does not provide verifiable implementation details.

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
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (13)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description says to use the skill for broad scenarios like database operations, SQL queries, data storage management, efficiency improvement, automation, and workflow optimization. These triggers are much broader than the documented Juejin article ranking/publishing/downloading functions, making it unclear when the skill should or should not activate.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

This skill documents outbound requests to an external Juejin API endpoint, which means user-supplied or locally sourced data may be transmitted off-host. In the context of a skill that can read local markdown and manage authenticated publishing via cookies, any external transmission increases the risk of unintended data disclosure if inputs are not tightly scoped and sanitized.

Content

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

md
**API 接口**:

* 分类列表:`GET https://api.juejin.cn/tag_api/v1/query_category_briefs`
* 热门文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_all_feed`
* 分类文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_cate_feed`
* 标签列表:`POST https://api.juejin.cn/tag_api/v1/query_category_tags`

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

The documented POST request to the Juejin recommendation endpoint represents external data transmission to a third-party service. While expected for the feature, outbound connectivity is security-relevant because the skill also advertises broad automation and local file capabilities, creating a path for accidental disclosure if task boundaries are unclear.

Content

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

md
**API 接口**:

* 分类列表:`GET https://api.juejin.cn/tag_api/v1/query_category_briefs`
* 热门文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_all_feed`
* 分类文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_cate_feed`
* 标签列表:`POST https://api.juejin.cn/tag_api/v1/query_category_tags`

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

The category feed endpoint is another documented external transmission surface. In this skill's context, external requests are legitimate, but they remain a true security concern because the skill can also process local content and authenticated sessions, so poor orchestration could leak more data than intended.

Content

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

md
* 分类列表:`GET https://api.juejin.cn/tag_api/v1/query_category_briefs`
* 热门文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_all_feed`
* 分类文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_cate_feed`
* 标签列表:`POST https://api.juejin.cn/tag_api/v1/query_category_tags`

### 📝 功能二:文章自动发布

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

Querying category tags over the network is an external transmission channel. Although normal for the product, the skill's mixed capabilities make this more sensitive than a pure read-only client because users may not realize the same skill can both read local data and perform outbound requests.

Content

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

md
* 分类列表:`GET https://api.juejin.cn/tag_api/v1/query_category_briefs`
* 热门文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_all_feed`
* 分类文章:`POST https://api.juejin.cn/recommend_api/v1/article/recommend_cate_feed`
* 标签列表:`POST https://api.juejin.cn/tag_api/v1/query_category_tags`

### 📝 功能二:文章自动发布

External Transmission

Medium
Category
Data Exfiltration
Confidence
91% confidence
Finding

Creating article drafts via an external API is a true security-relevant action because it can transmit local markdown content, metadata, and potentially sensitive text to a third-party service. In this skill's context, the danger is higher than simple API reads because the feature couples local file access with authenticated outbound writes under a user session.

Content

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

md
| 文章发布 | 通过掘金 API 创建草稿并发布,支持设置分类、标签、摘要、封面图 |
| 草稿管理 | 支持保存为草稿而不立即发布 |

* 创建草稿:`POST https://api.juejin.cn/content_api/v1/article_draft/create`
* 发布文章:`POST https://api.juejin.cn/content_api/v1/article/publish`
* 获取标签:`POST https://api.juejin.cn/tag_api/v1/query_category_tags`

External Transmission

Medium
Category
Data Exfiltration
Confidence
94% confidence
Finding

Publishing an article is a state-changing external transmission that can send full content and metadata to Juejin under the user's authenticated cookie session. This is dangerous because an unintended or coerced invocation could publicly disclose sensitive local content, not just query remote data.

Content

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

md
| 草稿管理 | 支持保存为草稿而不立即发布 |

* 创建草稿:`POST https://api.juejin.cn/content_api/v1/article_draft/create`
* 发布文章:`POST https://api.juejin.cn/content_api/v1/article/publish`
* 获取标签:`POST https://api.juejin.cn/tag_api/v1/query_category_tags`

**鉴权方式**:Cookie 鉴权(通过 Playwright 浏览器登录获取)

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

Fetching tags in the same authenticated publishing flow is security-relevant because it indicates the skill operates with a logged-in browser-derived cookie session. Any authenticated external request increases the consequence of prompt confusion or abuse, since it can act on behalf of the user account.

Content

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

md
* 创建草稿:`POST https://api.juejin.cn/content_api/v1/article_draft/create`
* 发布文章:`POST https://api.juejin.cn/content_api/v1/article/publish`
* 获取标签:`POST https://api.juejin.cn/tag_api/v1/query_category_tags`

**鉴权方式**:Cookie 鉴权(通过 Playwright 浏览器登录获取)

External Transmission

Medium
Category
Data Exfiltration
Confidence
86% confidence
Finding

Requesting article details from an external endpoint is a legitimate feature, but it still creates an outbound channel that may include user-selected URLs, identifiers, or follow-on content processing. Because the skill also supports saving data locally and downloading images, the combined workflow raises the chance of mishandling content or metadata.

Content

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

md
| 图片处理 | 可选下载文章中的图片到本地 |
| 元数据保留 | 保留文章标题、作者、发布时间、标签等元信息 |

* 文章详情:`POST https://api.juejin.cn/content_api/v1/article/detail`
* 用户文章列表:`POST https://api.juejin.cn/content_api/v1/article/query_list`

## 快速上手

External Transmission

Medium
Category
Data Exfiltration
Confidence
87% confidence
Finding

Querying a user's article list is an external transmission that can enumerate account-related content and metadata. In context, this becomes more sensitive because the skill supports bulk download and authenticated operations, increasing the risk of excessive collection or unintended scraping if triggers are too loose.

Content

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

md
| 元数据保留 | 保留文章标题、作者、发布时间、标签等元信息 |

* 文章详情:`POST https://api.juejin.cn/content_api/v1/article/detail`
* 用户文章列表:`POST https://api.juejin.cn/content_api/v1/article/query_list`

## 快速上手
1. 确认运行环境满足依赖说明中的要求

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The quick-start and operation-flow sections instruct users to 'call this skill' and 'choose the appropriate usage' but do not define specific trigger phrases, scope limits, or exclusion conditions. In a skill-routing context, this ambiguity can lead to unintended invocation for general user requests.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The file describes concrete Juejin capabilities such as fetching rankings, publishing Markdown articles, and downloading posts, but the documented inputs are generic review-style fields like content and strict_level. Those parameters do not align with the specific operations described elsewhere, indicating the documentation was copied from a different skill and now contradicts the stated behavior.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The surrounding documentation describes a Juejin skill for article ranking, publishing, and downloading, but the output example returns an audit-style grading report with fields like overall_grade, total_score, and security/compliance scores. This is not merely incomplete documentation; it actively describes a different kind of tool output than the Juejin functionality claimed elsewhere in the file.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.