Back to skill

Security audit

lanreneditor-pro

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its publishing purpose, but it needs Review because it can send content and API keys to configurable external services and has publish/delete flows with weak safeguards.

Install only if you trust the SaaS endpoint and are comfortable sending article drafts, source URLs, images, account identifiers, and API-key authenticated requests to it. Use a least-privilege or test API key first, keep apiBaseUrl pinned to the intended HTTPS service, manually review all generated content, and require explicit human confirmation before publish, distribute, or clear-materials actions.

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 (2)

T09 · Insecure Skill Coding Practices

Error
Location
handler.js:727
Finding

Explicit Publish Confirmation Can Be Bypassed When an Account Is Supplied

Content
View full analysis
({ id: a.appId, title: a.appName, data: { ...buildWorkflowPayload(session, { templateId: selectedTemplate.id, template: selectedTemplate.id, templateConfirmed: true, accountId: a.appId, accountName: a.appName, accountConfirmed: true, author: author || a.appName }) } })), action: 'select_account' } }; } ``` ```javascript const publishResult = await executePublish(api, { content, title, author: resolvedAuthor, digest, contentSourceUrl, coverImage, templateId: selectedTemplate.id, accountId: targetAccount.appId }); if (publishResult && publishResult.type === 'success') { clearWorkflowSession(workflowSessionId); } return publishResult; ``` ### Technical Analysis The workflow only displays the account-selection confirmation interface when `targetAccount` is absent. If request arguments contain a value that `findAccount()` can resolve, execution skips the interactive branch and proceeds directly to `executePublish()`. Although the generated account-selection payload contains `accountConfirmed: true`, the publishing path never validates that field. It also does not require a separate, server-side `publishConfirmed` state tied to the current workflow session. Consequently, ...[truncated 1884 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
handler.js:21
Finding

API Key Is Transmitted to an Unrestricted Configurable Base URL

Content
View full analysis
`. 6. An attacker-controll ...[truncated 855 chars]
Remediation
View remediation
Vulnerability Patterns
  • 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
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (42)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
94% confidence
Finding

The skill includes a bulk destructive endpoint that deletes all materials, with no documented safeguards such as confirmation, scoping, preview, or undo. In an LLM-agent workflow, destructive tools are especially risky because prompt ambiguity, prompt injection, or user misunderstanding can cause irreversible deletion of accumulated content assets.

Content

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

清空素材:

text
DELETE /api/skill/materials

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The system prompt section operationalizes the destructive DELETE /api/skill/materials action as a normal single-step tool operation, again without requiring user confirmation. Because this is embedded in agent instructions, it makes accidental or manipulated invocation more likely and amplifies the risk of mass deletion of stored materials.

Content

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

md
**素材收集**:
- 添加素材:POST /api/skill/materials(content 必填)
- 查看素材:GET /api/skill/materials
- 清空素材:DELETE /api/skill/materials

**AI 写稿**:
- POST /api/skill/draft(topic 必填,framework 可选:tutorial/deep/auto)

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 · handler.js (reported line 191)May include surrounding context.

js
instructions += `\n- 该模板当前检测到 ${componentCount} 个组件声明,生成内容时应优先为这些组件产出显式 HTML 结构。`;
  }

  return instructions;
}

