T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:4
- Finding
- Unpinned Third-Party Dependency Creates a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:4` and `SKILL.md:22-25` **Vulnerability Type**: T08: Insecure Dependencies **Risk Level**: Medium The Skill declares and recommends installation of the `chinesecalendar` package without pinning a reviewed version or verifying its integrity. ```yaml metadata: {"clawdbot":{"emoji":"📅","requires":{"packages":["chinesecalendar"]}}} ``` ```markdown Installation: ```bash pip install chinesecalendar ``` ``` ### Technical Analysis The dependency declaration contains only a package name, while the documented installation command allows `pip` to resolve the latest compatible release from the configured package index. The project does not include a lockfile, exact version constraint, integrity hash, trusted-index restriction, or vendored copy of the dependency. Consequently, the code installed at deployment time can differ from the code reviewed during this audit. If the upstream package, maintainer account, package index, or local package-index configuration is compromised, installation may retrieve attacker-controlled content. Python package installation can execute build backend or installation-related code, and the installed package is subsequently imported by `check.py`. This finding does not establish that the current `chinesecalendar` package is malicious. It identifies the absence of controls that would prevent a compromised or unexpectedly changed future release from entering the execution environment. ### Attack Path 1. An attacker compromises the upstream package, its publishing credentials, or a package source trusted by the target environment. 2. The attacker publishes a malicious release under the dependency name. 3. A user or automated Agent follows the Skill metadata or documented command and installs `chinesecalendar` without an exact version and integrity hash. 4. `pip` downloads the attacker-controlled release from the configured index. 5. Malicious code may execute during package ...[truncated 907 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the dependency to an explicitly reviewed version, for example: ```text chinesecalendar==<reviewed-version> ``` 2. Store dependencies in a requirements or lock file with cryptographic hashes and install them using hash enforcement: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Generate and review hashes from a trusted package source before deployment. 4. Configure `pip` to use an explicitly trusted package index and prevent unintended fallback to untrusted or privately controlled indexes. 5. Run dependency installation and the Skill under a dedicated, least-privileged account or isolated virtual environment. 6. Review package source code and release provenance before changing the pinned version. 7. Use dependency and software-composition scanning in the release process, and update the pin only after testing and security review. 8. Keep the metadata dependency declaration consistent with the reviewed lock file so automated installers cannot silently select a different release. ]]>
