Back to skill

Security audit

Uimap

Security checks for vulnerabilities and agentic risk

Overview

The skill’s website-navigation purpose is coherent, but its setup instructions include high-risk, unverified remote code execution and an unpinned global CLI install.

Review the installer before using this skill. Prefer a pinned, verifiable package version in an isolated environment, avoid the `curl | bash` CDN path, and only log in if you are comfortable sending website-task queries to the UIMap service.

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

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:39
Finding
Unverified Remote Installer Is Piped Directly into Bash## Vulnerability Details **File Location**: `SKILL.md`, lines 39-42 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ```bash **Via CDN (if npm is unavailable):** ```bash curl -fsSL https://s.dwimg.top/uimap-install/install.sh | bash ``` ``` ### Technical Analysis The installation command retrieves a mutable shell script from `https://s.dwimg.top/uimap-install/install.sh` and immediately pipes its contents to Bash. It does not pin a specific release, verify a cryptographic checksum or signature, save the script for inspection, or otherwise establish the integrity of the downloaded payload. The repository contains no copy of this installer, so its behavior cannot be reviewed as part of the Skill audit. The effective code may change after review without any modification to `SKILL.md`. The project contents also do not establish that `s.dwimg.top` is an authoritative or trusted distribution endpoint. Because Bash executes the response directly, compromise of the domain, hosting infrastructure, TLS termination, deployment credentials, or installer itself would provide a direct arbitrary-code execution path. The downloaded script receives all permissions available to the user running the command. This execution mechanism is not required for the Skill's declared purpose of returning website navigation instructions and exceeds the minimum privilege necessary for that functionality. ### Attack Path 1. An attacker compromises or gains control over the remote installer, its hosting infrastructure, or its publication process. 2. The attacker replaces the installer response with malicious shell commands. 3. A user follows the documented CDN installation instructions. 4. `curl` retrieves the attacker-controlled response. 5. The pipe sends the response directly to Bash without integrity verification or review. 6. Bash executes the payload with the invoking user's privileges. ### Impact Assessme ...[truncated 630 chars]
Remediation
## Remediation Suggestions 1. Remove the `curl | bash` installation method. 2. Prefer a version-pinned package or a release artifact from an authenticated, project-controlled distribution channel. 3. If a shell installer is unavoidable, publish its source in the audited repository and tie it to a specific immutable release. 4. Download the installer to a local file instead of executing it from a pipe. 5. Publish a SHA-256 or stronger checksum through a separate trusted channel and require verification before execution. 6. Cryptographically sign releases and document signature verification using a pinned signing identity. 7. Instruct users to inspect the downloaded script before running it. 8. Ensure the installer operates without administrator privileges unless a specific operation demonstrably requires them.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:34
Finding
Global Installation of an Unpinned Third-Party Package## Vulnerability Details **File Location**: `SKILL.md`, lines 34-36 **Vulnerability Type**: Insecure dependency installation **Risk Level**: Medium ```bash **Via npm:** ```bash npm install -g @refore-ai/uimap ``` ``` ### Technical Analysis The documented npm command does not specify an exact package version. It therefore resolves the package version available under the registry's current dependency-resolution behavior at installation time. Future users may install code that differs from the version reviewed or expected by the Skill. npm package installation runs third-party package content and may execute lifecycle scripts. The `-g` option also installs the CLI into the user's global npm environment rather than an isolated project environment. The audit found no evidence that `@refore-ai/uimap` is currently malicious; the issue is the lack of version and integrity pinning, which leaves installation behavior dependent on mutable external registry state. ### Attack Path 1. The package publisher account, publication token, registry distribution path, or a future package release is compromised. 2. A malicious or otherwise unsafe release is published under `@refore-ai/uimap`. 3. A user runs the unpinned documented installation command. 4. npm resolves and downloads the affected release. 5. Package lifecycle scripts or the subsequently invoked CLI execute under the user's account. 6. The installed global executable remains available for later use until removed or replaced. ### Impact Assessment A compromised package or release could execute commands with the invoking user's privileges during installation or later CLI use. It could access files, environment variables, credentials, browser-related authentication material, and network resources available to that user. Global installation increases persistence and scope within the user's npm environment because the executable is made broadly available to that account. T ...[truncated 134 chars]
Remediation
## Remediation Suggestions 1. Pin the dependency to an exact audited version, for example `npm install -g @refore-ai/uimap@0.1.9`, if that version is verified as the intended release. 2. Verify the package provenance, publisher identity, registry source, and npm integrity metadata before recommending installation. 3. Prefer an isolated or project-local installation over a global installation when global availability is not necessary. 4. Document the expected package digest or signed provenance information through a trusted release channel. 5. Re-audit package updates before changing the pinned version. 6. Avoid elevated execution and ensure users do not run the npm installation command with `sudo` unless there is a justified and documented requirement.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

External Script Fetching

High
Category
Supply Chain
Content
**Via CDN (if npm is unavailable):**
```bash
curl -fsSL https://s.dwimg.top/uimap-install/install.sh | bash
```

See [@refore-ai/uimap on npm](https://www.npmjs.com/package/@refore-ai/uimap) for full installation options.
Confidence
98% confidence
Finding
The skill instructs users to fetch and immediately execute a remote shell script via curl piped to bash. This bypasses review, integrity verification, and version pinning, so if the remote host, DNS, CDN path, or transport chain is compromised, arbitrary code will execute on the user's system. In a skill installation context, this is especially dangerous because users may treat the command as trusted setup guidance.

Chaining Abuse

High
Category
Tool Misuse
Content
**Via CDN (if npm is unavailable):**
```bash
curl -fsSL https://s.dwimg.top/uimap-install/install.sh | bash
```

See [@refore-ai/uimap on npm](https://www.npmjs.com/package/@refore-ai/uimap) for full installation options.
Confidence
99% confidence
Finding
The use of '| bash' creates a direct execution chain from network input to a shell interpreter, eliminating any opportunity for inspection or validation of the downloaded content. This pattern is a classic supply-chain and remote-code-execution risk: any malicious or altered response is executed immediately with the user's privileges. Because the command appears in official installation instructions, the surrounding skill context makes misuse more likely, not less.

Static analysis

No suspicious patterns detected.