Back to skill

Security audit

skill-base-cli

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent, but it asks agents to install and run an unpinned npm CLI that can change installed skills and publish local content.

Review before installing. Use a pinned and verified `skill-base-cli` version, avoid global installation where possible, confirm the server URL and target directories before any install or update, and inspect exactly what local folder will be published before running `skb publish`.

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:28
Finding
Unpinned Third-Party npm Package Installation and Execution## Vulnerability Details **File Location**: `SKILL.md`, line 28 **Vulnerability Type**: Unpinned and unverified third-party dependency execution **Risk Level**: Medium ```text - Installation: `npm install -g skill-base-cli`, or `npx skill-base-cli <subcommand>` ``` ### Technical Analysis The Skill directs the Agent to install or execute `skill-base-cli` without specifying an exact, reviewed package version. Both commands resolve the package through the configured npm registry at execution time: - `npm install -g skill-base-cli` installs the currently resolved release globally and may execute npm lifecycle scripts. - `npx skill-base-cli` may download and immediately execute the currently resolved package. The instruction provides no exact version pin, integrity hash, lockfile, registry restriction, or package-publisher verification. Consequently, the code executed by an Agent can differ from the code that existed when this Skill was reviewed. Exploitation could occur through package-maintainer compromise, publication of a malicious package release, registry substitution, dependency confusion in a misconfigured registry environment, or compromise of a transitive dependency. ### Attack Path 1. An attacker compromises the `skill-base-cli` package, one of its dependencies, its publisher account, or a registry used by the target environment. 2. The attacker publishes or serves a malicious version that still resolves under the unpinned package name. 3. A user requests an operation covered by this Skill. 4. Following `SKILL.md`, the Agent runs either the global npm installation command or the `npx` command. 5. npm retrieves the attacker-controlled version. 6. Malicious lifecycle scripts or CLI code execute with the privileges of the account running the Agent. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the Agent's operating-system account. This may perm ...[truncated 538 chars]
Remediation
## Remediation Suggestions 1. Pin `skill-base-cli` to an exact version that has undergone security review, for example: ```bash npx --yes skill-base-cli@X.Y.Z <subcommand> ``` 2. Prefer a project-local dependency governed by a committed lockfile instead of global installation. 3. Use a trusted, explicitly configured npm registry and verify package ownership and provenance before execution. 4. Verify package integrity through npm lockfile integrity metadata, signed provenance, or an independently maintained checksum. 5. Disable or carefully control npm lifecycle scripts where operationally possible. 6. Require explicit user confirmation before downloading or executing a package that is not already installed and verified. 7. Run the CLI under a least-privileged account or sandbox with access limited to the files and credentials required for the requested operation. 8. Establish a controlled upgrade process in which newer versions are reviewed and tested before changing the pinned version.
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (6)

Self-Modification

High
Category
Rogue Agent
Content
---
name: skill-base-cli
description: >-
  The official Skill Base CLI client. Use the `skb` (Skill Base CLI) command to search, install, update, publish, and import-from-GitHub skills from Skill Base, as well as configure skb. Triggered when users say "publish skill to skill base", "import skill from github", "download/update skill from skill base", "configure skb", or "configure skill-base-cli".
keywords:
  - skill-base-cli
  - skb
Confidence
85% confidence
Finding
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Self-Modification

High
Category
Rogue Agent
Content
---
name: skill-base-cli
description: >-
  The official Skill Base CLI client. Use the `skb` (Skill Base CLI) command to search, install, update, publish, and import-from-GitHub skills from Skill Base, as well as configure skb. Triggered when users say "publish skill to skill base", "import skill from github", "download/update skill from skill base", "configure skb", or "configure skill-base-cli".
keywords:
  - skill-base-cli
  - skb
Confidence
85% confidence
Finding
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Ae1

High
Category
analysis-evasion
Content
- Prepare content in a **folder named after the skill**, root directory must contain **`SKILL.md`**
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- Prepare content in a **folder named after the skill**, root directory must contain **`SKILL.md`**
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The skill explicitly instructs assistants to run terminal commands that install, update, publish, and may delete local skill files, but it does not require a confirmation step or warn users about filesystem-changing actions. In an agent setting, this increases the chance of unintended writes, overwrites, publication of local content, or destructive cleanup actions being performed without sufficiently explicit user consent.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding
The skill recommends executing `npx skill-base-cli <subcommand>` without pinning an exact package version. That allows whatever version is current in the registry at execution time to run, which creates a supply-chain risk if a malicious or breaking release is published or if the package account is compromised.

Static analysis

No suspicious patterns detected.