T08 · Insecure Dependencies
- Location
skill.md:45- Finding
Automatic Installation of an Unpinned Third-Party Browser Dependency
- Content
View full analysis
Vulnerability Details
File Location:
skill.md:45-53
Additional Locations:skill.md:25-31,skill.md:204-205,README.md:8-13
Vulnerability Type: Unpinned and automatically installed third-party dependency
Risk Level: MediumVulnerable Code Snippet:
javascript runCommand("clawhub install agent-browser");The same unpinned installation command is presented to users in
README.md:bash clawhub install agent-browserTechnical Analysis
The workflow instructs the Agent to automatically install
agent-browserfrom ClawHub when the browser tool is unavailable. The dependency is identified only by a mutable package name. No exact version, immutable digest, checksum, trusted publisher identity, signature verification, or package provenance check is specified.Consequently, the code reviewed in this project does not fully determine the code that will be installed and used at runtime. A compromised registry account, malicious replacement package, dependency-confusion condition, or unsafe future package release could cause the installation command to retrieve attacker-controlled components.
The Skill metadata declares
browseras its allowed tool, but the dependency bootstrap workflow also relies on command execution throughrunCommand. This expands the effective capability required by the Skill beyond its declared browser-only operation.Attack Path
- A user requests a supported news-search operation.
- The Skill checks whether the browser capability is available.
- If it is unavailable, the Skill invokes
clawhub install agent-browserwithout requesting explicit approval and without selecting an immutable package version. - ClawHub resolves the current package associated with the
agent-browsername. - An attacker who has compromised the package, publisher account, registry resolution process, or a future release supplies malicious package content.
- Pa ...[truncated 965 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove automatic dependency installation from the Skill workflow and require an administrator to provision the browser tool before the Skill is enabled.
- If automated installation is necessary, require explicit user or administrator confirmation before invoking the package manager.
- Pin
agent-browserto a reviewed exact version or, preferably, an immutable artifact digest. - Verify package signatures, checksums, publisher identity, and registry origin before installation.
- Maintain an allowlist of approved package identities and versions, and reject packages that do not match it.
- Run installation and browser execution in a restricted sandbox with minimal filesystem access, no unnecessary credentials, limited outbound networking, and no administrative privileges.
- Declare command execution as an explicit required capability if the installation workflow is retained, rather than presenting the Skill as browser-only.
- Record the resolved version and integrity digest in audit logs to support incident investigation and reproducible deployment.
- Update both
skill.mdandREADME.mdso that documentation consistently directs users to the pinned, verified dependency.
