T08 · Insecure Dependencies
Warning
- Location
- README.md:45
- Finding
- Unpinned Package and Repository Execution During Installation<![CDATA[ ## Vulnerability Details **File Location**: `README.md:45-60` and equivalent instructions in `README-zh.md:44-59` **Vulnerability Type**: Unpinned third-party installer and mutable repository reference **Risk Level**: Medium ### Vulnerable Code Snippet ```text Help me install this skill, use command `npx skills add ZeroLu/Ultimate-AI-Media-Generator-Skill --all` ``` ```bash # List what can be installed from this repo npx skills add ZeroLu/Ultimate-AI-Media-Generator-Skill --list # Install all skills from this repo npx skills add ZeroLu/Ultimate-AI-Media-Generator-Skill --all # Optional: install for specific agents (if your skills runtime supports agent targeting) npx skills add ZeroLu/Ultimate-AI-Media-Generator-Skill --all -a codex -a claude-code ``` ### Technical Analysis The documented installation process invokes `npx skills` without pinning the `skills` package to a reviewed version or integrity value. Depending on the local npm environment, `npx` may retrieve and execute the current registry release of that package. The source repository is also identified only by `ZeroLu/Ultimate-AI-Media-Generator-Skill`, without a commit hash or immutable release tag. Consequently, both the installer implementation and installed repository contents may change after this Skill version has been audited. This is a supply-chain weakness rather than evidence that the current package contains malicious code. The reviewed Python source itself does not dynamically download or execute code. ### Attack Path 1. An attacker compromises the npm package used by `npx skills`, its maintainer account, or the referenced source repository. 2. The attacker publishes a modified package version or changes the mutable repository branch. 3. A user or AI agent follows the documented installation command. 4. `npx` retrieves and executes the modified installer, or the installer retrieves modified Skill content. 5. The malicious component executes with the permissions of the u ...[truncated 484 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the installer to an explicitly reviewed version, for example using a version-qualified npm package reference. 2. Pin the Skill source to an immutable commit hash or signed release tag instead of a mutable repository branch. 3. Publish and verify package integrity hashes or signed release artifacts where supported. 4. Document the expected npm registry, package owner, repository URL, version, and commit identifier. 5. Avoid instructing an AI agent to execute installation commands without first presenting the exact package version and source for user approval. 6. Recommend running installation under a nonprivileged account and reviewing the package lifecycle scripts before execution. ]]>
