T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:14
- Finding
- Unpinned Third-Party Python Dependency< when the runtime does not manage dependencies automatically: ```bash python -m pip install yandex_tracker_client ``` ``` ### Technical Analysis The dependency is installed from PyPI without an exact version constraint or package integrity hash. Consequently, installation resolves whichever release is current at execution time rather than the version reviewed with this skill. The declared package name and source are consistent with the skill's documented purpose, and no evidence shows that the dependency is currently malicious. Nevertheless, the unpinned installation creates a supply-chain trust boundary: a compromised maintainer account, package repository, release process, or newly published unsafe version could change the code executed by the skill after this project has been audited. Python package installation may execute build-related code, while subsequent import and use of the installed library executes package code in the agent process. ### Attack Path 1. An attacker compromises the `yandex_tracker_client` release channel, maintainer account, or upstream package source. 2. The attacker publishes a malicious or backdoored release under the legitimate package name. 3. A runtime follows the documented unversioned installation command. 4. `pip` resolves and installs the attacker-controlled latest release. 5. Malicious code executes during package build, installation, import, or API client use. 6. The code inherits th ...[truncated 980 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the dependency to an explicitly reviewed version in both installation locations, for example: ```yaml package: yandex_tracker_client==<reviewed-version> ``` ```bash python -m pip install "yandex_tracker_client==<reviewed-version>" ``` 2. Use a lock file or requirements file containing cryptographic hashes, and install with hash verification: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Generate hashes from trusted release artifacts and verify the package's publisher, repository, and release provenance before approving upgrades. 4. Perform dependency updates through an explicit review process rather than automatically tracking the latest release. 5. Run package installation and Tracker operations in an isolated, least-privilege environment with restricted filesystem and network access. 6. Continue using a least-privilege Tracker token so a dependency compromise cannot exceed the permissions required for the requested operation. 7. Keep the dependency declaration in `SKILL.md`, installation command in `README.md`, and any lock or requirements file synchronized. ]]>
