Back to skill

Security audit

Doro Command Creator

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed slash-command generator, but its unpinned remote installer and guidance for persistent commands that can automate commits and PR publishing warrant Review before installation.

Install only from a pinned, reviewed source if possible. Before using it, review the generated command file contents and prefer project-local commands unless you deliberately want global behavior. Avoid generated commands that stage all files, commit, push, publish PRs, or run broad shell workflows unless they include an explicit user confirmation step.

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 (2)

T08 · Insecure Dependencies

Warning
Location
README.md:22
Finding

Unpinned npx Installer Executes a Mutable Remote Dependency

Content
View full analysis

Vulnerability Details

File Location: README.md:22-25
Vulnerability Type: Unpinned third-party installer and mutable remote source
Risk Level: Medium

Vulnerable Code:

bash
## Installation

```bash
npx add https://github.com/wpank/ai/tree/main/skills/tools/command-creator
text

### Technical Analysis

The installation instructions invoke `npx add` without pinning the npm package named `add` to a reviewed version or verifying its integrity. If the package is not already available locally, `npx` may download and execute its current published version with the invoking user's privileges.

The source URL also points to the mutable GitHub `main` branch rather than an immutable commit SHA or signed release. Therefore, both the installer implementation and installed Skill content can change after this project has been audited. The package itself contains no confirmed malicious executable payload, but following this instruction crosses a supply-chain trust boundary without version or integrity controls.

### Attack Path

1. An attacker compromises the npm package used by `npx add`, its publisher account, or the referenced GitHub repository.
2. The attacker publishes a malicious package update or modifies content under the `main` branch.
3. A user follows the documented installation command.
4. `npx` resolves and executes the unpinned installer package.
5. The installer retrieves mutable content from the compromised repository location.
6. Malicious installer code can execute immediately, or altered Skill instructions can be installed and execute through later agent use.

### Impact Assessment

A compromised npm installer can execute arbitrary code with the privileges of the user running the command. This may permit access to that user's files, repositories, environment variables, development credentials, and writable configuration.

Altered remote Skill content could also introduce malicious agent 
...[truncated 274 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the installer package to an exact, reviewed version instead of invoking an unversioned npm package.
  2. Replace the mutable main reference with an immutable reviewed commit SHA or a signed release tag.
  3. Verify downloaded content using a published cryptographic checksum or signature before installation.
  4. Clearly identify the expected npm package name, publisher, version, and integrity value.
  5. Prefer a non-executing installation process, such as downloading a pinned archive, verifying it, and manually copying the required files.
  6. If npx remains necessary, use package-manager controls that prevent interactive package substitution and enforce an exact version and integrity policy.

T08 · Insecure Dependencies

Warning
Location
command-creator/README.md:22
Finding

Duplicated Unpinned npx Installer Executes a Mutable Remote Dependency

Content
View full analysis

Vulnerability Details

File Location: command-creator/README.md:22-25
Vulnerability Type: Unpinned third-party installer and mutable remote source
Risk Level: Medium

Vulnerable Code:

bash
## Installation

```bash
npx add https://github.com/wpank/ai/tree/main/skills/tools/command-creator
text

### Technical Analysis

The nested README duplicates the unsafe installation instruction. It invokes `npx add` without pinning the executed npm package to a reviewed version and obtains Skill content from the mutable GitHub `main` branch.

As a result, installation behavior depends on third-party state at execution time rather than the content reviewed in this artifact. No malicious dependency is proven to exist, but the absence of version and integrity controls permits a later package or repository compromise to alter the effective payload.

### Attack Path

1. An attacker compromises the npm installer package, its publisher account, or the referenced GitHub repository.
2. The attacker publishes malicious installer code or changes the Skill content under `main`.
3. A user follows the nested README installation command.
4. `npx` downloads and runs the current unpinned installer package.
5. The installer retrieves the current mutable repository content.
6. Attacker-controlled code executes during installation or attacker-controlled instructions are installed for later agent execution.

### Impact Assessment

