T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:10
- Finding
- Unpinned Third-Party Packages and External Skill Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:10-17`, `SKILL.md:26-28`, `SKILL.md:34-35`, `SKILL.md:47-53`, `SKILL.md:57-63`; `references/workflow.md:92-99` **Vulnerability Type**: Unpinned third-party dependencies and mutable external Skill retrieval **Risk Level**: Medium ### Vulnerable Code ```yaml requires: bins: - npx install: - kind: node package: oanim bins: - oanim label: "Install oanim CLI (npm)" ``` ```bash npx skills add remotion-dev/skills ``` ```bash npx oanim init my-video cd my-video ``` ```bash npx remotion studio ``` ```bash npx oanim render ``` ```bash # Generate image, video, or audio npx oanim assets gen-image --prompt "dark gradient abstract" --out public/bg.png npx oanim assets run --model fal-ai/kling-video/v1/standard/text-to-video \ --input '{"prompt":"cinematic abstract motion","duration":"5"}' --out public/clip.mp4 npx oanim assets run --model fal-ai/stable-audio \ --input '{"prompt":"ambient electronic, no vocals","duration_in_seconds":30}' --out public/music.mp3 ``` The workflow reference also executes unpinned packages: ```bash npx remotion studio ``` ```bash oanim render --out out/video.mp4 ``` ### Technical Analysis The Skill does not pin an exact version of the `oanim` npm package, the packages invoked through `npx`, or an immutable revision of the external `remotion-dev/skills` dependency. Depending on the local npm state and command configuration, `npx` can download and execute the currently published package version. The command `npx skills add remotion-dev/skills` also imports Agent instructions from an external source that is not included in the audited project. The effective behavior can therefore change after this audit without any modification to the reviewed files. This creates a supply-chain trust boundary in which package maintainers, compromised registry accounts, repository maintainers, or attackers who gain control of an upstream release can alter code or ...[truncated 1695 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every npm dependency to an exact reviewed version rather than a floating package name. 2. Pin `remotion-dev/skills` to an immutable commit hash or vendor its reviewed contents into the project. 3. Commit and enforce a lockfile containing package integrity hashes. 4. Install dependencies in a separate review step, then invoke locally installed binaries through package scripts or `npx --no-install`. 5. Disable or explicitly review npm lifecycle scripts before installation. 6. Verify package provenance, registry origin, signatures, and integrity metadata where supported. 7. Re-audit dependencies whenever pinned versions or external Skill revisions change. 8. Run installation, asset generation, preview, and rendering inside a least-privilege sandbox with restricted filesystem and network access. 9. Avoid exposing unrelated credentials or sensitive environment variables to the CLI process. 10. Clearly notify users that asset-generation and cloud-rendering operations transmit prompts or media to external services, and require confirmation before submitting confidential content. ]]>
