T08 · Insecure Dependencies
- Location
scripts/morning-summary.mjs:89- Finding
Execution of an Unverified External Tavily Search Component
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill mostly does the advertised market-summary task, but it runs an unreviewed hardcoded local Tavily skill script through a shell and does not clearly document that dependency.
Review before installing. The Feishu messaging behavior is expected, but this package depends on a separate local Tavily search skill at a hardcoded path and runs it as a shell command. Only use it if you trust that external script and understand that a cron setup will repeatedly send generated market summaries to Feishu.
scripts/morning-summary.mjs:89Execution of an Unverified External Tavily Search Component
scripts/morning-summary.mjs:36Unbounded and Untimed Tencent API Response Handling
The file-level comment says the script gets opening data, fund flow, sector performance, and sends a Feishu message. However, instead of only fetching market data, it invokes a local Python script in another skill workspace via execSync, which adds cross-skill command execution capability beyond what the documentation describes.
The documented purpose is to produce an A-share morning summary and send it to Feishu. Calling execSync to change directories and run an external Python search script is a broader capability than simple data collection/report generation and is not disclosed in the code documentation.
The script constructs a shell command containing message content and passes it to execSync, creating a command-injection surface if the generated report ever contains shell-significant characters not safely escaped. Because report text includes content influenced by external data sources, an attacker controlling or poisoning those sources could potentially break out of the quoted argument and execute arbitrary local commands.
When run with --send, the script transmits generated content to Feishu, including text partially derived from external search results, without an explicit confirmation step or clear disclosure at send time. In an agent-skill context, silent external transmission can leak internal context, unexpected content, or manipulated third-party data to an external messaging channel.
This markdown file states that the skill sends a daily opening-market summary via Feishu and requires a Feishu webhook, but it does not include any user-facing warning about external transmission of generated content. For markdown files, outbound data-sharing behavior that may affect privacy or system integrity should be explicitly disclosed.
The skill explicitly sends generated market summaries through a Feishu channel, but the documentation does not clearly disclose the outbound transmission behavior or precisely describe what data may leave the local environment. While the described content appears limited to market data, lack of disclosure can lead users to unknowingly enable external messaging and creates a transparency/privacy risk.
The script description and user-facing output are written specifically for Chinese usage, and multiple date/time formatting calls hard-code the zh-CN locale. The file does not offer an opt-in or configuration for language/locale selection, which is a natural-language policy concern under the stated rules.
Detected: suspicious.dangerous_exec