Back to skill

Security audit

FurrBudd Author

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed content and website-building skill with some quality and supply-chain cautions, but no evidence of hidden, destructive, persistent, or data-stealing behavior.

Use this skill when you specifically want FurrBudd affiliate content or the AI Money Mastery React scaffold. Review monetized affiliate links and disclosures before publishing, and run the npm setup in an isolated project with reviewed or pinned dependencies if you build the React site.

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

Unpinned Third-Party Package Retrieval and Execution

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 1176–1181
Vulnerability Type: Unpinned third-party dependencies and transient package execution
Risk Level: Medium

Vulnerable Code

bash
npx create-react-app ai-money-website
cd ai-money-website

npm install @radix-ui/react-slot @radix-ui/react-separator lucide-react class-variance-authority clsx tailwind-merge framer-motion
npm install -D tailwindcss @tailwindcss/vite tw-animate-css

Related development instructions at lines 1567–1571:

bash
npm install       # Install dependencies
npm run dev       # Start development server
npm run build     # Build for production
npm run preview   # Preview production build

Technical Analysis

The setup procedure directs users or agents to retrieve packages from the npm registry without pinning exact versions. In particular, npx create-react-app can download and execute a registry-provided package immediately. The subsequent npm install commands also resolve mutable package versions and their transitive dependency trees.

Although SKILL.md includes semver dependency examples elsewhere, the audited project contains no package lockfile or integrity metadata that would make installation reproducible. npm dependencies may also run lifecycle scripts during installation. Consequently, compromise of a named package, a transitive dependency, a newly resolved release, or the package registry could cause attacker-controlled code to execute with the privileges of the account performing setup.

This is a supply-chain exposure rather than evidence that any currently named package is malicious.

Attack Path

  1. An attacker compromises a package or transitive dependency referenced by the setup commands, or causes a malicious version to be served through the configured registry.
  2. A user or agent follows the instructions and invokes npx create-react-app or npm install.
  3. npm resolves and downloads the mutable package version and de ...[truncated 916 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace transient package execution with an exact, reviewed version, for example:

    bash
    npx --yes create-react-app@EXACT_REVIEWED_VERSION ai-money-website
    

    Prefer a maintained, locally declared scaffolding dependency or a checked-in template over runtime retrieval.

  2. Pin every direct dependency to an exact version rather than using unbounded install commands or caret ranges.

  3. Generate, review, and commit package-lock.json, then use:

    bash
    npm ci
    

    This ensures installation follows the reviewed lockfile rather than performing fresh dependency resolution.

  4. Verify lockfile integrity fields and use a trusted, explicitly configured npm registry.

  5. Review dependency provenance, maintainers, release history, lifecycle scripts, and transitive dependencies before approving upgrades.

  6. Run dependency installation and build steps in an isolated, least-privileged environment without production credentials, sensitive environment variables, or access to unrelated user files.

  7. Consider disabling lifecycle scripts during initial inspection:

    bash
    npm ci --ignore-scripts
    

    Enable only specifically reviewed scripts where functionality requires them.

  8. Add automated dependency scanning and lockfile-change review to the development workflow.

Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation triggers are broad and overlap with common topics like product reviews, editorial strategy, and React website builds, which can cause the agent to load this large, mixed-purpose skill in unrelated contexts. That raises prompt-scope risk: irrelevant affiliate insertion rules, code scaffolds, or behavioral constraints could be inappropriately applied to user requests, especially because the file merges multiple domains into one skill.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill directs automatic insertion of affiliate links throughout generated content without requiring an upfront user-facing disclosure that commercial links will be embedded. In an agent context, this can mislead users, cause undisclosed monetized output, and create integrity/compliance risks; the danger is amplified because the skill explicitly mandates repeated link placement across CTAs, body text, tables, and verdict sections.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The editorial rules explicitly state that ClawdBot must never use 'Buy Now' and only use approved CTA phrases, but the HTML component template later hardcodes '[Size] ← Best Value — Buy Now' in the price table. This is an active contradiction between the skill's own guidance sections and the concrete output it instructs the agent to generate.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The skill instructs use of npx create-react-app without pinning a version, which makes builds non-reproducible and creates a supply-chain risk if the latest published package is compromised or behavior changes unexpectedly. In a code-generating/build skill, this is more dangerous because users may copy and execute the command directly in their environment.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The overview describes generated article blocks as 'CSS + HTML, no JS frameworks', implying a non-JavaScript article artifact, yet the FAQ template uses an inline onclick handler to toggle accordion state. While this is not a framework, it still adds JavaScript behavior and conflicts with the plain reading of the overview's implementation claim.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The provided HTML template hard-codes <html lang="en"> and all page metadata/content examples in English, but the skill does not offer a language or locale option. Under the language/locale policy, forcing a specific language without opt-in is a natural-language policy concern unless the constraint is justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.