T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:25
- Finding
- Unpinned Global npm Package Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 25 **Vulnerability Type**: Supply-chain exposure through an unpinned globally installed dependency **Risk Level**: Medium ### Vulnerable Code ```bash npm install -g aster-mcp aster start ``` ### Technical Analysis The setup instructions install the latest version of `aster-mcp` from the npm registry without specifying an exact version or verifying package integrity. Consequently, the code installed by users can differ from the version reviewed when this skill was published. A global npm installation can execute lifecycle scripts such as `preinstall`, `install`, and `postinstall`. These scripts run with the privileges of the user invoking npm. The subsequently executed `aster start` command then runs the downloaded package. If the npm package, publisher account, release pipeline, or dependency graph is compromised, attacker-controlled code could execute on the host. Although the skill metadata declares version `0.1.13`, the installation command does not pin npm to that version. ### Attack Path 1. An attacker compromises the `aster-mcp` npm publisher account, release pipeline, or a package dependency. 2. The attacker publishes a malicious package version or causes a malicious dependency to be selected. 3. A user follows the documented command `npm install -g aster-mcp`. 4. npm retrieves the current registry version rather than the audited version. 5. Malicious lifecycle code executes during installation, or malicious application code executes when the user runs `aster start`. 6. The payload operates with the installing user's privileges and can potentially access that user's files, credentials, environment variables, and network resources. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the account performing installation. If the command is run with elevated privileges, the impact may extend to system-wide file modification and persistence. A ...[truncated 336 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin installation to the reviewed version, for example: ```bash npm install -g aster-mcp@0.1.13 ``` - Publish and document the expected npm integrity digest or signed provenance for the exact release. - Enable npm package provenance and protect publisher accounts with phishing-resistant multi-factor authentication. - Recommend checking package metadata and integrity before installation. - Audit and lock transitive dependencies used by the published package. - Avoid elevated installation where possible. Prefer a dedicated, least-privileged service account or an isolated container. - Document a trusted upgrade process in which each new package version is reviewed before the pinned version is changed. ]]>
