Back to skill

Security audit

Baoyu Post To Weibo

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly does what it claims, but it uses an authenticated browser, clipboard automation, process control, and an unpinned runtime download path that users should review before installing.

Review this skill before installing. Use a locally installed trusted Bun runtime instead of the npx fallback, run it with an isolated Chrome profile, and verify all content in the browser before publishing. Be cautious on shared machines because it uses the system clipboard, real paste keystrokes, authenticated Weibo session state, and a predictable temporary article file.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (3)

T03 · Remote Payload Retrieval and Execution

Error
Location
scripts/weibo-utils.ts:118
Finding

Unpinned Runtime Package Is Downloaded and Executed Automatically

Content
View full analysis
.ts` 3. Replace all `{baseDir}` in this document with the actual path 4. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun ``` ### Technical Analysis The helper invokes `npx -y bun` rather than a locally verified Bun executable. If the package is absent from the local npm cache, `npx` may retrieve it from the configured package registry and execute it automatically. The `-y` option suppresses the interactive installation prompt. No exact package version, package integrity value, trusted registry configuration, or executable checksum is specified at this execution point. Consequently, the effective executable can change after the Skill has been audited. This creates a remote code execution channel dependent on mutable registry content and local npm configuration. Although `bun.lock` pins the project libraries, it does not pin or verify the `bun` package downloaded by this `npx` invocation. ### Attack Path 1. A user invokes the Skill on a system where a trusted local `bun` executable is unavailable. 2. The Skill follows its documented fallback or calls a clipboard helper through `runBunScript`. 3. `npx -y bun` resolves the package using the user's configured npm registry. 4. A compromised registry, compromised package pu ...[truncated 879 chars]
Remediation
View remediation
`. - Restrict downloads to an explicitly trusted registry. - Verify the downloaded artifact against a maintained cryptographic checksum or signature. - Do not use `-y`; require informed user confirmation before downloading executable code. 5. Invoke local helper scripts through the already running Bun process where possible instead of launching `npx` for every clipboard operation. 6. Update `SKILL.md` so its execution instructions do not direct agents to retrieve and run an unpinned package. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
scripts/paste-from-clipboard.ts:58
Finding

AppleScript Injection Through the macOS Target Application Argument

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/weibo-article.ts:68
Finding

Predictable Shared Temporary File Permits Symlink Overwrite and Content Races

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (34)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the skill only drafts content and requires manual publish, or lacks the claimed article/Markdown support, that is primarily a trust and correctness issue rather than direct code-execution risk. However, misleading capability claims can still cause users to grant broader trust or permissions than warranted.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

If the skill only drafts content and requires manual publish, or lacks the claimed article/Markdown support, that is primarily a trust and correctness issue rather than direct code-execution risk. However, misleading capability claims can still cause users to grant broader trust or permissions than warranted.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the skill only drafts content and requires manual publish, or lacks the claimed article/Markdown support, that is primarily a trust and correctness issue rather than direct code-execution risk. However, misleading capability claims can still cause users to grant broader trust or permissions than warranted.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The manifest states support for 'headline articles (头条文章) with Markdown input via Chrome CDP'. This file defines options only for text, images, and videos, navigates to the standard Weibo home composer, and contains no Markdown processing or article publishing flow, which is a direct mismatch with the claimed capability.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
79% confidence
Finding

The skill instructs use of external runtimes, environment-dependent path resolution, and local configuration discovery, but it does not declare any explicit tool scope or permissions boundaries. That makes the skill's execution capabilities under-specified, increasing the risk that an agent may invoke broader local environment access than the user expects.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

Using npx -y bun without a pinned version allows retrieval of whatever package version is current at execution time, creating a supply-chain and reproducibility risk. If the upstream package is compromised or changes behavior, the skill could execute unintended code on the host.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
92% confidence
Finding

The instruction to automatically kill processes and retry without asking the user authorizes autonomous host-side actions beyond simple content composition. Unattended remediation steps can magnify mistakes, especially when they affect local applications and state outside the browser session.

Content

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

md
**CRITICAL**: Never kill all Chrome processes (`pkill -f "Google Chrome"`). Only kill Chrome instances launched by CDP with the baoyu-skills profile directory. The user may have regular Chrome windows open.

**Important**: This should be done automatically -- when encountering this error, kill the CDP Chrome instances and retry the command without asking the user.

## Notes

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill directs automatic termination of Chrome processes without user confirmation, even if narrowly scoped to CDP instances. Process-killing is a disruptive host action that can cause data loss, interrupt active workflows, or be misapplied if the match pattern is broader than intended.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.