T08 · Insecure Dependencies
- Location
SKILL.md:29- Finding
Unpinned create-email Package Is Executed Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:29
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code
sh npx create-email@latestTechnical Analysis
The command downloads and executes the version of
create-emailcurrently referenced by the mutablelatestnpm distribution tag. Because no exact version or integrity value is specified, the code executed by users can change after this Skill has been reviewed.The package is consistent with the Skill's declared React Email functionality, and the audit found no evidence that the current package or instruction is intentionally malicious. Nevertheless, directly executing an unpinned package creates a supply-chain trust boundary: a compromised npm publisher account, package release process, or registry response could substitute attacker-controlled code.
Attack Path
- An attacker compromises the package publisher, release pipeline, or npm package distribution.
- The attacker publishes a malicious release and assigns it to the
latesttag. - A user follows the Skill's installation instructions.
npxdownloads and executes the malicious package without a fixed-version review boundary.- The package executes with the invoking user's local permissions and can access resources available to that process.
Impact Assessment
Successful exploitation could allow arbitrary code execution with the privileges of the user running
npx. Depending on the execution environment, this may expose project files, writable user files, environment variables, developer credentials, and network-accessible services. It does not inherently provide elevated operating-system privileges unless the command is run from an already privileged account.- Remediation
View remediation
Remediation Suggestions
- Replace the mutable
latesttag with an exact, reviewed package version:sh npx create-email@<reviewed-exact-version> - Record the approved version in the Skill and periodically review updates before changing it.
- Prefer a lockfile-backed installation workflow where practical.
- Verify package provenance, publisher identity, release signatures or attestations, and npm integrity metadata before execution.
- Run project scaffolding under a non-privileged account and in an isolated workspace without unrelated secrets in the environment.
- Replace the mutable
