Back to skill

Security audit

Cloudnet AI Diagnostics

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent Cloudnet WiFi troubleshooting helper, but users should treat its API key setup and global CLI installation with care.

Before installing, verify the mcporter package and skill publisher, prefer a pinned or least-privileged installation, and understand that configuring this skill stores or uses a Cloudnet API key and sends site, terminal, and diagnostic data to the configured Cloudnet platform.

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:31
Finding

Unpinned Global Installation of Third-Party Tooling

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 31-32
Vulnerability Type: Supply-chain risk caused by unpinned and unverified third-party dependencies
Risk Level: Medium

markdown
- mcporter: `npm install -g mcporter`
- Then install the `mcporter` skill through ClawHub.

Technical Analysis

The skill instructs users to install the latest available mcporter npm package globally and then install another mutable component through ClawHub. Neither instruction specifies an audited version, integrity hash, lockfile, trusted publisher identity, or other authenticity control.

Running npm install -g mcporter may execute npm lifecycle scripts supplied by the package. Because the dependency is globally installed, those scripts execute with the privileges of the account performing the installation and can modify globally accessible tooling or files writable by that account. If installation is performed with elevated privileges, the potential impact increases accordingly.

The ClawHub installation instruction presents a similar dependency-integrity concern because it does not pin a reviewed release or provide a verification mechanism. The effective installed content can therefore change after this skill has been audited.

This finding does not establish that the current mcporter package or skill is malicious. The vulnerability is the unsafe, mutable installation process and its exposure to package compromise, account takeover, dependency confusion, or malicious future releases.

Attack Path

  1. An attacker compromises the relevant npm publisher account, registry package, ClawHub entry, or its distribution infrastructure.
  2. The attacker publishes a malicious release under the dependency name expected by these instructions.
  3. A user follows the skill documentation and runs npm install -g mcporter without specifying a known-good version.
  4. npm retrieves the mutable latest release and may execute ...[truncated 1090 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin mcporter to a specifically reviewed version rather than installing the mutable latest release:
    bash
    npm install mcporter@<reviewed-version>
    
  2. Prefer a project-local installation over a global installation and invoke it through an explicitly pinned package script or equivalent controlled mechanism.
  3. Record and verify the package integrity hash through a committed lockfile or another cryptographic verification mechanism.
  4. Verify the package publisher, registry source, and provenance before installation. Where available, require signed releases or npm provenance attestations.
  5. Pin the ClawHub skill to a reviewed immutable version or digest and verify its publisher and contents before use.
  6. Disable npm lifecycle scripts during installation when they are not required:
    bash
    npm install --ignore-scripts mcporter@<reviewed-version>
    
    If lifecycle scripts are necessary, audit them before permitting execution.
  7. Do not perform installation with sudo or administrator privileges. Use a dedicated, least-privileged environment or container.
  8. Document an approved version-update and security-review process so dependency upgrades are evaluated before deployment.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill requires an API key and instructs transmission of potentially sensitive operational data, including site names, terminal MAC/IP/username, and diagnostic context, to a remote Cloudnet platform without any explicit user-facing notice or consent step. This creates privacy and data-handling risk because users may disclose identifiers and network metadata without understanding that the information will be sent off-box to an external service.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

The instructions specify a fixed response style in Chinese and do not mention adapting to the user's preferred language or offering opt-in. This is a natural-language locale policy concern because it forces a language choice regardless of user preference.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.