Back to skill

Security audit

Myway Personal OS

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to set up the advertised local Myway/OpenClaw dashboard, but it uses unpinned npx commands that can execute changing third-party code on the user's machine.

Review the @uchibeke/myway package before running it, prefer a pinned reviewed version, and run installation from a low-privilege or sandboxed account when possible. Confirm the install directory, file-browser root, OpenClaw gateway URL, port, and any token before allowing the command to create files or start a service.

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

Unpinned Third-Party Package Is Downloaded and Executed Through npx

Content
View full analysis
\ --ai-mode openclaw \ --openclaw-url http://localhost:18789 \ --root ~/vault \ --port 48291 \ --start ``` Lines 98-101: ```bash npx @uchibeke/myway --setup \ --ai-mode openclaw \ --openclaw-url http://localhost:18789 ``` ### Technical Analysis The instructions invoke `@uchibeke/myway` through `npx` without specifying a fixed, previously reviewed version or verifying package integrity. Package resolution can therefore retrieve the current registry release rather than the release that existed when this skill was audited. The downloaded package executes with the privileges of the user running the command. The documented installer performs several security-sensitive operations: creating source files, installing additional dependencies, writing `.env.local`, initializing a database, building the application, and starting a server. npm package lifecycle scripts and the package's own executable may run arbitrary local code during these operations. This creates a supply-chain trust boundary that is not adequately controlled. If the publisher account, npm package, registry resolution process, or a transitive dependency is compromised, the effective code executed by the skill can change without any modification to `SKILL.md`. The audit does not establish that the current package is malicious; the vulnerability is the unpinned and unverified execution mechanism. ### Attack Path 1. An attacker compromises the `@uchibeke/myway` publisher account, package release process, or one of the dependencies installed by the package. 2. The attacker publishes a malicious release under the same package name or introduces malicious lifecycle code into a resolved dependency. 3. A user or AI agent follows the skill a ...[truncated 1357 chars]
Remediation
View remediation
\ --ai-mode openclaw \ --openclaw-url http://localhost:18789 \ --root ~/vault \ --port 48291 \ --start ``` 2. Apply the same explicit version pin to the reconfiguration command. 3. Verify the package artifact before execution using a documented integrity hash, trusted package signature, or independently verified release provenance. 4. Lock transitive dependencies and require reproducible installation from a committed lockfile. Use immutable or frozen-lockfile installation modes where supported. 5. Review package lifecycle scripts and the installer entry point before approving a new package version. Do not automatically advance the pinned version. 6. Require explicit user confirmation before downloading and executing the installer, particularly when the selected root contains sensitive personal files. 7. Avoid providing gateway tokens or other secrets until package authenticity and integrity have been verified. Use narrowly scoped and revocable credentials where authentication is required. 8. Where practical, run the installer in a sandbox, container, or dedicated low-privilege account with filesystem and network access restricted to resources required for installation. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

bash
cd <existing-myway-directory>
# Edit .env.local with new values
yarn build
# Restart: yarn start, or pm2 restart myway

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The skill instructs users to run npx @uchibeke/myway without pinning a specific package version. Because npx fetches and executes the latest published package by default, a compromised publisher account, malicious update, or breaking release could result in arbitrary code execution on the user's machine during installation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill describes scaffolding a project, installing dependencies, writing .env.local, initializing a database, and starting a server, but it does not explicitly warn that these steps modify the filesystem and launch persistent services. In an agent-executed context, this can lead to unexpected local state changes, exposure of services, or accidental deployment without informed user consent.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

md
The command will:
1. Scaffold a new directory with the Myway source
2. Install dependencies (2-5 minutes)
3. Write `.env.local` with the provided config
4. Initialize the database
5. Build for production (1-2 minutes)
6. Start the server and open the browser (if `--start` is passed)

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The reconfiguration flow again uses npx @uchibeke/myway without a pinned version, which can execute whatever package version is current at the time the command is run. This creates a supply-chain risk where future package updates could run unexpected or malicious code in an existing deployment context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill states that Myway sends chat and skill requests to the OpenClaw gateway, but it does not warn users about the data flow or privacy implications of forwarding prompt content to another service. Even on localhost, sensitive user content may be processed, logged, or bridged onward by the configured backend without the user realizing it.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.