Malicious installer code would run with the invoking user's permissions and could access or modify user-readable files, repositories, development configuration, environment variables, and credentials available to that process.

If altered Skill files are installed globally, malicious instructions could influence future sessions across multiple projects. If installed per project, the effect would generally be limited to that project and the user's accessible resources. No administrative or root-lev
...[truncated 33 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the npm installer to an exact reviewed version.
  2. Pin repository content to an immutable commit SHA or verified signed release.
  3. Publish and validate cryptographic checksums or signatures for installation artifacts.
  4. Replace executable remote installation with a verified archive-download and manual-copy procedure where practical.
  5. Keep duplicated documentation synchronized so corrected installation guidance appears in both README files.
  6. Document the installer package's expected publisher and integrity metadata to reduce package-substitution risk.
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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
Findings (42)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The example includes git add . and a non-interactive gt submit --stack --publish --no-edit --restack, which can stage unintended files and publish PRs automatically without a prominent user-facing warning or confirmation gate. Because this file is intended as a reusable template for creating new slash commands, it can propagate unsafe automation patterns that lead to accidental code disclosure, premature publication, or disruptive branch history changes.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are very broad and overlap with ordinary user requests such as 'create a command' or 'automate this workflow'. In an agent environment, this can cause unintended invocation of the skill in contexts where the user did not explicitly intend to run it, increasing the chance of prompt expansion or workflow execution at the wrong time.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The installation command pulls and executes remote package content via npx add without any pinned version, commit, or integrity control. This creates a supply-chain risk: if the upstream repository changes or is compromised, users may install unexpected or malicious content.

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 6)May include surrounding context.

md
model: fast
version: 1.0.0
description: |
  WHAT: Create Claude Code slash commands - reusable markdown workflows invoked with /command-name.
  
  WHEN: User wants to create, make, or add a slash command. User wants to automate a repetitive workflow or document a consistent process for reuse.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are broad enough that the skill may activate for loosely related requests such as general automation or repeatability, causing the agent to enter a file-creating workflow unexpectedly. In this skill, unintended invocation matters because the workflow culminates in writing persistent command files that can later influence future agent behavior.

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 · README.md (reported line 3)May include surrounding context.

md
# Command Creator

Create Claude Code slash commands — reusable markdown workflows invoked with `/command-name`. Slash commands are markdown files in `.claude/commands/` (project) or `~/.claude/commands/` (global) that expand into prompts when invoked.

## What's Inside

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 · command-creator/README.md (reported line 3)May include surrounding context.

md
# Command Creator

Create Claude Code slash commands — reusable markdown workflows invoked with `/command-name`. Slash commands are markdown files in `.claude/commands/` (project) or `~/.claude/commands/` (global) that expand into prompts when invoked.

## What's Inside

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README lists activation conditions such as 'create, make, or add a slash command' and trigger phrases like 'new command', '/command', 'automate this workflow', and 'make this repeatable'. Several of these are generic and lack exclusion conditions or scope constraints, making it unclear when this skill should activate versus other automation or command-related skills.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The README instructs users to install the skill with npx add from a remote GitHub URL without any version pinning, commit hash, or integrity verification. That creates a supply-chain risk: if the referenced repository or dependency resolution changes, users may fetch and execute unexpected content during installation.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 50)May include surrounding context.

From your project root:

bash
mkdir -p .claude/skills
cp -r ~/.ai-skills/skills/tools/command-creator .claude/skills/command-creator

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · command-creator/README.md (reported line 50)May include surrounding context.

From your project root:

bash
mkdir -p .claude/skills
cp -r ~/.ai-skills/skills/tools/command-creator .claude/skills/command-creator

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 57)May include surrounding context.

Claude Code (global)

bash
mkdir -p ~/.claude/skills
cp -r ~/.ai-skills/skills/tools/command-creator ~/.claude/skills/command-creator

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
85% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · command-creator/README.md (reported line 57)May include surrounding context.

Claude Code (global)

bash
mkdir -p ~/.claude/skills
cp -r ~/.ai-skills/skills/tools/command-creator ~/.claude/skills/command-creator

