T08 · Insecure Dependencies
- Location
SKILL.md:30- Finding
Automatic Installation of Unpinned and Mutable Upstream Dependencies
- Content
View full analysis
&& git pull && uv pip install -e . ``` When you need more detailed information about API internals, recipe implementations, or SDK source code, always check the latest code from these repos — do NOT rely on cached or outdated knowledge. Clone or browse the repos directly to get up-to-date APIs and options. ``` Related unpinned installation instructions include: ```bash pip install huggingface_hub uv pip install -e ".[modal]" ``` ### Technical Analysis The Skill explicitly requires the Agent to upgrade the `tinker` package and pull the latest state of an external Git repository before operating it. Neither the Python package nor the Git repository is pinned to an audited version, immutable commit SHA, lockfile, or expected cryptographic hash. Running `uv pip install -e .` can process attacker-controlled packaging metadata and install transitive dependencies. Depending on the package build system and subsequent imports or entry-point execution, code supplied by the mutable upstream repository may execute locally. The effective code therefore can change after this Skill has been reviewed. The same problem affects optional dependencies installed through unversioned package names. Although the documented package names and repositories appear legitimate, the instructions do not provide integrity verification or protection against a compromised upstream release, repository acc ...[truncated 1488 chars]- Remediation
View remediation
" ``` 2. Maintain a lockfile with cryptographic hashes and install dependencies using hash verification. 3. Replace `git pull` with checkout of an immutable, reviewed commit SHA: ```bash git fetch --depth 1 origin git checkout --detach ``` 4. Verify repository remotes, signed commits or tags, and package provenance before installation. 5. Remove the instruction to “always use the latest version.” Require an explicit review and approval step before upgrades. 6. Perform installation and recipe execution in an isolated virtual environment or sandbox with minimal filesystem, credential, and network access. 7. Pin optional and transitive dependencies, not only the primary Tinker package. 8. Avoid editable installation for routine usage. Build and verify a reproducible artifact before installing it. ]]>
