T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:23- Finding
Unpinned Remote Code Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 23-29
Vulnerability Type: Remote Payload Retrieval and Execution
Risk Level: Highbash # Clone and install git clone https://github.com/rustyorb/pincer.git {baseDir}/redpincer cd {baseDir}/redpincer npm ci # Run npm run devTechnical Analysis
The installation instructions clone the mutable default branch of an external GitHub repository without pinning a reviewed commit hash, signed release, or immutable source archive. The downloaded implementation is not included in the audited artifact, which contains only
SKILL.md. Therefore, the effective code executed by this skill cannot be verified from the submitted project and may change after review.After retrieval,
npm ciinstalls dependencies and may execute package lifecycle scripts. The subsequentnpm run devcommand executes a script defined by the remotely retrieved package. These commands can run arbitrary code with the permissions of the user following the instructions.This is primarily a remote payload retrieval risk. It also creates a dependency supply-chain exposure because the external project and its npm dependency graph are outside the reviewed artifact.
Attack Path
- An attacker compromises the referenced GitHub repository, its maintainer account, or a dependency used by the repository.
- The attacker modifies the default branch, package scripts, dependency lockfile, or an installed package lifecycle script.
- A user follows the documented Quick Start instructions and clones the modified content.
npm ciexecutes malicious dependency lifecycle behavior, ornpm run devexecutes a malicious package script.- The payload runs under the user's account and can access resources available to that account.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the invoking user's privileges. Depending on the environment, ...[truncated 385 chars]
- Remediation
View remediation
Remediation Suggestions
- Include the reviewed implementation directly in the skill package where practical.
- Pin the Git repository to a specific audited commit hash or cryptographically verified signed release.
- Publish and verify checksums or signatures for downloaded source archives.
- Commit and review the dependency lockfile, and use automated dependency and provenance scanning.
- Use
npm ci --ignore-scriptswhen dependency lifecycle scripts are not required. - Review all required lifecycle scripts before enabling them explicitly.
- Run the application in a restricted container or low-privilege account with minimal filesystem, credential, and network access.
- Establish an update process that requires security review before changing the pinned source revision.
