Back to skill

Security audit

mar-competitor-analysis

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed SEO competitor analysis skill with some install and trigger wording cautions, but no evidence of hidden, destructive, or unrelated behavior.

Install only from a trusted source, prefer pinned or verified installation commands, and confirm the request is truly for SEO competitor analysis before allowing connected SEO, analytics, search-console, or AI-monitor tools to pull business metrics.

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

Unpinned Third-Party Package Execution Through npx

Content
View full analysis
**[SEO & GEO Skills Library](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · Install all: `npx skills add aaron-he-zhu/seo-geo-claude-skills` ``` ### Technical Analysis The installation instruction invokes `npx skills` without pinning the `skills` package to a specific audited version. Depending on the local npm configuration and cache state, `npx` may retrieve and execute the current package version from the configured registry. The requested Skill collection is also identified by a mutable repository-style name rather than an immutable commit or verified artifact. Consequently, the code and Skill instructions executed or installed when a user follows this command can differ from those present when this project was audited. This creates a supply-chain trust boundary involving: 1. The npm registry selected by the user's environment. 2. The publisher account and package currently resolving as `skills`. 3. The account and repository serving `aaron-he-zhu/seo-geo-claude-skills`. 4. Any dependencies or installation hooks used by those external components. No evidence establishes that the currently referenced package or collection is malicious. The vulnerability is the use of mutable, unverified external components in an execution-oriented installation command. ### Attack Path 1. An attacker compromises the npm package, its publisher account, the configured package registry, or the upstream Skill collection. 2. The attacker publishes malicious installer logic or modifies the collection to include malicious Skill instructions or scripts. 3. A user follows the command shown in `SKILL.md`. 4. `npx` resolves and downloads the mutable package version available at execution time. 5. The downloaded package runs with the invoking user's pri ...[truncated 912 chars]
Remediation
View remediation
add ``` 2. Pin the Skill collection to an immutable commit, release tag backed by a verified commit, or versioned registry artifact rather than a mutable repository reference. 3. Publish and verify cryptographic checksums or signatures for downloaded artifacts before installation. 4. Document the expected npm registry and package publisher identity. Avoid silently trusting registry overrides from user or project configuration. 5. Disable or inspect dependency lifecycle scripts during installation when supported. 6. Recommend installation in an isolated, least-privilege environment without unrelated credentials or sensitive environment variables. 7. Replace the generic installation banner with reproducible installation instructions that specify the audited package version, collection revision, expected digest, and verification procedure. 8. Re-audit the pinned installer and Skill collection whenever either pinned version is updated. ]]>
Vulnerability Patterns
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The description includes broad trigger phrases such as "who ranks for" and "competitive analysis" that can appear in ordinary user requests outside the intended scope. Overbroad activation can cause the wrong skill to run, leading to unnecessary external data access, mis-scoped analysis, or leakage of user context into a competitor-analysis workflow.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest trigger list contains ambiguous phrases like "analyze competitors", "who ranks for", and "what are they doing differently" without clear boundaries or disambiguation rules. In systems that auto-select skills from trigger text, this increases unintended invocation risk, which may expose unrelated user prompts to this skill's data-gathering and analysis behaviors.

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.

Static analysis

No suspicious patterns detected.