T08 · Insecure Dependencies
- Location
SKILL.md:42- Finding
Unpinned Global Installation and Immediate Execution of a Third-Party Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 42-45
Vulnerability Type: Insecure third-party dependency installation
Risk Level: Highbash If the server is not running, install and start it: ```bash npm i -g humantest-app cd /tmp && humantest init --non-interactive && cd humantest && humantest starttext ### Technical Analysis The instructions install `humantest-app` globally without pinning an audited version or verifying package integrity, and then immediately execute commands supplied by that package. An unpinned npm installation resolves the package version at execution time, meaning the effective implementation can change after the Skill has been reviewed. npm installation may also execute package lifecycle scripts. Global installation increases the potential scope of changes and exposes the invoking account to code supplied by the current package release. The audit did not establish that the named package is malicious; the vulnerability is the unsafe dependency acquisition and execution pattern. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or a future package release. 2. The attacker introduces malicious code into package lifecycle scripts or the `humantest` executable. 3. An agent follows the documented setup and runs `npm i -g humantest-app`. 4. npm downloads the current unpinned release and may execute its lifecycle scripts. 5. The agent subsequently runs `humantest init` and `humantest start`, executing the downloaded implementation. 6. The malicious implementation operates with the filesystem, network, environment-variable, and process privileges of the invoking user. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the invoking user's privileges. Depending on that account's permissions, an attacker could read accessible files and environment variables, modify user-own ...[truncated 175 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
humantest-appto a specifically reviewed version rather than resolving the latest release. - Verify the package with an integrity hash, signed release, or trusted lockfile before execution.
- Avoid global installation. Install the package in an isolated project or invoke it from a disposable, least-privileged container.
- Disable npm lifecycle scripts during installation where compatible, then review any scripts that must be enabled.
- Run the service under a dedicated account with a sanitized environment, restricted filesystem access, and outbound-network controls.
- Document the expected package publisher, version, checksum, and update-review process.
- Pin
