T08 · Insecure Dependencies
- Location
runtime/hkipo-next/pyproject.toml:10- Finding
Unpinned Third-Party Dependencies May Be Dynamically Resolved During Skill Execution
- Content
View full analysis
=4.14.3", "httpx>=0.28.1", "lxml>=6.0.4", "opencc-python-reimplemented>=0.1.7", "pydantic>=2.13.0", "requests>=2.33.1", ] ``` The documented execution command is: ```bash uv run --directory runtime/hkipo-next hkipo-next ... ``` ### Technical Analysis The project does not include a reviewed lockfile, while all runtime dependencies use open-ended lower-bound constraints. The documented `uv run` workflow can therefore resolve and install package releases that were not present when the Skill was audited. This does not establish that any currently named dependency is malicious. The vulnerability is the absence of deterministic dependency resolution: a future compromised, malicious, or incompatible release satisfying one of the constraints could become part of normal Skill execution without a corresponding source review. Python dependencies and their installation or import-time hooks execute with the privileges of the user running the Skill. A compromised dependency could consequently read user-accessible files, inspect environment variables, make arbitrary network requests, alter generated IPO data, or execute other code available to that account. ### Attack Path 1. An attacker compromises the release process or package-distribution account of a declared dependency, or otherwise causes a malicious version satisfying the open-ended version constraint to be published. 2. A user invokes the documented `uv run --directory runtime/hkipo-next hkipo-next ...` command in an environment without a previously locked and verified dependency set. 3. `uv` resolves the newly published version because it satisfies the applicable `>=` constraint. 4 ...[truncated 917 chars]- Remediation
View remediation
