T08 · Insecure Dependencies
- Location
README.md:51- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
README.md:51
Vulnerability Type: Unpinned third-party package installation
Risk Level: Mediumbash pip install jiebaThe same unpinned installation guidance is also presented by
quickstart.py:209.Technical Analysis
The installation command does not specify a reviewed package version or an integrity hash. Consequently, the package resolved and installed depends on the configured Python package index and the latest release available at installation time. This produces non-reproducible environments and creates a supply-chain exposure if the package source, maintainer account, release process, or configured index is compromised.
This finding does not establish that the current
jiebapackage is malicious. The risk arises because the instructions implicitly trust a mutable future package release without verifying its exact version or contents.Attack Path
- An attacker compromises the package publisher, distribution account, upstream release process, or package index used by the victim.
- The attacker publishes or substitutes a malicious package release under the expected package name.
- A user follows the documented
pip install jiebainstruction. pipresolves the attacker-controlled release because no version or hash constraint is present.- Malicious installation-time or import-time Python code executes in the user's environment.
Impact Assessment
Malicious dependency code could execute with the privileges of the user or automation account running
pipor importing the package. Depending on those privileges, the compromise could affect project files, accessible credentials, local data, build outputs, and other resources available to that account. In privileged or CI/CD environments, the scope could extend to deployment credentials and generated artifacts.The dependency is documented as optional, and the app ...[truncated 164 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
jiebato a specifically reviewed version rather than installing the latest available release. - Record dependencies in a lock file or requirements file and require verified SHA-256 hashes, such as through
pip install --require-hashes. - Install packages only from an explicitly approved package index.
- Review dependency updates before changing the pinned version, including package ownership, release provenance, and published artifacts.
- Run dependency installation with least privilege inside an isolated virtual environment or container.
- Update both
README.mdandquickstart.pyso all installation guidance uses the same pinned and verified dependency specification. - Continue documenting the dependency-free fallback so users can avoid installing the optional package when enhanced Chinese segmentation is unnecessary.
- Pin
