Back to skill

Security audit

多平台内容自动发布

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it claims, but it can automatically publish public content using saved login cookies without a final confirmation step.

Review carefully before installing. Use only with accounts where automated public posting is acceptable, inspect content before invocation, and consider deleting or protecting ~/.qclaw cookie files because they may contain reusable login sessions.

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

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/zhihu_publish.js:50
Finding

Unrestricted Browser Navigation to a User-Controlled URL

Content
View full analysis
Remediation
View remediation
`. 5. Reject embedded credentials, non-default ports, malformed URLs, IP-address hosts, and URL fragments if they are unnecessary. 6. Monitor navigation and reject redirects to destinations outside the allowlist. 7. Resolve destination addresses and reject loopback, private, link-local, multicast, and reserved address ranges where practical. 8. Perform validation again after redirects because validating only the initial URL does not prevent an allowed host from redirecting to an unsafe destination. Example hardening logic: ```javascript function validateQuestionUrl(value) { const url = new URL(value); if (url.protocol !== 'https:') { throw new Error('Only HTTPS URLs are allowed'); } if (url.hostname !== 'www.zhihu.com') { throw new Error('Only www.zhihu.com URLs are allowed'); } if (url.port) { throw new Error('Custom ports are not allowed'); } if (!/^\/question\/\d+\/?$/.test(url.pathname)) { throw new Error('Invalid Zhihu question URL'); } return url.toString(); } const validatedUrl = validateQuestionUrl(questionUrl); await page.goto(validatedUrl, { waitUntil: 'networkidle', timeout: 30000 }); ``` ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/zhihu_publish.js:33
Finding

Zhihu Authentication Cookies Stored in a Plaintext File Without Explicit Access Controls

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/xiaohongshu_publish.js:29
Finding

Xiaohongshu Authentication Cookies Stored in a Plaintext File Without Explicit Access Controls

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (13)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The documented purpose omits meaningful security-relevant behavior: local cookie file access and persistent login state. When a skill can read or reuse stored authenticated sessions without prominently declaring that access, users may unknowingly grant account-level actions on their behalf.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The documented purpose omits meaningful security-relevant behavior: local cookie file access and persistent login state. When a skill can read or reuse stored authenticated sessions without prominently declaring that access, users may unknowingly grant account-level actions on their behalf.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
83% confidence
Finding

The skill describes behavior that depends on environment and local state such as persisted cookies, but it does not declare tool scope or permissions. In an automation skill that can act on logged-in publishing accounts, missing scope boundaries reduces transparency and can let the skill access broader resources than users expect.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Persistently storing cookies for logged-in platform accounts is security-sensitive because those files may enable reuse of authenticated sessions if accessed by other local processes or users. The documentation mentions the files but does not provide a clear warning about the security and account-takeover implications of persistent session storage.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script saves live Xiaohongshu session cookies to a predictable plaintext file under the user's home directory without warning, permission checks, or file mode hardening. Anyone or any process with local access to that file can reuse the authenticated session and potentially take over the account for posting or other actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The script clicks the publish button automatically once fields are populated, with no final confirmation or dry-run mode. In an auto-publishing skill, this increases the chance of unintended public posting, reputational harm, and accidental disclosure if the wrong content, account, or draft is used.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script automatically clicks the Zhihu publish button and completes an irreversible posting action without any final user confirmation, dry-run mode, or explicit warning. In an automation skill whose purpose is multi-platform publishing, this increases the risk of accidental posting of incorrect, sensitive, or policy-violating content through a logged-in account.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The article workflow publishes content immediately after filling the editor, with no verification step or user acknowledgement before submission. Because the script reuses persistent cookies from the local account, a mistake in title/content selection or unintended invocation can directly post under the user's identity.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The description states that the skill supports one-click multi-platform publishing, but it does not warn that using the skill can perform real actions on external accounts and publish content publicly. Lack of disclosure is especially risky here because the skill affects third-party platforms and user reputation, making it easier for users to trigger impactful actions without informed consent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger keywords include broad phrases such as '发布文章' and '自动发布', which can match routine publishing requests beyond the clearly scoped platforms named in the skill. In a skill that performs automatic posting to external accounts, overly broad activation increases the risk of unintended invocation and accidental publication of user content to Zhihu or Xiaohongshu.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

All user-facing instructions and invocation examples are written only in Chinese, and the skill name/description imply a CN-focused workflow, but the document does not state that Chinese is required or provide any user opt-in or alternative language handling. This can violate language/locale policy when a skill effectively mandates one language without explicit choice or justification.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
40% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · package.json (reported line 13)May include surrounding context.

json
"license": "ISC",
  "description": "",
  "dependencies": {
    "playwright": "^1.59.1"
  }
}

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The injected browser settings hard-code navigator.languages to prefer zh-CN and zh, which imposes a specific locale regardless of user preference. This is a natural-language locale policy issue because no opt-in or justification is provided in the file.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.