T08 · Insecure Dependencies
- Location
doubao-skill.json:56- Finding
Unnecessary and Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
doubao-skill.json:56-57,requirements.txt:1-4,SKILL.md:338-341
Vulnerability Type: Supply-chain exposure through unnecessary and insufficiently constrained dependencies
Risk Level: MediumVulnerable Code
doubao-skill.json:56-57:json "npm": "npm install doubao-skill", "pip": "pip install requests aiohttp",requirements.txt:1-4:text requests>=2.28.0 aiohttp>=3.8.0 pydantic>=1.9.0 pytimeparse>=1.1.5SKILL.md:338-341:bash pip install -r requirements.txt # Or install manually pip install requests aiohttp pydantic pytimeparseTechnical Analysis
The Skill is implemented in Python and its executable code only imports
requestsfrom the listed third-party packages. No executable project file importsaiohttp,pydantic, orpytimeparse. The manifest nevertheless recommends installing these packages and additionally recommendsnpm install doubao-skill, even though the audited implementation does not require a Node.js package.The Python requirements use open-ended lower bounds and provide no upper bounds, exact version locks, or package hashes. Consequently, installation may resolve to package releases that did not exist when the Skill was reviewed. The unnecessary npm installation creates an additional registry trust boundary unrelated to the declared Python implementation.
This does not establish that any currently named package is malicious. The vulnerability is the avoidable supply-chain exposure: more third-party code is downloaded and potentially executed than is required for the Skill's functionality.
Attack Path
- An attacker compromises a referenced package, its publisher account, or the package registry distribution path, or causes an unexpected package to be resolved.
- A user follows the manifest or documentation and runs the npm or pip installation command.
- The package manager ...[truncated 1020 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the unused npm installation entry unless a specific audited Node.js component is genuinely required.
- Remove
aiohttp,pydantic, andpytimeparseif they remain unused. - Pin every required dependency to an exact reviewed version.
- Generate a lock file containing cryptographic hashes, for example with
pip-tools, and install using hash verification. - Use an isolated virtual environment and avoid privileged package installation.
- Add automated dependency review and vulnerability scanning to the release process.
- Keep the manifest,
requirements.txt, and installation documentation synchronized so that they install only the minimum required dependencies.
