T08 · Insecure Dependencies
- Location
SKILL.md:78- Finding
Unpinned Third-Party CLI Package Is Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:78-80
Vulnerability Type: Supply-chain exposure through unpinned package execution
Risk Level: Mediumbash bunx towns-bot init my-bot cd my-bot bun installTechnical Analysis
The initialization instructions use
bunxto download and execute the currently resolved version of the unscopedtowns-botpackage. No exact version, integrity value, lockfile requirement, or package provenance check is specified.This is particularly relevant because the Skill otherwise identifies
@towns-protocol/botas the SDK. The documentation does not establish whether the differently namedtowns-botCLI package is an official and trusted component.Package execution through
bunxcan run package entry points and potentially installation lifecycle scripts with the invoking developer's operating-system privileges. The effective code can therefore change after this Skill has been reviewed.Attack Path
- An attacker compromises the referenced package, one of its dependencies, or its publisher account, or gains control of a package name that users incorrectly assume is official.
- The attacker publishes a malicious version that contains a hostile CLI entry point or lifecycle script.
- A developer follows the documented
bunx towns-bot init my-botinstruction. - Bun resolves and downloads the attacker-controlled version.
- The malicious package executes under the developer's account during project initialization.
- The package can access files, environment variables, source repositories, developer credentials, and network resources available to that account.
Impact Assessment
Successful exploitation permits arbitrary code execution with the privileges of the developer running the command. Depending on the environment, this may expose application credentials, wallet material, source code, package-registry tokens, SSH credentials, cloud credential ...[truncated 271 chars]
- Remediation
View remediation
Remediation Suggestions
- Confirm and document the official publisher and exact package name for the CLI.
- Pin the CLI to a reviewed exact version, for example
bunx towns-bot@X.Y.Z, rather than resolving the latest release. - Provide the expected package integrity hash or a documented registry-signature verification procedure.
- Pin direct and transitive dependencies through a committed lockfile.
- Run initialization in a disposable, minimally privileged environment without production secrets or wallet credentials.
- Disable or review package lifecycle scripts where the package manager and workflow permit it.
- Add an explicit warning that users must verify the package owner and version before execution.
