T08 · Insecure Dependencies
- Location
- SKILL.md:47
- Finding
- Automatic Installation of an Unpinned Mutable Dependency<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:47-59` **Vulnerability Type**: Supply-chain exposure through an automatically downloaded, unpinned dependency **Risk Level**: Medium ### Vulnerable Code ```bash git clone https://github.com/ClawCap/ManoBrowser.git ./manobrowser ``` Fallback installation: ```bash curl -L https://github.com/ClawCap/ManoBrowser/archive/refs/heads/main.zip -o /tmp/manobrowser.zip unzip /tmp/manobrowser.zip -d /tmp/ mv /tmp/ManoBrowser-main ./manobrowser ``` ### Technical Analysis The Skill automatically retrieves the current `main` branch of the external ManoBrowser repository. It does not pin a reviewed commit or release and does not verify a cryptographic checksum, signature, or trusted manifest. After downloading the dependency, the agent is instructed to read the downloaded `manobrowser/SKILL.md` and follow its configuration instructions. Consequently, the effective behavior of this Skill can change after the present package has been reviewed. The source is a GitHub repository under the same publisher namespace, and the archive is not directly invoked as a native executable by the displayed commands. No malicious upstream content was identified during this audit. Nevertheless, relying on a mutable branch creates a material supply-chain risk and exceeds least-privilege installation practices because the dependency is installed automatically instead of being pinned and explicitly approved. ### Attack Path 1. An attacker compromises the upstream ManoBrowser repository, its publisher account, or the `main` branch. 2. The attacker modifies the dependency's Skill instructions or supporting components. 3. A user invokes this Skill in an environment where ManoBrowser is absent. 4. The Skill automatically clones or downloads the compromised current branch. 5. The agent reads the newly downloaded `manobrowser/SKILL.md`. 6. The compromised dependency can direct the agent to perform unsafe setup actions, request secr ...[truncated 798 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin ManoBrowser to a specific reviewed commit hash or immutable signed release. 2. Publish and verify a SHA-256 checksum before extracting or using the archive. 3. Prefer a signed release artifact and validate its signature against a documented trusted key. 4. Require explicit user confirmation before downloading or installing the dependency. 5. Display the exact version, commit, source URL, and permissions requested before installation. 6. Audit the pinned dependency's `SKILL.md`, scripts, and MCP configuration as part of this project's release process. 7. Fail closed if integrity verification fails; do not silently fall back to an unverified branch. 8. Extract archives into a private, newly created directory and validate archive paths before moving files into the Skill directory. ]]>
