T08 · Insecure Dependencies
- Location
SKILL.md:67- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 67 and 216
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable code at line 67:
markdown | Nashpy | Python库 | 可选 | `pip install nashpy` 用于Nash Equilibrium计算 |Vulnerable code at line 216:
markdown A: 基础分析无需外部工具,Agent可通过Markdown指令完成定性分析。涉及复杂数值求解(如连续策略空间的Nash Equilibrium计算)时,可选用Nashpy(`pip install nashpy`)或Gambit进行辅助计算.Technical Analysis
The Skill recommends installing
nashpyby package name without specifying a reviewed version, cryptographic hashes, a lockfile, or an explicitly trusted package index. Consequently, the installed artifact is mutable and depends on the package repository's state at installation time.Python package installation can execute package-controlled build or installation logic. If the package, one of its transitive dependencies, the selected package index, or the distribution channel is compromised, attacker-controlled code could run during installation. This also prevents reproducible dependency resolution and makes later executions potentially differ from the reviewed configuration.
The dependency is described as optional, so exploitation requires the user or Agent to follow the installation recommendation for numerical equilibrium analysis. The reviewed project does not itself contain a malicious package or remote payload.
Attack Path
- An attacker compromises a future
nashpyrelease, one of its resolved dependencies, or the package source used by pip. - A user requests analysis requiring numerical Nash-equilibrium computation.
- The Agent follows the documented
pip install nashpyinstruction. - Pip resolves and downloads mutable, unverified package content.
- Package-controlled build or installation code executes in the Agent's environment.
- Malicious code operates with the permissions and accessible resources of the account perfo ...[truncated 664 chars]
- An attacker compromises a future
- Remediation
View remediation
Remediation Suggestions
- Replace the unversioned installation command with a reviewed, exact version:
bash python -m pip install "nashpy==<reviewed-version>" - Maintain dependencies in a lockfile or requirements file containing cryptographic hashes, and install with hash verification:
bash python -m pip install --require-hashes -r requirements.txt - Explicitly specify the approved package index and disable unintended fallback indexes where appropriate.
- Review and pin transitive dependencies, not only the direct package.
- Perform installation in a dedicated, non-privileged virtual environment or isolated container with minimal filesystem and network access.
- Avoid installing packages automatically in response to user input. Require explicit user approval before changing the environment.
- Document an exact, trusted version and verified distribution source for Gambit if it is also supported.
- Periodically scan the locked dependency set for known vulnerabilities and review dependency changes before updating versions.
- Replace the unversioned installation command with a reviewed, exact version:
