T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Unpinned Third-Party Dependencies and Unsafe Installation Guidance
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:6-9,SKILL.md:370, andSKILL.md:387
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable code snippets:
yaml dependencies: python: - python-pptx - pillowmarkdown | `ModuleNotFoundError` | 缺少 python-pptx | `pip install python-pptx pillow` |python print("安装命令: pip install python-pptx pillow")Technical Analysis
The Skill declares
python-pptxandpillowwithout exact versions, integrity hashes, a lock file, or a trusted package-index constraint. It also explicitly instructs users or agents to install the latest packages resolved bypip.Dependency resolution therefore occurs at installation time and may produce different artifacts across environments. If a package release, transitive dependency, package-index account, configured mirror, or dependency-resolution path is compromised, installation can introduce attacker-controlled code. Python package installation may execute build backend logic, while malicious installed code could execute when imported during presentation generation.
The package names are consistent with the Skill's documented purpose, and the audited project contains no evidence that the named packages are presently malicious. The issue is the avoidable supply-chain exposure created by mutable, unverified dependency resolution.
Attack Path
- An agent or user invokes the Skill in an environment where the required Python modules are unavailable.
- The agent or user follows the documented command:
bash pip install python-pptx pillow pipresolves unspecified versions and transitive dependencies through the environment's configured package index or mirror.- A compromised package release, dependency, account, index, or mirror supplies malicious installation or runtime code.
- The malicious code executes during package bu ...[truncated 1124 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed exact version, for example:
text python-pptx==<reviewed-version> Pillow==<reviewed-version> - Generate a lock file that includes all transitive dependencies.
- Require package hashes, such as through a hash-locked requirements file and:
bash python -m pip install --require-hashes -r requirements.txt - Install only from an approved HTTPS package index or an internally controlled artifact repository.
- Disable unexpected extra indexes and audit environment-level
pipconfiguration to reduce dependency-confusion risk. - Perform installation inside an isolated virtual environment or container under a non-privileged account.
- Scan and review pinned dependency artifacts before publication and periodically monitor them for security advisories.
- Replace the unpinned installation commands at
SKILL.md:370andSKILL.md:387with the reviewed, hash-verified installation procedure. - Avoid running package installation with administrator or root privileges.
- Pin every direct dependency to a reviewed exact version, for example:
