T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unpinned Dependencies Installed Outside an Isolated Environment
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a plausible market monitor, but its install command can modify system Python and its script writes state to a hard-coded local path.
Install only after reviewing the script and preferably changing the setup to use a virtual environment with pinned dependency versions. Be aware that it contacts Yahoo Finance for the configured tickers and writes a local JSON state file to /Users/apple/.openclaw/workspace/memory/stocks_monitor.json rather than the relative path shown in the docs.
SKILL.md:14Unpinned Dependencies Installed Outside an Isolated Environment
scripts/monitor.py:159Hard-Coded State Path Permits Unintended File Overwrite
The documented behavior does not match the detected capabilities: the skill persists monitoring results to local storage without disclosure, while advertised features such as custom watchlists and alerts are not actually implemented. This mismatch is dangerous because users may grant trust based on the description while the skill performs additional local side effects they were not informed about.
The skill appears to write a state file (memory/stocks_monitor.json) but does not declare any tool scope or permissions for file-writing behavior. Undeclared write capability weakens transparency and can surprise operators, making it harder to assess what the skill can modify on the local system.
The natural-language description, headings, and usage instructions are all in Chinese, and the file does not indicate that Chinese is optional or that the skill is intentionally limited to a Chinese-speaking or region-specific audience. The policy for SQP-3 flags language or locale constraints when they are imposed without user opt-in or clear justification.
This file presents its title, comments, and runtime output in Chinese, including the main status lines shown to users. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation unless the tool is explicitly documented as region-specific or offers a language choice.
This code persists stock monitoring data to a local JSON file, but there is no visible warning, confirmation, or explicit user-facing disclosure that a file will be created or overwritten at that path. For code files, file writes should not be silent unless the behavior is clearly disclosed or obviously integral to the skill's stated purpose.
This markdown file describes installing and running a real-time market monitor using yfinance, which necessarily fetches data over the network, but it does not include any user-facing warning about external network access. Under the markdown variant of SQP-2, skills that may affect privacy or system/network behavior should disclose that behavior clearly.
The manifest describes a market-monitoring skill focused on fetching prices and technical indicators, but this script additionally writes collected state to a fixed local path. Local persistence is not mentioned in the description and goes beyond pure monitoring/output behavior.
No suspicious patterns detected.