T08 · Insecure Dependencies
- Location
``` ### Technical Analysis The skill directs users or agents to retrieve and execute the latest available version of the `jyml` npm package without specifying an exact version, lockfile, or integrity hash. The project contains only documentation and does not include the package implementation, so the behavior of the downloaded executable cannot be verified from the audited artifact. `npm install -g jyml` installs package code globally and may execute npm lifecycle scripts during installation. `npx jyml < ...[truncated 1858 chars]:19- Finding
Unpinned Third-Party npm Package Installation and Execution
- Content
View full analysis
``` ### Technical Analysis The skill directs users or agents to retrieve and execute the latest available version of the `jyml` npm package without specifying an exact version, lockfile, or integrity hash. The project contains only documentation and does not include the package implementation, so the behavior of the downloaded executable cannot be verified from the audited artifact. `npm install -g jyml` installs package code globally and may execute npm lifecycle scripts during installation. `npx jyml ` can download and immediately execute the package when it is not already available locally. In either case, package ownership compromise, a malicious release, or an unexpected upstream update could cause attacker-controlled code to run with the permissions of the invoking user. ### Attack Path 1. An attacker compromises the referenced npm package, its publisher account, or its release process. 2. The attacker publishes a malicious version under the same package name. 3. A user or agent follows the skill instructions and runs `npm install -g jyml` or `npx jyml `. 4. npm resolves and downloads the unpinned malicious release. 5. Malicious lifecycle or CLI code executes with the invoking user's privileges. 6. The code can access data and system resources available to that user, including files supplied for conversion and other readable local files. This exploitation path depends on compromise or malicious control of the external package; the audited `SKILL.md` itself does not contain an embedded malicious payload. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the invoking user's privileges. The ...[truncated 590 chars]- Remediation
View remediation
-- jyml ``` 2. Verify the selected package version, publisher, provenance, and integrity before recommending execution. 3. Provide a lockfile and integrity metadata where the package is incorporated into a maintained project. 4. Avoid global installation unless it is operationally necessary; prefer a project-local, isolated dependency. 5. Disable npm lifecycle scripts during installation where compatible with the verified package: ```bash npm install --ignore-scripts --save-exact jyml@ ``` 6. Include or reference reviewable source code and document the expected package checksum or trusted release provenance. 7. Run conversion tools with least privilege in a sandbox or container, exposing only the input and intended output paths. 8. Review updates before changing the pinned version rather than automatically adopting newly published releases. ]]>
