T08 · Insecure Dependencies
- Location
SKILL.md:142- Finding
Unpinned Third-Party Package Execution and Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 142–143
Vulnerability Type: Unpinned npm dependencies and mutable package execution
Risk Level: MediumVulnerable Code
bash npx create-video@latest --template blank npm i @remotion/google-fontsTechnical Analysis
The documented setup process instructs users to download and execute the current release of
create-videothroughnpx ...@latest. Thelatesttag is mutable, so the code executed at installation time may differ from the version that existed when this Skill was audited.The subsequent installation of
@remotion/google-fontsalso omits an exact version. No lockfile is included to provide integrity and transitive-dependency resolution guarantees. Depending on npm configuration and package contents, installation may also execute package lifecycle scripts.This creates a supply-chain trust boundary in which future package releases, compromised maintainer accounts, or compromised transitive dependencies could introduce code that was not reviewed with this Skill.
Attack Path
- An attacker compromises a relevant npm publisher account, package release process, or transitive dependency.
- The attacker publishes a malicious version and causes it to be resolved by the mutable
latesttag or unpinned dependency range. - A user follows the setup commands in
SKILL.md. npxdownloads and executes the resolvedcreate-videopackage with the user's local permissions, or npm runs malicious package code or lifecycle scripts during installation.- The malicious code accesses resources available to the invoking process.
This finding does not establish that the currently published packages are malicious; it identifies the unsafe, non-reproducible dependency execution mechanism.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user running the setup commands. Depending on that user's environment, the code cou ...[truncated 257 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace
@latestwith a reviewed, exact package version:bash npx create-video@X.Y.Z --template blank -
Pin
@remotion/google-fontsto an exact reviewed version rather than allowing mutable resolution:bash npm install --save-exact @remotion/google-fonts@X.Y.Z -
Commit and review a generated
package-lock.json, including resolved package sources and integrity hashes. -
Use
npm cifor repeatable installation after the lockfile has been established. -
Review the dependency tree and package lifecycle scripts before upgrades. Where compatible with the required workflow, install with lifecycle scripts disabled:
bash npm ci --ignore-scripts -
Perform package setup in a least-privileged, isolated environment without production credentials or unnecessary filesystem access.
-
Use an approved npm registry and enforce dependency provenance, integrity, and package-version policies in CI.
-
