← 返回 Skills 市场
pfbao

Stock-Decision

作者 pfbao · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
96
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install stock-decision
功能描述
Comprehensive stock decision analysis combining technical indicators (MA, MACD, KDJ, RSI, DMI), macro environment assessment (industry cycle, governance, mac...
安全使用建议
This skill generally does what it says (technical indicators, macro web-search, backtests), but there are implementation-level risks you should consider before installing or running it: - Command-injection risk: Several scripts construct shell commands with user-supplied strings and call subprocess.run(..., shell=True). If you or others can pass arbitrary stock names/codes to the skill, those inputs could include shell metacharacters and execute unexpected commands. Prefer running in a sandbox or patch scripts to use subprocess.run([...], shell=False) with argument lists or to sanitize inputs. - Local dependency risk: The scripts call a local skill at ~/.workbuddy/skills/westock-data/scripts/index.js. Ensure that the referenced westock-data code is genuine and not replaced by an attacker — otherwise the skill could run arbitrary Node code when invoked. - Network and privacy: macro_analyzer scrapes Bing search results directly (requests to bing.com) and sends company/industry queries. That is expected for macro analysis, but be aware that queried company names and search keywords will be sent to external services. If you have confidentiality concerns, disable network or review/meter outbound traffic. - Fragile scraping & high thresholds: macro_analyzer uses regex HTML scraping which is brittle; also some thresholds (e.g., requiring >=5 severe keywords) may produce false negatives/positives. This is an operational/data-quality concern, not necessarily malicious. Recommendations before use: 1. Review and/or modify scripts to remove shell=True and pass command arguments as lists to subprocess.run (or validate/escape inputs). 2. Verify the integrity and provenance of the westock-data skill at the hardcoded path. 3. Run the code in an isolated environment (container/VM) with limited permissions and controlled network access; monitor outbound connections. 4. If you plan to accept inputs from untrusted users, add input validation and stricter sanitization. 5. If you need to trust external web results less, consider configuring or restricting the search endpoints and logging the queries for audit. Because the issues are implementation vulnerabilities rather than clear malicious intent, I classify this as 'suspicious' (medium confidence). Reviewing the scripts and running them in a sandboxed environment will reduce risk; if you want, I can point out the exact lines to change to remove shell usage and hardcoded-path assumptions.
功能分析
Type: OpenClaw Skill Name: stock-decision Version: 1.0.1 The skill bundle contains a critical shell injection vulnerability in 'scripts/analyze.py' and 'scripts/backtest.py', where user-provided stock names or codes are passed directly into 'subprocess.run' with 'shell=True' without sanitization. While the scripts appear functionally dedicated to stock analysis and macro-economic research (including web scraping via 'requests' in 'scripts/macro_analyzer.py'), the insecure execution pattern allows for arbitrary command execution. No evidence of intentional malice, such as data exfiltration or persistence mechanisms, was observed.
能力评估
Purpose & Capability
The name/description (technical indicators + macro + backtest) aligns with the included Python scripts and the SKILL.md workflow. The scripts call a local 'westock-data' skill for market data and perform web searches for macro analysis — these are expected for the stated purpose. Notable: the code assumes a specific local path (~/.workbuddy/skills/westock-data/) and Node scripts exist, which is a design choice that creates a strong coupling to the environment.
Instruction Scope
Scripts execute shell commands via subprocess.run(..., shell=True) with user-controllable inputs (e.g., analyze.py inserts the raw user stock_input into a shell command; backtest and analyze build commands from stock codes). This enables command-injection if an attacker (or malicious input) supplies crafted stock names/codes. The macro_analyzer performs direct HTTP requests to Bing and scrapes HTML; it sends search queries over the network and parses page content. Those network operations are coherent with macro analysis but expand the attack surface (external requests, potential leakage of queried company names).
Install Mechanism
No install spec; code is instruction + scripts only. This minimizes supply-chain install-time risk. However, runtime behavior writes/reads nothing outside expected paths, and no external archives or downloads are performed by an installer.
Credentials
The skill declares no required environment variables or secrets, which fits the purpose. However, it relies on network access (requests to bing.com) and on a local dependency at ~/.workbuddy/skills/westock-data/ — that local path is assumed rather than validated. If an attacker can replace the referenced Node scripts, they could influence results or exfiltrate data. There are no declared credentials, but the skill issues outbound network requests and calls other local tools.
Persistence & Privilege
The skill does not request always:true, does not modify other skills or global agent settings, and appears runnable only when invoked. It does not persist credentials or change agent configuration on its own.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install stock-decision
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /stock-decision 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
No file changes detected. No functional or documentation changes in this release.
v1.0.0
stock-decision v1.0.0 - Initial release of the skill. - Implements technical analysis (Improved Strategy 1) with key indicators (MA, MACD, KDJ, RSI, DMI). - Provides detailed buy/sell recommendations. - Includes stop-loss and take-profit guidance.
元数据
Slug stock-decision
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Stock-Decision 是什么?

Comprehensive stock decision analysis combining technical indicators (MA, MACD, KDJ, RSI, DMI), macro environment assessment (industry cycle, governance, mac... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 96 次。

如何安装 Stock-Decision?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install stock-decision」即可一键安装,无需额外配置。

Stock-Decision 是免费的吗?

是的,Stock-Decision 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Stock-Decision 支持哪些平台?

Stock-Decision 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Stock-Decision?

由 pfbao(@pfbao)开发并维护,当前版本 v1.0.1。

💬 留言讨论