T08 · Insecure Dependencies
- Location
README.md:23- Finding
Unpinned Installation from a Mutable GitHub Repository
- Content
View full analysis
Install the `claw-security-self-check` Skill from the [Xiaoyiyi23/claw-security-self-check](https://github.com/Xiaoyiyi23/claw-security-self-check) GitHub repository. After installation, confirm that Node.js and the `openclaw` CLI are available, and tell me the Skill installation directory and whether it can be invoked with `$claw-security-self-check`. The Agent will install the repository into a Skill directory recognized by the current OpenClaw environment. ``` ### Technical Analysis The installation instructions identify a GitHub repository but do not pin the installation to a reviewed commit hash, signed release, immutable tag, or expected artifact digest. Consequently, the content installed by an Agent can differ from the version that was security-reviewed. This creates a time-of-check/time-of-use supply-chain weakness. An attacker who compromises the repository, its default branch, a maintainer account, or the installation resolution process could replace the Skill instructions or scripts after this audit. The next installation would then consume the changed content without an integrity check. The audited snapshot itself contains no malicious dependency or remote payload execution. The risk arises from the mutable installation source. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or another mechanism capable of changing the default branch. 2. The attacker modifies `SKILL.md`, Agent instructions, or scripts such as `host-baseline.mjs`. 3. A user follows the documented instruction to install directly from the repository without selecting an immutable revision. 4. The Agent installs and activates the attacker-contr ...[truncated 782 chars]- Remediation
View remediation
