T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:7
- Finding
- Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md:7` and `README.md:4,38` **Vulnerability Type**: Unpinned dependency and mutable supply-chain installation **Risk Level**: Medium ### Vulnerable Code `SKILL.md:7`: ```yaml metadata: {"clawdbot":{"emoji":"🎯","tags":["recruitment","hiring","candidate-matching","headhunter","hr","jobs","ai-hiring","talent-acquisition"],"requires":{"bins":["python3"],"env":[],"config":[]},"install":["pip install email-validator"],"os":["darwin","linux","win32"]}} ``` `README.md:4`: ```markdown > **快速开始:** `pip install email-validator && python3 test_headhunter.py` ``` `README.md:36-38`: ```bash # 安装基础依赖 pip install email-validator ``` ### Technical Analysis The installation instructions request `email-validator` without specifying an exact version, integrity hash, lock file, or explicitly trusted package source. Consequently, the artifact installed by `pip` can change over time even though the reviewed Skill remains unchanged. This creates a mutable supply-chain boundary: installation relies on the package index, the selected package release, its transitive dependencies, and any build or installation logic supplied by those packages. If a future release or dependency is compromised, users can receive and execute content that was not part of this audit. The reviewed project contains only `README.md` and `SKILL.md`; it does not vendor or otherwise provide the dependency for inspection. The audit found no evidence that the named package is currently malicious. The risk arises from installing an unpinned and unhashed external dependency. ### Attack Path 1. A user installs or activates the Skill and follows its dependency-installation instruction. 2. `pip install email-validator` queries the configured Python package index and resolves the package version available at that time. 3. An attacker compromises a future package release, a transitive dependency, the package-publi ...[truncated 997 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to an explicitly reviewed version, for example: ```bash python3 -m pip install "email-validator==REVIEWED_VERSION" ``` 2. Generate and publish a lock or requirements file containing cryptographic hashes, then enforce hash verification: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 3. Pin and hash all transitive dependencies rather than only the direct package. 4. Document the approved package index and use an explicitly configured trusted source, preferably an organization-controlled package mirror. 5. Run installation in an isolated virtual environment as an unprivileged user; do not recommend administrative or system-wide installation. 6. Add dependency vulnerability and provenance checks to the release process, and review updates before changing pinned versions. 7. Keep the installation metadata and README instructions synchronized so every installation path applies the same version and integrity controls.
