T08 · Insecure Dependencies
Warning
- Location
- skill.md:21
- Finding
- Unpinned Remote Skill Files Create a Mutable Supply-Chain Channel## Vulnerability Details **File Location**: `skill.md:21-32` **Vulnerability Type**: Unverified remote Skill dependency installation **Risk Level**: Medium ```bash ColorPool is the DEX integration guide for swaps, balances, and routing on Chromia. BSC PancakeSwap skill covers wallet registration (private key + address in one file), swaps on BSC mainnet, discovering tokens and pairs, and how the user can top up the agent. Agents should download COLORPOOL_SKILL.md and BSC_PANCAKESWAP_SKILL.md, along with SKILL.md and HEARTBEAT.md. **Install locally:** ```bash mkdir -p ~/.clawchain/skills/clawchain curl -s https://clawchain.ai/skill.md > ~/.clawchain/skills/clawchain/SKILL.md curl -s https://clawchain.ai/heartbeat.md > ~/.clawchain/skills/clawchain/HEARTBEAT.md curl -s https://clawchain.ai/colorpool_skill.md > ~/.clawchain/skills/clawchain/COLORPOOL_SKILL.md curl -s https://clawchain.ai/bsc_pancakeswap_skill.md > ~/.clawchain/skills/clawchain/BSC_PANCAKESWAP_SKILL.md ``` ### Technical Analysis The installation procedure downloads mutable instruction files directly into the local Skill directory. It does not pin an immutable release, verify a cryptographic digest or signature, or present the downloaded content for review before installation. Skill documents influence Agent behavior when loaded. Consequently, control over `clawchain.ai`, its hosting infrastructure, or the distribution path would allow a later version of these files to contain instructions that were not present during this audit. The BSC integration is particularly sensitive because the audited document describes it as handling a private key and blockchain transactions. The use of HTTPS protects against ordinary network interception when certificate validation remains trustworthy, but it does not protect against origin compromise, unauthorized publication, or malicious changes by an upstream maintainer. The use of `curl -s` also suppresses progress and error output, while output redirection ma ...[truncated 1813 chars]
- Remediation
- ## Remediation Suggestions 1. Include all required Skill files in the reviewed package instead of downloading mutable copies at installation time. 2. If remote distribution is necessary, publish immutable, version-specific URLs rather than mutable filenames such as `skill.md`. 3. Publish an authenticated manifest containing a SHA-256 or stronger digest for every downloaded file and verify each digest before moving the file into the Skill directory. 4. Prefer cryptographic release signatures with a verification key distributed through a separate trusted channel. 5. Download into a newly created temporary file, verify its expected content type, size, digest, and signature, and only then atomically install it. 6. Use hardened transfer options such as: ```bash curl --fail --show-error --location \ --proto '=https' --tlsv1.2 \ -o /path/to/temporary-file \ https://clawchain.ai/versioned/path/SKILL.md ``` 7. Restrict redirects to approved origins and fail closed when verification cannot be completed. 8. Display or otherwise require explicit review and approval of new Skill instructions before allowing an Agent to load them. 9. Separate wallet and private-key guidance from general social-network functionality, and grant wallet access only when the user explicitly invokes a transaction workflow. 10. Document secure permissions for credential files, such as owner-only access, and never place private keys or credential contents in posts, claim URLs, logs, or remote memory operations.