function findAccount(accounts, accountValue) {

Known Vulnerable Dependency: axios==1.14.0 — 16 advisory(ies): CVE-2026-44494 (axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `co); CVE-2026-44495 (axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollut); CVE-2025-62718 (Axios has a NO_PROXY Hostname Normalization Bypass that Leads to SSRF) +13 more

High
Category
Supply Chain
Confidence
97% confidence
Finding

The lockfile pins axios to 1.14.0, and the provided analysis indicates multiple known advisories affecting that exact version, including SSRF-related proxy bypass and prototype-pollution-related request/response compromise scenarios. In a skill that likely performs outbound publishing over HTTP, a vulnerable HTTP client is especially risky because it may handle credentials, proxies, redirects, and untrusted remote endpoints.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: form-data==4.0.5 — 1 advisory(ies): CVE-2026-12143 (form-data: CRLF injection in form-data via unescaped multipart field names and f)

High
Category
Supply Chain
Confidence
90% confidence
Finding

form-data 4.0.5 is reported as vulnerable to CRLF injection via unescaped multipart field names and filenames. If the skill builds multipart requests using user-controlled content or filenames, an attacker may be able to manipulate request structure or inject unintended headers/body segments, potentially leading to request smuggling-style effects or downstream parser abuse.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: axios==1.14.0 — 16 advisory(ies): CVE-2026-44494 (axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `co); CVE-2026-44495 (axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollut); CVE-2025-62718 (Axios has a NO_PROXY Hostname Normalization Bypass that Leads to SSRF) +13 more

High
Category
Supply Chain
Confidence
80% confidence
Finding

Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The intent triggers are extremely broad and overlap with ordinary requests such as writing an article, generating content, previewing, publishing, or 'writing copy.' That increases the chance the skill will activate unexpectedly and send user content into a networked publishing/distribution workflow without the user intentionally invoking this specific skill.

Content

No source excerpt is available for this finding.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
94% confidence
Finding

The documented DELETE /api/skill/materials endpoint is a destructive tool surface with no parameters, safeguards, or confirmation requirements shown. In an LLM-agent context, such an unconstrained delete operation is highly susceptible to accidental invocation, ambiguous prompts, or prompt injection leading to irreversible loss of all stored materials.

Content

Scanner excerpt · skill.yaml (reported line 437)May include surrounding context.

yaml
**素材收集**:
  - 添加素材:POST /api/skill/materials(content 必填)
  - 查看素材:GET /api/skill/materials
  - 清空素材:DELETE /api/skill/materials

  **AI 写稿**:
  - POST /api/skill/draft(topic 必填,framework 可选:tutorial/deep/auto)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation includes a realistic-looking API key example (wemd_xxxxxxxxxxxxxxxx) in a configuration block and UI example, which can normalize copying secrets into configs, docs, or chat without a strong adjacent warning that the value is only a placeholder. In a skill context, users commonly paste examples verbatim, so this increases the risk of accidental secret exposure or misuse if a real key is substituted and then committed, shared, or logged.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The example shows a natural-language workflow that results in publishing content to a public-platform draft box, but it does not prominently warn that this causes an external side effect on a connected account and may create persistent content. In an agent skill setting, this is more dangerous because users may interpret the example as a harmless demo and trigger unintended publication actions against real third-party accounts.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The FAQ explains a publishing flow to a third-party SaaS platform and onward into the WeChat draft pipeline, but it does not clearly disclose that article text, images, and related metadata will leave the local OpenClaw environment and be transmitted to external services. This can cause users to unknowingly send sensitive or proprietary content off-platform, creating confidentiality and compliance risks.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The guide instructs users to send article content, titles, account identifiers, and related metadata to the external domain open.tyzxwl.cn, but it does not clearly disclose that this is an off-platform transmission. In an AI-tool context, this omission can mislead operators into exposing proprietary or sensitive unpublished content to a third-party service without informed consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The publish workflow describes creating real publication tasks against bound WeChat public accounts, but it does not prominently warn that this is an external side-effecting action that may be difficult or impossible to reverse once executed. In agent environments, missing warnings around irreversible publication increases the risk of accidental posting to a live public account.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
87% confidence
Finding

The test commands and integration examples direct authenticated requests to an external service using an API key, confirming external transmission of data and credentials to a third-party endpoint. Although expected for an integration guide, this becomes security-relevant because the document does not pair these examples with clear cautions about sending real content or using production credentials during testing.

Content

Scanner excerpt · INTEGRATION.md (reported line 115)May include surrounding context.

bash
# 测试模板接口
curl -H "X-API-Key: 你的KEY" https://open.tyzxwl.cn/api/skill/templates

# 测试模板分类
curl -H "X-API-Key: 你的KEY" https://open.tyzxwl.cn/api/skill/templates/categories

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The document instructs the agent to publish content to a public-platform draft box but does not clearly warn that this causes outbound network transmission and a state-changing write action on an external service. In an agent-skill context, users may interpret this as formatting assistance only, so omission of explicit side-effect disclosure can lead to unintended publication actions or transfer of sensitive content.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The OpenAPI/HTTP Tool specification exposes account enumeration and publish endpoints, yet the documentation does not pair them with clear consent and side-effect notices. In agent environments, these tools can be invoked automatically from natural language, making silent external transmission and draft creation more dangerous than in a normal developer API reference.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · INTEGRATION_OLD.md (reported line 480)May include surrounding context.

先测模板接口

bash
curl -H "X-API-Key: wemd_test_key" \
  https://open.tyzxwl.cn/api/skill/templates

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The marketing content promotes one-click publishing to a public account and authorization flows, but it does not mention confirmation gates, draft-only defaults, or user review before content is pushed to an external platform. In a skill that can affect real third-party accounts and publish user-facing content, this omission increases the risk of accidental, unauthorized, or insufficiently reviewed publication.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The quickstart instructs users to generate and publish content to a public account but does not warn that generated output may be inaccurate, unsafe, or non-compliant, nor does it require human review before publication. In the context of a public publishing workflow, this omission increases the risk of reputational harm, policy violations, and accidental dissemination of low-quality or misleading content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The primary example '帮我写一篇关于 [主题] 的文章,用 [模板名] 模板发布到公众号' is an ambiguous conversational phrase that directly combines content generation and public publishing without explicit scoping or confirmation. This makes it easier for the skill to be triggered from ordinary language and could lead to unintended publication of generated material.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The examples use broad natural-language activations such as '查询额度', '预览一下', and '懒人编辑器' that resemble normal conversation and may unintentionally invoke the skill when a user is speaking casually. In a skill that can publish content to a public account, accidental activation increases the chance of unintended actions or workflow initiation without clear user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The documentation instructs users to configure an OpenAI API key and gateway URL for automatic cover generation, which implies use of external services and credentialed access. However, there is no warning about protecting these secrets or that article themes/content used for cover generation may be shared with third-party AI services.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file documents multiple remote API calls that transmit article content, account identifiers, and optional metadata such as cover image and source URL to a SaaS platform. The README explains how to use these capabilities but does not warn users that their content and account-related data will be sent to an external service.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs users to send article content, fetched WeChat URLs, rendered content, and distribution manifests to a third-party SaaS API, but it does not clearly warn that potentially sensitive user content leaves the local agent environment. This creates a privacy and data-governance risk because users may unknowingly transmit unpublished drafts, proprietary materials, or account-linked publishing metadata to an external service.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documentation exposes a destructive DELETE /api/skill/materials endpoint without a prominent warning that it clears stored materials. In an agent setting, this increases the chance of accidental data loss because a user or downstream prompt may trigger deletion without understanding that the operation is irreversible or broad in scope.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
INTEGRATION_OLD.md:85

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
INTEGRATION.md:21