T08 · Insecure Dependencies
- Location
clawhub.json:3- Finding
Unpinned Third-Party Packages Create a Supply-Chain Execution Risk
- Content
View full analysis
/dev/null || echo '未登录')" echo "" read -p "确认发布? (y/N): " confirm if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then echo "❌ 取消发布" exit 0 fi echo "" echo "🔄 正在发布..." npx clawhub@latest publish . --slug threshold-trader --version "$VERSION" ``` `SKILL.md:32` and `SKILL.md:92`: ```bash npx clawhub@latest install threshold-trader ``` ```markdown - `simmer-sdk` >= 1.0.0 ``` ### Technical Analysis The project installs `simmer-sdk` without an exact version or integrity constraint and repeatedly executes the mutable `latest` release of the ClawHub npm package. Package resolution can therefore produce code different from the version reviewed during this audit. This is particularly sensitive because `simmer-sdk` is initialized with `SIMMER_API_KEY` and performs account balance retrieval, market queries, redemptions, and trade submission. A malicious or compromised future dependency version would execute under the user's local privileges and could receive the trading credential directly. The audit did not establish that the current packages are malicious. The vulnerability is the absence of controls that prevent a compromised, replaced, or unexpectedly changed release from being installed and executed. ### Attack Path 1. An attacker compromises the npm or Python package, its publisher account, or an upstream build pipeline. 2. The attacker publishes a ma ...[truncated 964 chars]- Remediation
View remediation
... ``` 4. Use npm lockfiles and integrity metadata where the publishing workflow permits. 5. Review package publisher ownership, signatures, release provenance, and repository tags before upgrading. 6. Test dependency upgrades in an isolated environment before exposing trading credentials. 7. Scope `SIMMER_API_KEY` to only the venues and operations required by this Skill, and rotate it if a dependency compromise is suspected. ]]>
