T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Unpinned Global Installation of a Third-Party Executable
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 31–46
Vulnerability Type: Unpinned third-party npm dependency
Risk Level: MediumVulnerable Code
yaml install: - kind: node package: mistro.sh bins: [mistro]bash npm install -g mistro.shTechnical Analysis
The skill directs users to install the latest available version of the third-party
mistro.shpackage without specifying an exact version or verifying an integrity hash. The package is installed globally and exposes themistroexecutable.Because no package source, lockfile, version constraint, or integrity value is included in the audited project, the effective code installed by this command can change after the skill has been reviewed. The documentation's claims that the package has no post-install scripts and limits its filesystem and network activity cannot be independently verified from the provided artifact.
This creates a supply-chain risk: compromise of the npm publisher account, package ownership, release process, or upstream dependency tree could cause users to install attacker-controlled code.
Attack Path
- An attacker compromises the
mistro.shnpm publisher account, release pipeline, or a dependency included in a future package release. - The attacker publishes a malicious version under the existing package name.
- A user follows the documented
npm install -g mistro.shinstruction. - npm resolves the mutable default version and installs the compromised package globally.
- Malicious lifecycle code may execute during installation, or malicious CLI code executes when the user invokes
mistro. - The malicious process runs with the installing user's privileges and may access user-readable data, including the documented Mistro credentials.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the privileges of the user performing the insta ...[truncated 683 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin the package to an exact reviewed version, for example:
bash npm install -g mistro.sh@1.0.0 - Publish and verify the expected npm integrity hash or package digest through a trusted channel before installation.
- Include the relevant source code, dependency manifest, and lockfile in the review scope so package behavior and transitive dependencies can be audited.
- Prefer a project-local installation over a global installation, and invoke the pinned binary from that controlled environment.
- Run installation and execution under a dedicated, unprivileged account or sandbox with restricted filesystem and network access.
- Disable lifecycle scripts during installation when they are not required:
bash npm install --ignore-scripts --save-exact mistro.sh@1.0.0 - Continuously monitor the pinned package and its transitive dependencies for ownership changes, unexpected releases, known vulnerabilities, and integrity changes.
- Protect
~/.config/mistro/config.jsonwith restrictive file permissions and provide credential rotation procedures for suspected package compromise.
- Pin the package to an exact reviewed version, for example:
