T09 · Insecure Skill Coding Practices
- Location
config.json:8- Finding
Plaintext Portfolio Data and Cost Bases Embedded in Configuration and Source Code
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent Chinese stock-monitoring skill, but it ships private-looking portfolio cost bases and can repeatedly send those figures in reports, so it needs user review before installation.
Review and replace the bundled watchlist before use, especially the cost values. Only enable the recurring OpenClaw task and channel push if you are comfortable sending stock symbols, names, and profit/loss reports through the configured notification channel and querying Sina/Eastmoney for market/news data. Treat the generated trading suggestions as informational only.
config.json:8Plaintext Portfolio Data and Cost Bases Embedded in Configuration and Source Code
stock_monitor.py:791Unescaped Remote News Titles Inserted into HTML-Formatted Reports
The README content and the prescribed invocation text are entirely in Chinese, with no indication that users may choose another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.
Without declared permissions the skill's intent is opaque and cannot be validated.
The description explicitly states the skill conforms to Chinese investor conventions, including a specific red/green price-color meaning. This imposes a locale-specific presentation standard by default, with no indication that users can choose another locale or display convention.
The manifest description is entirely in Chinese ("股票监控预警技能 - 智能监控 + 深度分析"), which indicates the skill is presented in a specific language without any accompanying opt-in, alternative locale, or justification that it is region-specific. Under the policy, language constraints should either be optional for the user or clearly documented as region-specific.
The skill sends user-configured watchlist identifiers and stock names to third-party services (Sina and Eastmoney) without explicit user notice or consent. While the data is not highly sensitive like credentials, a watchlist can reveal investment interests or positions, and disclosure to external providers creates a privacy leak and unexpected data-sharing surface.
The manifest description focuses on stock monitoring and 11 alert rules such as cost thresholds, moving averages, RSI, volume anomalies, gaps, and trailing stops. This file additionally fetches stock news from Eastmoney and generates sentiment-driven 'deep analysis' reports and trading suggestions, which is materially broader than the stated alerting functionality.
This markdown file instructs the user to set up a recurring task that will analyze stock data and push results through a channel, which implies periodic networked activity and outbound notifications. The description does not include any user warning about repeated pushes, data usage, or external communication behavior.
The manifest context describes a stock monitoring and alert skill with 11 major alert rules, but the config advertises additional capabilities such as sentiment_analysis, fund_flow, and data_cache alongside multiple technical-analysis modules. This makes the declared behavior broader than the stated purpose and rule set, even though no executable code is shown here.
The module docstring describes the skill as real-time monitoring, intelligent alerts, and deep analysis using Sina and Eastmoney market-data APIs. Later code uses a different Eastmoney search/news endpoint to collect article-like items and derive sentiment-based recommendations, which is not reflected in the documentation for the module's actual analysis inputs.
Natural-language strings, comments, docstrings, alerts, and final report text are all hard-coded in Chinese throughout the file, with no opt-in or alternative locale handling. This can violate language/locale policy when a skill forces a specific language on users without offering choice or documenting a justified regional constraint.