T08 · Insecure Dependencies
- Location
README.md:20- Finding
Unpinned Third-Party Package Is Executed During Installation
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 20-24
Vulnerability Type: Supply-chain exposure through an unpinned executable dependency
Risk Level: MediumVulnerable Code
markdown With the Agent Skills CLI: ```sh npx skills add AntreasAntoniou/threadseer-agent-skill --skill threadseertext ### Technical Analysis The recommended installation command invokes the third-party `skills` npm package through `npx` without specifying an exact package version or integrity value. If the package is not already available locally, `npx` may retrieve its currently resolved version from the configured npm registry and immediately execute it. The repository does not include a lockfile, checksum, vendored installer, or other mechanism that fixes and verifies the exact installer implementation. The GitHub repository argument constrains the requested Skill source but does not constrain the code executed by the `skills` CLI itself. No evidence establishes that the currently published package is malicious. The vulnerability is that future installation behavior depends on mutable, externally maintained code that is outside the audited repository. Compromise of the package, its publisher account, or the package-distribution path could therefore turn the documented installation command into an arbitrary-code execution channel. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or another component capable of influencing resolution of the unpinned `skills` package. 2. The attacker publishes or serves a modified package version containing malicious installation logic. 3. A user follows the command documented in `README.md`. 4. `npx` resolves and downloads the attacker-controlled package version because no exact version or integrity value is specified. 5. `npx` executes that package with the permissions of the installing user. 6. The malicious installer can access resources ...[truncated 1024 chars]- Remediation
View remediation
Remediation Suggestions
-
Pin the installer package to an exact reviewed version rather than relying on the latest registry resolution:
sh npx --yes skills@<reviewed-exact-version> add AntreasAntoniou/threadseer-agent-skill --skill threadseer -
Document the expected npm package name, publisher identity, reviewed version, and verification procedure so users can detect package substitution.
-
Where supported, publish and verify package integrity hashes or signed provenance for the installer and Skill release.
-
Prefer the repository's direct clone-and-copy installation procedure when the installer package cannot be independently verified.
-
Recommend installation from a signed release tag or immutable commit rather than a mutable repository branch.
-
Review any new installer version before updating the documented pinned version.
-
Run installation with the least-privileged account necessary and avoid exposing unrelated credentials or sensitive environment variables during installation.
-
