Back to skill

Security audit

xiaohongshu-ops

Security checks for vulnerabilities and agentic risk

Overview

The skill’s Xiaohongshu automation purpose is mostly coherent, but its bundled OpenClaw setup guide asks users to run broad installer and gateway-administration steps that expose credentials and persistent access.

Review before installing. The Xiaohongshu workflow includes useful safeguards such as stopping before publish and requiring confirmation before replies, but the included OpenClaw one-click setup guide should not be pasted blindly. Avoid curl-to-bash installers, do not print or share gateway tokens, verify device identities before approving them, and consider whether persistent browser and gateway access is appropriate for the account you plan to automate.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
Findings (5)

T03 · Remote Payload Retrieval and Execution

Error
Location
Openclaw一键安装.md:37
Finding

Remote Installation Script Executed Without Integrity Verification

Content
View full analysis
Remediation
View remediation
' printf '%s %s\n' '' '/tmp/nvm-install.sh' | shasum -a 256 -c - less /tmp/nvm-install.sh bash /tmp/nvm-install.sh ``` The checksum must come from a trusted, separately authenticated source rather than from the same unverified download location. ]]>

T06 · System Persistence

Warning
Location
Openclaw一键安装.md:89
Finding

Installer Creates and Starts a Persistent Gateway Service by Default

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
Openclaw一键安装.md:58
Finding

Unpinned Global npm Package Installation

Content
View full analysis
/dev/null 2>&1; then return fi echo "[3/6] 安装 openclaw..." npm i -g openclaw } ``` ### Technical Analysis The installer resolves and installs the current npm release of `openclaw` without pinning an audited version or verifying package provenance and integrity. Because the package is installed globally, its commands become available throughout the user's environment rather than being isolated to this project. npm installation can execute package lifecycle scripts. Consequently, compromise of the package, its publisher account, or one of its install-time dependencies could produce arbitrary code execution during installation. The package's effective behavior may also change after this Skill has been reviewed because no exact version is specified. The preliminary `command -v` check does not validate the identity, version, or integrity of an existing `openclaw` executable. It merely skips installation when any executable with that name is found. ### Attack Path 1. An attacker compromises the npm package, publisher credentials, or a dependency included in a later release. 2. The malicious release becomes the version selected by npm for the unqualified package name. 3. A user runs the recommended installer. 4. `npm i -g openclaw` downloads the malicious or compromised release. 5. npm executes applicable installation lifecycle logic with the installing user's permissions. 6. The globally installed command remains available for subsequent use. ### Impact Assessment A compromised package or lifecycle script could execute arbitrary commands as the current user, read user-accessible files, steal tokens and browser data, alter global tooling, or install persistence. The global installation broadens the s ...[truncated 259 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
Openclaw一键安装.md:97
Finding

Gateway Authentication Token Printed to Terminal Output

Content
View full analysis
}" echo "Token: ${token:-}" echo "Dashboard: http://127.0.0.1:18789/" } ``` ### Technical Analysis The verification function retrieves the active gateway authentication token and prints it in plaintext. Authentication secrets should not be emitted during routine status reporting. Terminal output can be captured in shell transcripts, automation logs, support bundles, screen recordings, shared terminal sessions, or screenshots. Even when the gateway initially binds to localhost, token disclosure remains dangerous where local users, forwarded ports, browser integrations, or later configuration changes make the service reachable. The token is not hardcoded in the repository, and the audit found no direct exfiltration to an external host. The vulnerability is the unnecessary plaintext exposure of a live secret. ### Attack Path 1. The user runs the recommended installer. 2. The script reads `gateway.auth.token` from the OpenClaw configuration. 3. The complete token is printed to standard output. 4. A terminal logger, screen-sharing participant, local observer, captured transcript, or support artifact records the token. 5. An unauthorized party obtains the recorded output. 6. The party reuses the token against any reachable gateway endpoint for which it remains valid. ### Impact Assessment The exposed token may permit authentication to the OpenClaw gateway with the privileges assigned to that credential. The precise gateway capabilities and network reachability ...[truncated 323 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
Openclaw一键安装.md:156
Finding

Latest Pending Device Is Approved Without Identity Verification

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (15)

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The entire file is an OpenClaw installation and administration guide, which is materially different from the declared skill purpose of Xiaohongshu operations. This capability drift is dangerous because it introduces local environment bootstrap, authentication, and gateway management behavior that a user would not reasonably expect from the manifest, increasing the chance of unreviewed privileged actions.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

