T08 · Insecure Dependencies
- Location
requirements.txt:1- Finding
Unpinned and Unnecessary Third-Party Dependencies Create Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a local PubMed query-building helper with some dependency hygiene and search-methodology caveats, but no hidden or malicious behavior found.
Install only in an isolated virtual environment, and consider removing or pinning the requirements before installation. Treat language and date filters in generated searches as user-directed protocol choices, not defaults.
requirements.txt:1Unpinned and Unnecessary Third-Party Dependencies Create Supply-Chain Risk
The markdown explicitly recommends english[Language] as a filter, which imposes a specific language constraint in natural-language guidance. The file does not indicate that this is optional, user-selected, or justified as a region-specific requirement.
The examples explicitly add an English-language filter, which can systematically exclude relevant non-English studies without any user request or methodological justification. In a PubMed search skill, this creates a biased retrieval pattern that can reduce completeness and distort evidence synthesis, especially for systematic or clinical review use cases.
The line-by-line template hard-codes an English-language restriction into the final strategy, which encourages users to carry this limitation into real searches by default. In the context of literature retrieval and systematic searching, this can silently narrow evidence coverage and introduce language bias into downstream decisions.
The dependency is unpinned, so builds are not reproducible and future installs may pull a different version than expected. While dataclasses is generally low risk here and is part of the standard library on modern Python versions, leaving it unpinned can still introduce supply-chain uncertainty or compatibility issues if an external package is installed.
dataclasses
requests
requests is declared without a version pin, which means installation may resolve to any available release, including one with known flaws or unexpected behavior changes. This increases supply-chain and reproducibility risk even if the package itself is legitimate.
dataclasses
requests
The manifest includes requests without a version pin, and multiple known advisories exist for some releases of that package. Because the version is unspecified, there is no way to verify whether deployment will use a patched or vulnerable release, creating a real risk of inheriting known security issues such as credential leakage or TLS/verification-related flaws.
No suspicious patterns detected.