T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unpinned Third-Party Dependency Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14–19
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippet:
yaml "install": [ { "id": "requests", "kind": "pip", "package": "requests", "label": "安装依赖:pip3 install requests", }, ],Technical Analysis
The Skill installs the
requestspackage without pinning a reviewed version or verifying the downloaded artifact with a cryptographic hash. As a result, installation resolves whichever package version the configured Python package index serves at that time.Although
requestsis a legitimate and correctly spelled package, the absence of version and integrity constraints makes the installed dependency mutable after this audit. A compromised package release, package-index account, repository, mirror, or dependency-resolution environment could introduce attacker-controlled code. Such code may execute during installation or whentools/query_price.pyimportsrequests.No evidence indicates that the current dependency is malicious. The risk arises from insufficient supply-chain controls.
Attack Path
- An attacker compromises a package release, publishing account, configured package mirror, or dependency-resolution environment.
- A user installs the Skill's dependency using the unpinned
pip3 install requestsinstruction. - Pip resolves and downloads an attacker-controlled or compromised artifact because no approved version or hash is enforced.
- Malicious package code executes during installation or when
query_price.pyimports the package. - The code runs with the permissions and environmental access of the user operating the Skill.
Impact Assessment
Successful exploitation could provide arbitrary Python code execution under the installing or executing user's account. The accessible scope could include files, environment variables, n ...[truncated 190 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
requestsand all transitive dependencies to explicitly reviewed versions in a lock file. - Record SHA-256 hashes for every approved distribution and install with hash enforcement:
bash python3 -m pip install --require-hashes -r requirements.txt - Use an explicitly trusted package index and prevent unintended fallback to untrusted or privately configured mirrors.
- Prefer a dedicated virtual environment with only the permissions required by the Skill.
- Integrate dependency vulnerability scanning and controlled update reviews into release maintenance.
- Update the Skill metadata so installation references the locked, hash-verified dependency manifest rather than the unconstrained package name.
- Pin
