Back to skill

Security audit

caching

Security checks for vulnerabilities and agentic risk

Overview

The skill content is ordinary caching guidance, but its README recommends an unpinned remote `npx` install path that gives installer code broad local access for a Markdown-only skill.

Review the installation path before installing. Prefer a pinned, verified source or manual copy of the reviewed files, and avoid running the documented `npx add` command with elevated privileges. Once installed, the skill itself appears to be a normal caching reference.

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

Unpinned npm Package Execution in Installation Instructions

Content
View full analysis

Vulnerability Details

File Location: README.md, lines 30–32
Vulnerability Type: Supply-chain risk from remotely resolved and unpinned executable dependencies
Risk Level: Medium

Vulnerable Code

bash
npx add https://github.com/wpank/ai/tree/main/skills/api/caching

Technical Analysis

The installation command invokes npx add. This can resolve and execute the npm package named add when a trusted local copy is unavailable. No exact package version or integrity hash is specified, so the code executed by npx can change after the Skill has been reviewed.

The GitHub tree URL also refers to a mutable branch path rather than an immutable commit. Consequently, both the installer and the requested remote content lack cryptographic or immutable version pinning. Executing a remotely resolved installer is not necessary for this documentation-only Skill, which consists solely of Markdown files, and therefore exceeds the minimum privilege needed to install it.

The audited Skill files contain no embedded executable payload or direct sensitive-data transmission. The sensitive-network pattern reported by the pre-scan in SKILL.md is attributable to explanatory caching guidance, including warnings about tokens and PII, rather than operational exfiltration behavior.

Attack Path

  1. A user follows the installation instructions in README.md.
  2. npx resolves the unpinned add package through the configured npm registry or cache.
  3. A compromised, malicious, or unexpectedly resolved package version executes with the user's current operating-system privileges.
  4. The executed package can access resources available to that user, including project files, environment variables, local credentials, and writable configuration directories.
  5. The package can alter files or transmit accessible information over the network before processing the supplied GitHub URL.
  6. Separately, mutable content at the GitHub ...[truncated 972 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the ambiguous npx add command and avoid executing a general-purpose, remotely resolved installer for a Markdown-only Skill.
  2. Pin the source repository to a reviewed immutable commit rather than a branch:
    bash
    git clone https://github.com/wpank/ai.git
    cd ai
    git checkout <reviewed-commit-sha>
    
  3. Verify the checked-out commit and, where available, its signature before copying the Skill files.
  4. Copy only the required reviewed files into the destination Skill directory instead of executing repository-provided code.
  5. If an npm-based installer is essential, use an explicitly named trusted package pinned to an exact version, lock its integrity hash, review its lifecycle scripts, and document the expected publisher and checksum.
  6. Advise users not to run installation commands with administrative privileges.
  7. Consider publishing checksums or signed release artifacts so users can verify that installed content matches the audited release.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (5)

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.

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

From your project root:

bash
mkdir -p .cursor/skills
cp -r ~/.ai-skills/skills/api/caching .cursor/skills/caching

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.

From your project root:

bash
mkdir -p .claude/skills
cp -r ~/.ai-skills/skills/api/caching .claude/skills/caching

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

Claude Code (global)

bash
mkdir -p ~/.claude/skills
cp -r ~/.ai-skills/skills/api/caching ~/.claude/skills/caching

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: caching
model: standard
description: Caching strategies, invalidation, eviction policies, HTTP caching, distributed caching, and anti-patterns. Use when designing cache layers, choosing eviction policies, debugging stale data, or optimizing read-heavy workloads.
---

Static analysis

No suspicious patterns detected.