Back to skill

Security audit

cro_skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is a simple Chinese-language risk assessment helper with no evidence of hidden access, persistence, data theft, or destructive behavior.

Installers can treat this as a low-risk, Chinese-language risk scoring helper. If using the publishing commands, run a pinned and trusted ClawHub CLI version in a clean environment with only the credentials needed for publication.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:91
Finding
Unpinned ClawHub CLI Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 91–94 **Vulnerability Type**: Unpinned third-party package execution **Risk Level**: Medium ### Vulnerable Code ```bash npx clawhub login npx clawhub publish . --name "首席风险官" --version "1.0.0" --tags "风险,管理,合规,监控" ``` ### Technical Analysis The deployment instructions execute the `clawhub` npm package through `npx` without specifying an exact package version or verifying its integrity. If the package is not available locally, `npx` may retrieve the currently published version from the configured package registry and execute it immediately. Consequently, the code executed by these instructions can change after the skill has been reviewed. Compromise of the package publisher, registry account, package distribution infrastructure, or a future package release could introduce attacker-controlled code. The risk is especially relevant to the login command because the invoked process may have access to credentials, tokens, environment variables, and files available to the publishing user. ### Attack Path 1. An attacker compromises the `clawhub` package publisher, its registry account, or the relevant package distribution channel. 2. The attacker publishes a modified package version containing malicious installation or runtime code. 3. A user follows the documented `npx clawhub login` or `npx clawhub publish` instructions without having a trusted local version installed. 4. `npx` retrieves the current package release from the configured registry. 5. The attacker-controlled package executes with the privileges and environment of the user running the command. 6. The malicious package may access publishing credentials, environment variables, project files, or other resources available to that user. ### Impact Assessment Successful exploitation permits arbitrary code execution under the operating-system account that runs the documented commands. The resulting access ...[truncated 655 chars]
Remediation
## Remediation Suggestions - Pin the CLI to an explicitly reviewed version instead of resolving the latest release dynamically, for example: ```bash npx --yes clawhub@<reviewed-exact-version> login npx --yes clawhub@<reviewed-exact-version> publish . --name "Chief Risk Officer" --version "1.0.0" --tags "risk,management,compliance,monitoring" ``` - Prefer declaring the reviewed CLI version in a package manifest and committing the generated lockfile. Install it with a deterministic command such as `npm ci`, then invoke the locked local binary. - Verify the package name, publisher identity, provenance, signatures, and registry source before approving a version. - Configure an approved registry rather than relying on an uncontrolled or user-specific registry configuration. - Review package installation scripts and the dependency tree before execution. Where compatible with the package, disable unnecessary lifecycle scripts. - Run publishing tools from an isolated, least-privileged environment with access only to the project and credentials required for publication. - Use short-lived, narrowly scoped publication tokens and avoid exposing unrelated secrets through environment variables. - Separate installation, verification, authentication, and publication into explicit documented steps so users do not implicitly download and execute unreviewed code.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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 (5)

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This markdown file presents all user-facing instructions and examples exclusively in Chinese, which effectively forces a specific language for use of the skill. The policy allows locale constraints only when users are given a choice or when the restriction is clearly documented and justified, neither of which appears here.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The documentation instructs users to run `npx clawhub login`, which fetches and executes the latest package version at runtime without pinning. This creates a supply-chain risk: if the package is compromised or a breaking/malicious version is published, users may execute unintended code on their systems.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The publish command uses `npx clawhub publish ...` without a pinned version, so the CLI downloaded and executed may change over time. In the skill context, this is particularly relevant because publishing workflows often run with developer credentials and access tokens, increasing the value of a supply-chain compromise.

Natural-Language Policy Violations

Medium
Confidence
92% confidence
Finding
The manifest’s user-facing name, description, tags, schema field descriptions, and example content are entirely in Chinese, with no indication that language selection is optional or that the skill is limited to a Chinese-speaking or region-specific context. Under the policy, forcing a specific language without user opt-in or documented justification is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This Python file contains user-facing natural-language descriptions, metadata, and printed output entirely in Chinese, including the skill name, description, parameter descriptions, and console messages. Because the skill does not provide any language selection, opt-in, or justification for being China/Chinese-specific, it appears to impose a specific language/locale in a way that may violate organizational language-choice policy.

Static analysis

No suspicious patterns detected.