T08 · Insecure Dependencies
- Location
SKILL.md:11- Finding
Unpinned Executable npm Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 11–16
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: MediumVulnerable Code
yaml install: - kind: node package: tsarr bins: - tsarrTechnical Analysis
The skill declares
tsarras an automatically installable npm dependency without specifying an exact version or integrity hash. Consequently, installation may resolve to a mutable future package release rather than the version that existed when the skill was audited.The configured GitHub homepage does not cryptographically bind the installed npm artifact to reviewed source code. If the package, maintainer account, publishing credentials, or distribution channel is compromised, a malicious release could execute package lifecycle code during installation or malicious runtime code when the skill invokes
tsarr.Attack Path
- An attacker compromises the npm package, a maintainer account, or its publishing credentials.
- The attacker publishes a malicious version under the legitimate
tsarrpackage name. - OpenClaw resolves and installs the unpinned package version while satisfying the declared dependency.
- Malicious installation hooks or runtime logic execute with the privileges of the agent process.
- The payload accesses local files or environment variables available to that process, potentially including TsArr configuration and service credentials.
- The attacker may then interact with configured media services using the exposed credentials and permissions.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the privileges of the user or agent installing and running the dependency. The accessible scope may include:
- Local TsArr configuration files.
- API keys for configured Radarr, Sonarr, Lidarr, Readarr, Prowlarr, Bazarr, Seerr, or Jellyfin services.
- qBittorrent credentials.
- Media-library management operations.
- Torren ...[truncated 351 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
tsarrto an exact, reviewed package version rather than resolving the latest compatible release. - Use a lockfile containing registry integrity hashes and enforce immutable or frozen-lockfile installation.
- Verify npm package provenance and compare the published artifact with a trusted, signed source release.
- Disable npm lifecycle scripts during installation where the package supports operation without them.
- Perform dependency upgrades only after reviewing source changes, transitive dependencies, and package metadata.
- Install and execute the CLI under a dedicated least-privileged account or sandbox.
- Restrict filesystem access to only the required configuration files and prevent access to unrelated secrets.
- Scope service credentials to the minimum required permissions and rotate them if dependency compromise is suspected.
- Apply outbound network restrictions where practical so the CLI can reach only explicitly configured media services and trusted package registries.
- Pin
