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## 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
## 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## 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
## 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.

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.

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.

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.

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.

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.

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.

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.

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.

Static analysis

No suspicious patterns detected.