T08 · Insecure Dependencies
- Location
runtime/hkipo-next/pyproject.toml:10- Finding
Unpinned Runtime Dependencies Permit Unreviewed Supply-Chain Changes
- 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 flow in `SKILL.md` instructs users to launch the bundled project with `uv run`. However, the project does not include a reviewed lockfile, and all runtime dependencies use open-ended minimum-version constraints. ### Technical Analysis Constraints such as `httpx>=0.28.1` allow the package resolver to install any later compatible release available when the command is run. Consequently, the code ultimately installed and imported may differ from the dependency versions present when this Skill was audited. This is a supply-chain integrity weakness rather than evidence that any currently named dependency is malicious. Exploitation would require compromise of a dependency release, its distribution account, the package repository, or another relevant component of the dependency-resolution path. Because Python packages and native extensions can execute code during installation or import, a malicious future dependency release could run with the same operating-system privileges as the user invoking the Skill. ### Attack Path 1. An attacker compromises the publishing account or distribution channel of one of the declared dependencies and publishes a malicious later version that satisfies the open-ended constraint. 2. A user follows `SKILL.md` and invokes the project through `uv run`. 3. In the absence of a committed lockfile and locked execution, `uv` resolves the malicious release. 4. The dependency is downloaded and installed into the runtime environment. 5. Malicious code executes during package installation or when the application imports the depe ...[truncated 736 chars]- Remediation
View remediation
