T09 · Insecure Skill Coding Practices
- Location
scripts/stock_summary.py:31- Finding
Unencrypted transport permits manipulation of stock data and trading signals
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This stock-analysis skill is not deceptive, but it should be reviewed because it can produce unreliable trading signals and writes charts to a fixed privileged path.
Install only if you are comfortable treating the output as a rough, non-personalized technical summary. Do not rely on its buy/sell/hold signal for financial decisions, especially for Hong Kong tickers or A-share data, until the routing, quote fields, HTTPS/data validation, and chart output path are fixed.
scripts/stock_summary.py:31Unencrypted transport permits manipulation of stock data and trading signals
scripts/stock_summary.py:244Predictable chart path enables file clobbering and potential symlink-based writes
The documented behavior promises accurate stock analysis across CN, HK, and US markets, but the implementation reportedly misclassifies Hong Kong tickers, outputs incorrect OHLC fields, and handles the chart artifact unclearly. In a financial-analysis context, materially incorrect market data and signals can mislead users into harmful financial decisions, making this more dangerous than a normal formatting bug.
The skill instructs execution of a local Python script that uses both shell and network capabilities, but the manifest does not declare any tool scope or permission boundaries. This creates an authorization gap where the runtime may permit broader behavior than users or reviewers expect, reducing transparency and increasing the risk of misuse or unintended external access.
The trigger phrases are broad enough that ordinary conversation about stocks may activate the skill without clear user intent, causing unsolicited script execution and network access. Because the skill provides financial analysis, accidental activation can also surface unrequested investment guidance, increasing user-risk and trust issues.
The skill produces buy/sell/hold recommendations without any disclaimer, suitability warning, or statement that the output is informational rather than personalized financial advice. In this context, users may over-rely on simplistic technical indicators and act on the recommendations, creating meaningful financial harm and compliance risk.
The trigger phrases, examples, and output template are written entirely in Chinese, and the skill does not state that this locale restriction is optional or region-specific. This can violate language/locale policy when a skill implicitly forces a specific language without user opt-in.
This code performs a file write by saving a generated chart to /root/.openclaw/workspace/stock_chart.png. Although the operation is functional, the script does not warn the user up front that it will create or overwrite a file at a specific path; the only mention appears after the save succeeds.
The manifest describes a stock summary skill that returns real-time quote details, which implies correctly reporting quote components such as open, high, and low. However, these lines print the current price string again instead of the separately fetched open/high/low values, so the actual behavior does not match the claimed quote output.
The module description and most user-facing output strings are presented only in Chinese, which effectively forces a specific language for interaction. Under the policy, language constraints should either offer user choice or be clearly justified as region-specific.