T08 · Insecure Dependencies
- Location
SKILL.md:29- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:5,SKILL.md:29-35, andscripts/openclawkit_word.py:17-18
Vulnerability Type: Unpinned third-party dependency
Risk Level: LowVulnerable Code
SKILL.md:5:yaml metadata: { "openclaw": { "emoji": "📝", "requires": { "bins": [], "python": ["python-docx"] } } }SKILL.md:29-35:markdown - Python 3.6+ - 依赖包: - `python-docx` (Word文档处理) 安装依赖: ```bash pip install python-docxtext `scripts/openclawkit_word.py:17-18`: ```python 注意:此工具库需要安装python-docx库 安装命令:pip install python-docxTechnical Analysis
The project declares and recommends installing
python-docxwithout specifying an exact reviewed version or an expected package hash. Consequently, the dependency resolver may install whichever release is current at installation time from the user's configured package index.The package name is conventional, and the audited project contains no evidence that it deliberately selects a malicious package or unsafe index. Nevertheless, the absence of version and integrity constraints means the code ultimately installed is mutable and was not part of this static audit. Security therefore depends on the future state of the package repository, the user's package-index configuration, and the integrity of the selected dependency release.
Attack Path
- An attacker compromises a future compatible release of the dependency, its publication credentials, or a package index configured by the user.
- A user follows the documented
pip install python-docxinstruction, or the skill platform resolves the unpinned metadata declaration. - The resolver downloads the attacker-controlled release because no exact version or hash is enforced.
- Malicious package installation code may run during installation. Malicious runtime code may also run when the project executes
import docx. - The payload operates with the permissi ...[truncated 819 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin
python-docxto an exact version that has been reviewed and tested, both in the skill metadata and installation documentation. -
Maintain dependencies in a lock or requirements file containing cryptographic hashes, and install with hash verification, for example:
text python-docx==REVIEWED_VERSION --hash=sha256:EXPECTED_DISTRIBUTION_HASHbash python -m pip install --require-hashes -r requirements.txt -
Generate and verify hashes separately for every permitted wheel or source distribution.
-
Use an explicitly configured, trusted package index rather than inheriting arbitrary index settings from the runtime environment.
-
Perform dependency vulnerability and provenance checks before updating the pin.
-
Install and run the skill in a least-privileged isolated environment without unnecessary credentials, filesystem access, or network permissions.
-
Establish a controlled update process so dependency upgrades require review, testing, and regeneration of integrity hashes.
-
