T08 · Insecure Dependencies
- Location
README.md:22- Finding
Unpinned Third-Party Package Execution During Installation
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 22
Vulnerability Type: Supply-chain exposure through an unpinned executable dependency
Risk Level: MediumVulnerable Code
sh npx skills add AntreasAntoniou/doppel-gang --skill doppel-gangTechnical Analysis
The documented installation command uses
npxto execute theskillsnpm package without specifying an exact package version or integrity value. Depending on the local npm environment,npxmay download and execute the package currently resolved from the configured npm registry.The effective installer code can therefore change independently of this audited repository. The repository does not provide a lockfile, package integrity hash, signature-verification procedure, or other mechanism that binds this command to a reviewed version of the installer.
The repository name supplied to the installer is also not bound to a specific commit in this command. Although no malicious behavior was identified in the audited project files, the documented installation path relies on mutable external supply-chain components that are outside the audited artifact.
Attack Path
- An attacker compromises the npm account, package publication process, registry resolution path, or another component controlling the package resolved as
skills. - The attacker publishes or serves a malicious package version.
- A user follows the README and runs the unpinned
npx skills add ...command. npxresolves and executes the malicious installer package.- The package runs with the privileges of the invoking user and can access resources available to that account.
This exploitation path is conditional on compromise or malicious substitution of an external dependency; no such compromise was observed during this audit.
Impact Assessment
A compromised installer could execute arbitrary code under the invoking user's account. Depending on that acc ...[truncated 725 chars]
- An attacker compromises the npm account, package publication process, registry resolution path, or another component controlling the package resolved as
- Remediation
View remediation
Remediation Suggestions
- Pin the installer to a specific reviewed version, for example by using an exact npm package version rather than the latest registry resolution.
- Publish and document the expected package publisher, package digest, and integrity value.
- Bind repository installation to a reviewed release tag or immutable commit identifier rather than a mutable branch.
- Recommend verifying release signatures or checksums before installation.
- Prefer a transparent installation method that downloads reviewed source without immediately executing remote package code.
- Retain the documented Git clone alternative, but update it to use a specific release or commit and include verification instructions.
- Advise users to perform installation as an unprivileged account in a restricted environment and to inspect the resolved package before allowing execution.
- Add release automation that records exact installer and repository versions so the documented installation process is reproducible.
