Back to skill

Security audit

Skill Architect

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent skill-design helper, with disclosed file-scaffolding behavior and no evidence of hidden data access, exfiltration, or destructive actions.

Review the skill before installing, prefer project-scoped installation when experimenting, and avoid the unpinned npx quick install in sensitive environments unless you trust the installer package and its current version.

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
README.md:62
Finding

Unpinned Third-Party CLI Is Downloaded and Executed During Installation

Content
View full analysis

Vulnerability Details

File Location: README.md, lines 62–71
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: Medium

Vulnerable Code

markdown
## Installation

### Quick Install (any supported agent)

The easiest way to install — works with Claude Code, Cursor, Windsurf, Cline, and [40+ other agents](https://github.com/vercel-labs/skills):

```bash
npx skills add vincent-hq/skill-architect

The CLI auto-detects your agent and places the skill in the right directory.

text

### Technical Analysis

The documented quick-install command invokes the third-party `skills` npm CLI through `npx` without pinning a reviewed package version or verifying package integrity. Depending on the local npm configuration and cache, `npx` can retrieve the current registry release and immediately execute its code.

This means the code executed during installation is not limited to the contents of the audited repository and may change after this repository has been reviewed. The command also gives the external CLI responsibility for detecting agent installations and writing into their configuration directories.

The repository contains no evidence that the package is currently malicious. The vulnerability is the unsafe trust model: compromise of the npm package, its publisher account, or a future release could turn the documented installation path into arbitrary code execution.

### Attack Path

1. An attacker compromises the npm package, its publisher account, or its release process.
2. The attacker publishes a malicious version under the package name resolved by `npx skills`.
3. A user follows the quick-install instructions and runs:
   ```bash
   npx skills add vincent-hq/skill-architect
  1. npx retrieves and executes the compromised package.
  2. The malicious package runs with the invoking user's privileges and can access the user's environment and writable files.
  3. It may modify project files, agent configuration, or ot ...[truncated 806 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the installer to an explicitly reviewed version rather than allowing npx to resolve the current release:
    bash
    npx --yes skills@<reviewed-version> add vincent-hq/skill-architect
    
  2. Document the expected npm publisher, package repository, and reviewed version so users can validate package provenance.
  3. Publish and verify package integrity metadata or checksums where supported.
  4. Prefer a manual installation procedure based on a pinned Git commit or signed release rather than cloning a mutable default branch.
  5. Advise users to inspect the installer package and repository before execution in sensitive environments.
  6. Run installation with least privilege and without unnecessary secrets in the process environment.
  7. Treat changes to the pinned CLI version as security-sensitive updates requiring renewed review.
Vulnerability Patterns
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (11)

Self-Modification

High
Category
Rogue Agent
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.

Content

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

md
A skill for creating new AI skills that are structurally sound — not just syntactically correct. Works with any AI coding tool — Claude Code, Google Antigravity, Cursor, Windsurf, Cline, GitHub Copilot, and more.

Most skill-creation guides focus on format: how to write SKILL.md, what goes in frontmatter, how to organize directories. This skill focuses on **design**: before writing anything, we figure out what shape the skill's internal logic should take, using Google's 5 Agent Skill Design Patterns as a framework.

The core loop:
1. **Understand the intent** — what does the user want this skill to do?

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The listed activation examples include generic phrases like "create a skill," "build a skill," and especially "help me write a skill," which are broad enough to match ordinary conversation and may cause unintended invocation. The file does not provide tighter scope, exclusion conditions, or negative examples to clarify when the skill should or should not activate.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrases are extremely broad (create a skill, help me write a skill, design a skill) and overlap with normal assistant requests. In agents that auto-activate skills from natural language, this can cause unintended invocation, context capture, or the model following the skill's instruction set when the user only meant to ask a general question.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

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

Option A: Global install (available in all projects)

bash
git clone https://github.com/vincent-hq/skill-architect.git
mkdir -p ~/.claude/skills
cp -r skill-architect ~/.claude/skills/skill-architect

Session Persistence

Medium
Category
Rogue Agent
Confidence
83% confidence
Finding

The README explicitly instructs users to install the skill into a global persistent directory (~/.claude/skills), making the behavior available across future sessions and projects. Persistent installation increases blast radius if the skill is flawed, overly broad, or later modified, because it can continue auto-triggering outside the original context.

Content

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

Option A: Global install (available in all projects)

bash
git clone https://github.com/vincent-hq/skill-architect.git
mkdir -p ~/.claude/skills
cp -r skill-architect ~/.claude/skills/skill-architect

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

Option B: Project install (available in one project)

bash
git clone https://github.com/vincent-hq/skill-architect.git
mkdir -p .claude/skills
cp -r skill-architect .claude/skills/skill-architect

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description embeds many broad trigger phrases such as 'create a skill', 'build a skill', and 'help me write a skill', which are common in normal conversations and may cause the skill to activate outside the author's intended scope. Over-broad activation is dangerous because it can unexpectedly steer the agent into self-modifying or code-generating behavior in contexts where a more specific skill or normal assistant behavior would be safer.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The instruction to make the description field 'slightly pushy' so the skill doesn't undertrigger explicitly encourages broader activation without corresponding guardrails. This increases the chance that the skill will seize control in marginal contexts and route the model into creating or modifying skills when the user did not clearly request that behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The template tells authors to describe when a skill should trigger, but it does not require concrete trigger phrases, boundaries, or explicit non-trigger conditions. In a skill-generation context, this can produce overly broad activation behavior that causes the wrong skill to run on unrelated prompts, increasing the chance of unintended instruction execution or unsafe tool use.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown template asks authors to describe when the skill should trigger, but it does not require specific trigger phrases, scope limits, or exclusion conditions. As a result, downstream skills created from this template may use overly broad activation language and invoke unintentionally.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.