External Model or Provider Selection

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.

Content

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

md
---
name: command-creator
model: fast
description: |
  WHAT: Create Claude Code slash commands - reusable markdown workflows invoked with /command-name.

External Model or Provider Selection

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.

Content

Scanner excerpt · command-creator/SKILL.md (reported line 3)May include surrounding context.

md
---
name: command-creator
model: fast
description: |
  WHAT: Create Claude Code slash commands - reusable markdown workflows invoked with /command-name.

Session Persistence

Medium
Category
Rogue Agent
Confidence
88% confidence
Finding

The skill is designed to create slash command files that persist beyond the current session, effectively storing executable workflow prompts in project or global command directories. In context, this persistence is the feature, but it still carries security risk because commands can later be invoked repeatedly and may encode unsafe or over-privileged instructions if created from ambiguous or insufficiently reviewed input.

Content

Scanner excerpt · command-creator/SKILL.md (reported line 5)May include surrounding context.

md
name: command-creator
model: fast
description: |
  WHAT: Create Claude Code slash commands - reusable markdown workflows invoked with /command-name.
  
  WHEN: User wants to create, make, or add a slash command. User wants to automate a repetitive workflow or document a consistent process for reuse.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrases are broad enough to match common user requests such as 'create a command' or 'automate this workflow', which can cause the skill to activate in situations where the user did not intend to create persistent slash commands. In this skill, unintended activation is more dangerous because the workflow leads directly to creating files in project or global command directories, increasing the chance of unexpected persistent changes.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly directs creation of directories and command files under .claude/commands/ or ~/.claude/commands/ without requiring an explicit warning or confirmation that persistent files will be modified. This is risky because it can write reusable prompts into project or user-wide locations, creating lasting behavior changes that may surprise the user or be abused for persistence.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documentation first says to use the Bash tool for make commands, then immediately says 'DO NOT use Bash tool for make commands.' This is an active contradiction in the file's own guidance, not merely an omission, and it can cause a generated slash command to implement the opposite behavior from what the surrounding text recommends.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The file recommends staging and committing repository changes with commands like git add . and git commit -m without surrounding safety guidance or confirmation requirements. In a skill whose purpose is to generate reusable autonomous commands, this normalizes repository-modifying actions that can be embedded into derived commands and executed without sufficient user awareness, increasing the risk of unintended state changes or committing sensitive files.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

This section says 'ALWAYS use Bash tool' for make commands and even shows an example using Bash, but then states 'DO NOT use Bash tool for make commands.' That is a direct contradiction in the documented intent and can mislead the skill into generating inconsistent or incorrect command instructions.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

In the 'CORRECT' example, the text instructs to use the Bash tool to run make commands, then immediately says 'DO NOT use Bash tool for make commands.' Because both statements are presented as the correct pattern, the example actively contradicts itself and undermines the stated best-practice guidance.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The example gt submit --stack --publish --no-edit publishes changes remotely but is presented without an explicit warning or approval checkpoint. In the context of a command-creation skill, this can propagate into generated commands that perform remote publication autonomously, creating risk of accidental disclosure, premature PR submission, or leaking sensitive code to external systems.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

The instruction to create commands that execute 'autonomously without asking clarifying questions' encourages reducing human checkpoints even when workflows may include sensitive actions like editing files, committing code, or submitting PRs. In this skill context, that guidance increases the chance that generated commands will perform consequential actions without adequate validation, approval, or ambiguity resolution.

Content

Scanner excerpt · command-creator/references/best-practices.md (reported line 719)May include surrounding context.

md
9. **Track progress** (TodoWrite for multi-step)
10. **Verify each step** (check results before proceeding)

Focus on creating commands that agents can execute autonomously without asking clarifying questions.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This example explicitly instructs the agent to run git add . and git commit as part of an automated workflow, which modifies repository state and can sweep in unintended files. Because this is reference material for creating new commands, it can normalize unsafe defaults and lead users or downstream commands to perform irreversible local changes without a confirmation step.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.