T08 · Insecure Dependencies
- Location
compare.py:11- Finding
Unsafe External Module Resolution Through Prepending Hard-Coded Import Paths
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This retail SKU analytics skill appears purpose-aligned, but it loads unreviewed local Python modules through hard-coded paths before running business-data queries.
Review this skill before installing. It is not showing destructive or deceptive behavior, but it should remove hard-coded external import paths, package or pin its dependencies, drop the unused external skill import, validate and URL-encode API parameters, and clearly disclose that it queries backend store/SKU/clerk performance data.
compare.py:11Unsafe External Module Resolution Through Prepending Hard-Coded Import Paths
compare.py:30API Query Parameter Injection Through Unencoded Caller-Controlled Values
The markdown lists trigger conditions such as comparing SKUs, analyzing SKU changes, or asking for rankings, but it does not define clear boundaries for when this skill should activate versus other analytics skills. Phrases like '这个款比上月怎么样' are generic in retail conversation and no exclusion cases or context limits are provided.
The skill modifies sys.path to import a local module from an unrelated skill directory, creating an unnecessary trust boundary expansion and hidden dependency on code outside this skill. Even though the imported module is not used in this file, this pattern can execute unreviewed module top-level code at import time and makes the skill's behavior dependent on external local content that may be changed independently.
The helper functions build API endpoints containing store and product identifiers and immediately call get_copilot_data, which implies network access to business data. Although some progress prints exist elsewhere, there is no explicit warning, confirmation, or comment disclosing that the skill will contact backend services and process potentially sensitive operational data.
No suspicious patterns detected.