T08 · Insecure Dependencies
- Location
install.sh:11- Finding
Unverified and Unpinned Third-Party Skill Installation
- Content
View full analysis
/dev/null; then echo " ✅ $skill 安装成功" ((SUCCESS++)) else echo " ❌ $skill 安装失败" ((FAILED++)) FAILED_LIST+=("$skill") fi done ``` ### Technical Analysis The installer retrieves and installs eight third-party skills using mutable package names. It does not pin package versions, verify checksums or signatures, validate the resolved publisher or source, or inspect the downloaded artifacts before installation. The `--force` option further increases risk because it may overwrite an existing trusted installation without preserving or comparing the installed version. Redirecting standard error to `/dev/null` also hides security-relevant package resolution and installation diagnostics. The project does not contain evidence that any listed package is currently malicious. The vulnerability is the unsafe trust model: the effective installed content is determined by external registry state at execution time and can differ from what was reviewed. ### Attack Path 1. An attacker compromises the package registry, a publisher account, or one of the named skill packages. 2. The attacker publishes a malicious release under an existing mutable skill name. 3. A user or agent executes `install.sh` and confirms installation. 4. The script invokes `skillhub install "$skill" --force`. 5. The external package is downloaded without version, signature, or checksum validation. 6. The malicious or compromised skill replaces any exist ...[truncated 1061 chars]- Remediation
View remediation
