Back to skill

Security audit

Redux Saga Testing

Security checks for vulnerabilities and agentic risk

Overview

This is a documentation-only Redux Saga testing skill with no hidden execution behavior; the main caveat is unpinned install guidance.

Before installing, consider pinning the skills installer and GitHub source to a reviewed version or commit, and prefer a narrower local install if global availability is not needed. For project dependencies, pin redux-saga-test-plan to the documented compatible major 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 (2)

T08 · Insecure Dependencies

Warning
Location
README.md:18
Finding

Unpinned npx Runner and Mutable Repository Installation

Content
View full analysis

Vulnerability Details

File Location: README.md:18-24
Vulnerability Type: Unpinned third-party package execution and mutable supply-chain source
Risk Level: Medium

Vulnerable Code

bash
npx skills add anivar/redux-saga-testing -g
bash
npx skills add https://github.com/anivar/redux-saga-testing

Technical Analysis

The installation instructions invoke npx skills without pinning the skills package to a reviewed version. If it is not already installed locally, npx can retrieve and execute the package resolved from the package registry. The effective installer code can therefore change after this skill has been audited.

The second command also installs from a GitHub repository without specifying an immutable commit SHA or signed release tag. Changes to the repository's default branch could consequently alter the content installed by the command.

This is a supply-chain risk rather than evidence that the currently documented package or repository is malicious. It is nevertheless unnecessary to rely on mutable versions when reproducible, reviewed versions can be specified.

Attack Path

  1. An attacker compromises the registry account or distribution channel for the unpinned skills package, or compromises the referenced GitHub repository.
  2. The attacker publishes a modified package version or changes content on the repository's default branch.
  3. A user follows one of the documented installation commands.
  4. npx resolves and executes the mutable runner, or the runner retrieves mutable repository content.
  5. The compromised component executes or installs attacker-controlled behavior with the permissions of the invoking user.

Impact Assessment

Successful exploitation could run code with the invoking user's privileges and modify skill installation content. The -g option expands the persistence and scope of the installed skill within the user's agent environment. Pot ...[truncated 388 chars]

Remediation
View remediation

Remediation Suggestions

  • Pin the skills runner to an explicitly reviewed version, for example npx skills@<reviewed-version> ....
  • Prefer package-manager modes that reject implicit installation or prompt the user before downloading executable packages.
  • Pin GitHub-based installation to an immutable commit SHA or a verified signed release rather than the default branch.
  • Publish checksums or signatures for reviewed skill releases and verify them before installation.
  • Avoid global installation unless global availability is required; document a project-local installation option with narrower scope.
  • Periodically review pinned versions and update them through a controlled dependency-review process.

T08 · Insecure Dependencies

Note
Location
references/api-reference.md:23
Finding

Dependency Installation Does Not Enforce the Declared Major Version

Content
View full analysis

Vulnerability Details

File Location: references/api-reference.md:23
Vulnerability Type: Unpinned development dependency
Risk Level: Low

Vulnerable Code

bash
npm install --save-dev redux-saga-test-plan

Technical Analysis

The command installs the version currently selected by npm instead of constraining installation to the skill's declared compatibility baseline of redux-saga-test-plan ^5.x. The resolved package can change over time, and a future major release could be incompatible with the documented API.

Package installation can also run lifecycle scripts where allowed by npm configuration. Consequently, resolving an unreviewed future release expands the supply-chain exposure beyond the version range that the skill claims to support.

This finding does not establish that redux-saga-test-plan is malicious or currently compromised. It identifies a lack of reproducibility and version enforcement in the installation guidance.

Attack Path

  1. A future, compromised, or otherwise unsafe version becomes the version selected by npm for the unqualified package name.
  2. A developer follows the documented installation command in a project without a lockfile that already constrains the dependency.
  3. npm retrieves the newly resolved package and its transitive dependencies.
  4. Installation scripts, if present and enabled, run with the developer's permissions, or incompatible package behavior enters the test environment.
  5. The affected dependency can compromise the development environment or cause tests generated from this documentation to behave unexpectedly.

Impact Assessment

A malicious resolved package or transitive dependency could execute during installation with the developer's user-level permissions. This could expose project files, environment variables, package-manager credentials, and other resources accessible to that user.

In the non-malicious case, resolving an unsupport ...[truncated 252 chars]

Remediation
View remediation

Remediation Suggestions

  • Align the command with the declared compatibility range, such as npm install --save-dev redux-saga-test-plan@^5.
  • For reproducible environments, document an exact reviewed version and commit the generated lockfile.
  • Use npm ci in automated environments so dependency resolution follows the reviewed lockfile.
  • Enable dependency integrity, provenance, and vulnerability checks in CI.
  • Review package lifecycle scripts and consider disabling them where they are not required.
  • Establish a controlled update process that reviews version changes and transitive dependency modifications before updating the pin.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (9)

Rp1

Medium
Category
MCP Rug Pull
Confidence
82% confidence
Finding

The README instructs users to run npx skills add ... without pinning the package or tool version, which can cause whatever current version of the skills package or its transitive dependencies resolves at install time to be executed. In a supply-chain compromise or unexpected upstream update scenario, this increases the risk of installing or running unreviewed code on the user's machine.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
84% confidence
Finding

This installation command again relies on npx skills with no version pinning and additionally pulls skill content from a remote GitHub URL. That combination increases exposure to supply-chain or repository-change risk because users may fetch and execute code that differs from what was originally reviewed.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

The README promotes another skill install command via npx skills add ... without version pinning. Even though this is only documentation, it still directs users toward executing a floating dependency resolver, which can be abused if the package ecosystem or installer is compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

This command references an unpinned npx skills installer for a separate package, creating the same supply-chain exposure as the main install instructions. Users may treat README commands as trusted copy-paste content, so unpinned execution remains risky.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

The command executes an unpinned package-management path through npx, allowing upstream changes to alter what code runs over time. In security terms this is a reproducibility and trust problem that can enable supply-chain compromise if any dependency is hijacked.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

This documentation entry instructs users to install another skill via unpinned npx skills, preserving the risk of executing a changed or malicious upstream package version. Because skills are intended for agent workflows, users may install them automatically, which slightly increases operational exposure.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

The unpinned npx skills add command can resolve to different code over time, making installs non-reproducible and vulnerable to upstream compromise. While the README itself is not executable, these commands are intended to be copied directly by users.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

This command repeats the same floating installer pattern, which is dangerous because npx may download and execute whatever package version is current at the time. That creates a window for malicious publication, account takeover, or unexpected breaking changes to affect users.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

The final install example also uses npx skills without version constraints, carrying the same supply-chain and reproducibility risks as the other commands. The skill context does not mitigate this; installation instructions are high-trust content that users often execute verbatim.

Content

No source excerpt is available for this finding.