Using curl ... | bash chains untrusted network content directly into code execution, removing any meaningful inspection boundary. In a skill that is unrelated to system administration, this pattern is especially dangerous because it can silently bootstrap arbitrary code on the host under the guise of a content-operations workflow.

Content

Scanner excerpt · Openclaw一键安装.md (reported line 37)May include surrounding context.

md
fi

  echo "[1/6] 安装 nvm..."
  curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
  # shellcheck disable=SC1090
  . "$NVM_DIR/nvm.sh"
}

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script retrieves the gateway authentication token from local config and prints it directly to the terminal. This unnecessarily exposes a sensitive bearer credential that can be copied from shell history, logs, screen recordings, shared terminals, or shoulder-surfing, and it is unrelated to the stated Xiaohongshu operations purpose of the skill.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

Printing the gateway authentication token to the terminal creates immediate credential exposure. Any process or person with access to terminal logs, recordings, support transcripts, or shared sessions could reuse the token to access the gateway, making this especially risky in a setup script.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file includes local environment setup, package installation, onboarding, and service management for OpenClaw, none of which are justified by the advertised Xiaohongshu content operations use case. In this context, the mismatch makes the instructions more dangerous because users may execute infrastructure-changing steps without expecting system-level effects.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The guide exposes the gateway token in plain text and does not warn that it is a sensitive secret. Users are therefore more likely to paste it into chats, store it in insecure notes, or leave it visible in terminal scrollback, enabling unauthorized access to the local gateway.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documentation instructs users to extract the auth token from config into an environment variable for reuse. Even though this is common operationally, documenting direct token handling without safeguards increases the risk of exposure through shell history, process listings in some contexts, copied snippets, and accidental sharing.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documentation explicitly promotes fully automated publishing and automated comment interaction, which are account- and platform-impacting actions, but provides no warning, approval checkpoint, rate-limit guidance, or policy/compliance caveat. In an automation skill for social-platform operations, this increases the risk of spammy behavior, unauthorized posting, account sanctions, and reputational damage if the automation misfires or is misused.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README explicitly promotes automated posting, automated comment replies, and account operation via browser automation, but it does not warn users about platform policy violations, account suspension/rate limiting, or the privacy/security implications of persistent login sessions and handling comment/content data. In the context of a skill designed to autonomously operate a social media account, that omission materially increases the chance that users deploy it unsafely or in violation of platform rules.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 · README.md (reported line 89)May include surrounding context.

md
## Star 趋势

[![Star History Chart](https://api.star-history.com/svg?repos=Xiangyu-CAS/xiaohongshu-ops-skill&type=Date)](https://star-history.com/#Xiangyu-CAS/xiaohongshu-ops-skill&Date)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly requires all external copy to follow a local persona/style file, which can override a user's preferred tone, language, or communication constraints without opt-in. While not directly enabling code execution or data theft, it can cause the agent to ignore user intent and produce manipulative or misaligned outputs, especially in a publishing/engagement workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The file explicitly defines the persona and output style for Xiaohongshu-specific Chinese posting and reply behavior, including platform-specific tone and phrasing. This imposes a specific language/locale expectation without any opt-in, fallback, or explanation that the skill is restricted to a region-specific use case.

Content

No source excerpt is available for this finding.

External Script Fetching

Low
Category
Supply Chain
Confidence
93% confidence
Finding

The script fetches and executes a remote installer from GitHub in one step, which creates a supply-chain and integrity risk. If the remote content, transport, repository, or referenced version were compromised, arbitrary code would execute on the user's machine during setup.

Content

Scanner excerpt · Openclaw一键安装.md (reported line 37)May include surrounding context.

md
fi

  echo "[1/6] 安装 nvm..."
  curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
  # shellcheck disable=SC1090
  . "$NVM_DIR/nvm.sh"
}

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The file presents the skill name and all user-facing documentation in Chinese, which can amount to a language-policy issue when no opt-in or locale justification is provided. The content does not indicate that the skill is restricted to Chinese-speaking users or that an alternative language is available.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This markdown file presents the skill template and usage guidance entirely in Chinese, which can impose a fixed language/locale on users. The policy allows locale constraints when users are given a choice or when the constraint is clearly documented and justified, neither of which appears here.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.