T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill appears to do what it says, but it downloads and stores remote report files and installs an unpinned dependency in ways that need careful review before use.
Install only in a trusted environment with a scoped EM_API_KEY. Prefer an isolated virtual environment, pin dependencies yourself, set INDUSTRY_RESEARCH_REPORT_OUTPUT_DIR to a controlled location, and treat generated attachments and share links as untrusted remote content until verified.
SKILL.md:12Unpinned Third-Party Dependency Installation
scripts/get_data.py:89Unbounded Decoding and Storage of Remote Attachments
scripts/get_data.py:104Unbounded DOCX Member Decompression
scripts/get_data.py:183Unvalidated Remote Share URL Propagated to Users
The skill invokes a Python script, requires an environment secret, writes report files to disk, and performs network-backed data retrieval, yet it declares no explicit tool scope or allowed-tools boundary. This increases the blast radius of execution because the runtime may grant broader-than-necessary capabilities, making misuse, accidental data exposure, or unintended side effects harder to contain.
技能说明与触发示例全部以中文表述,并以中文场景为默认输入输出方式,但未说明是否支持其他语言或允许用户指定语言。这会形成默认语言强制,若组织要求按用户偏好提供语言选择,则可能构成自然语言策略违规。
The trigger conditions are broad enough to match many ordinary industry-related questions, so the skill may execute code and call external services when the user only wanted a normal discussion or lightweight analysis. In this context, over-triggering is security-relevant because activation causes network access, local file creation, and use of a sensitive API key.
The module docstring, argument descriptions, usage text, and error messages are written only in Chinese, which imposes a specific language on users. The file does not indicate that the skill is region-specific or provide any opt-in or alternative language handling, matching the language/locale policy concern.
The module docstring and manifest consistently describe this skill as generating deep industry research reports from an industry query. However, the --query argument help text says the input is natural language such as '股价大于1000元的股票', which is a stock screening request and not an industry research request. This is an active documentation contradiction rather than a mere omission.
No suspicious patterns detected.