T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Globally Installed Runtime Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:13-16,SKILL.md:31
Vulnerability Type: Unpinned third-party dependency and mutable package installation
Risk Level: MediumVulnerable Code
yaml install: - kind: node package: "@spectyra/local-companion" bins: - spectyra-companionbash npm install -g @spectyra/local-companion@latest && spectyra-companion start --openTechnical Analysis
The skill instructs users to install
@spectyra/local-companionglobally from the npm registry using the mutablelatestdistribution tag. The declarative installation metadata also identifies the package without pinning an exact version.Because the companion implementation and an integrity hash are not included in the audited project, the effective executable code cannot be statically verified. A later package release, compromised publisher account, or compromised release process could change what users install without requiring any modification to this reviewed skill.
npm installation may also execute package lifecycle scripts with the privileges of the invoking user. The global installation increases exposure because the resulting executable is placed in the user's global command environment.
Attack Path
- An attacker compromises the npm publisher account, package release process, or another relevant supply-chain component for
@spectyra/local-companion. - The attacker publishes a malicious release and assigns it to the
latesttag. - A user follows the documented global installation command, or an installation workflow resolves the unpinned package.
- npm downloads the attacker-controlled artifact and may execute its lifecycle scripts with the invoking user's privileges.
- The installed
spectyra-companionexecutable is started and receives model traffic throughhttp://127.0.0.1:4111/v1. - Malicious package code can act with the user's permissions and potentially access data available to the compani ...[truncated 487 chars]
- An attacker compromises the npm publisher account, package release process, or another relevant supply-chain component for
- Remediation
View remediation
Remediation Suggestions
- Pin
@spectyra/local-companionto an exact, reviewed version in both the installation metadata and documentation. - Remove the mutable
@latestreference. - Publish and verify package integrity information and npm provenance before installation.
- Avoid global installation where possible; prefer a project-scoped installation under a dedicated, least-privileged account or sandbox.
- Disable npm lifecycle scripts during installation when operationally feasible, and separately execute only reviewed setup steps.
- Include the companion source in the review scope or provide a reproducible build and independently auditable source-to-package mapping.
- Establish dependency monitoring and a controlled upgrade process in which each new version is reviewed before the pinned version is changed.
- Pin
