Skills/ClawHub/a-stock-report

a-stock-report@3.5.4

CAUTION· static only

Publisher claims: "A股数据驱动型报告自动生成与推送系统,支持晨报 / 收盘小结 / 晚报 / 盘中预警 / IPO周报 / 财经周末版。内置投资者情绪打分(6维度,满分100)与AI后市展望。" Observed in sandbox: static analysis only — behavior not yet observed.

Registry ClawHubPublisher cookfish1979 · publishing for 147 daysInstalls 4,242Last detonated 2d ago

Coverage

Static only; nothing was run yet.

The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.

Is [email protected] safe to install?

KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-12 and scored it 55/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: static analysis only — behavior not yet observed.

Behavior trace

Queued for honeypot run · static analysis only
t+CategoryObserved action

This version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.

Static findings

HIGH
Access to sensitive file pathsSKILL.md:72 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files- [v3.2.7 — .env 路径根除:8 脚本多路径回退](knowledge/changelog/v3.2.7.md) — 2026-06-10 下午Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:132 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files> **注意**:本 skill **只用 2 个 key**(WECOM + IWENCAI)。妙想 `MX_APIKEY` / Tushare `TUSHARE_TOKEN` 等由其他 skill(mx-data / mx-xuangu 等)使用,**不要加进 A-stock-report 的 `.env`**。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:151 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 2. 复制粘贴该命令到终端跑(已含 source .env + python3 路径 + 默认参数)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Destructive file system command detectedSKILL.md:309 · Destructive file system command detected2. 确认无进程在跑(`ps -ef | grep send_close`)后,手动 `rm /tmp/a_stock_close_summary.lock`Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsSKILL.md:140 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files所有 6 个任务的完整命令(`source .env` + `python3 脚本路径` + 可选参数)都集中在 **`cron_jobs/cron_mirror.json` 的 `tasks.<name>.prompt` 字段**。Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:126 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files`.env` 文件格式示例:Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_morning_report.py:17 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE", os.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env")),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/collect_morning_data.py:22 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE_FALLBACK", "/workspace/.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_intraday_alert.py:20 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE", os.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env")),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_ipo_report.py:18 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE", os.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env")),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_close_summary.py:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE_FALLBACK", "/workspace/.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actiontemplates/evening.json:2 · File type combined with upload action — agent may exfiltrate local data files… PE分位数、股市风险溢价(ERP)等结构化数据,输出 JSON + 晚报 Markdown。\n\n2. 读取采集结果文件 /tmp/evening_data.json,结合采集的晚报 Markdown,用 batch_web_search 搜索今日财经要闻(6-8条):\n - \"A股重要财经要闻 宏观政策 2026年6月12日(周五)\"\n - \"A股板块异动 热点题材 2026年6月12日(周五)\"\n \n ⚠️ 搜索失败 fallback:若 batch…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathsscripts/send_evening_report.py:26 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE", os.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env")),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsreferences/config.json:8 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"loaded_by": "每个 send 脚本头部白名单加载 .env(仅 WECOM_WEBHOOK_KEY / IWENCAI_API_KEY / TUSHARE_TOKEN)",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actiontemplates/weekend.json:2 · File type combined with upload action — agent may exfiltrate local data files…=false / formatted_content=[])或返回 {\"error\": \"调用结果不可用\"}(MCP server 端瞬时挂,agent.log 累计失败率 20%),\n **先重试 1 次**(cost 低, 23s 内自愈 — 0fbdf302145e 6/14 样本),\n **重试仍失败则立即改用** mcp_matrix_extract_content_from_websites 抓 https://finance.eastmoney.c…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathsscripts/collect_evening_data.py:18 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# ── 白名单 .env 加载 ──────────────────────────────────────────Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/send_evening_report.py:110 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathscron_jobs/cron_mirror.json:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"prompt": "source /workspace/.env && python3 /root/.hermes/skills/A-stock-report/scripts/send_close_summary.py",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/collect_evening_data.py:19 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# 多路径回退(v3.2.7 修复):../.env(skill 自带,可选)→ /workspace/.env(项目级,SKILL.md line70 规定)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathstemplates/weekend.json:2 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files…ATA}}\n ──── v3.4 数据驱动 - 自动注入段结束 ────\n\n4. 调用周末要闻推送脚本:\n source /workspace/.env && python3 /root/.hermes/skills/A-stock-report/scripts/send_weekend_news.py\n\n…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actiontemplates/morning.json:2 · File type combined with upload action — agent may exfiltrate local data files{ "prompt": "0. 【强约束 — LLM 必读】渲染晨报前必须先 cat /tmp/morning_data.json 读真实数字:\n cat /tmp/morning_data.json\n 然后仅用其中真实数字填充模板占位符(XXXXX.XX = price、+X.XX% = pct、XX.XX = vix.value 等)。\n 严禁凭模型知识/印象/历史样本自编数字(包括\"约\"、\"差不多\"、\"估计\"等),缺失字段标\"❌ 数据缺失\"。\n …Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathsscripts/send_weekend_news.py:14 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE", os.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env")),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscron_jobs/cron_mirror.json:56 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"prompt": "source /workspace/.env && python3 /root/.hermes/skills/A-stock-report/scripts/send_ipo_report.py",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actionreferences/config.json:2 · File type combined with upload action — agent may exfiltrate local data files{ "_note": "本文件为历史参考(2026-04-04 快照)。当前真相请看:\n - cron_jobs/cron_mirror.json(独立脚本任务真相)\n - templates/*.json(LLM 驱动型任务 prompt 真相)\n - scripts/_send_lib.py(推送共用库,看 get_webhook_url() 实现)\n - ~/.hermes/cron/jobs.json(实际运行的 cron 任…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionSKILL.md:541 · File type combined with upload action — agent may exfiltrate local data files…错时用 `--fix-hint` 看修复建议。脚本会检查 A) templates ↔ dispatcher 任务集、B) cron_mirror ↔ jobs.json prompt 字字一致、C) SKILL.md 引用真实存在、D) dispatcher 任务不在 mirror 出现、E) SKILL.md 主体无硬编码 cron 表达式 / .env 路径 / source+send 一行命令(v3.1.6+ E 段)。 ### 1. 晨报(详见 templates…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathsscripts/check_consistency.py:191 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"""E. SKILL.md 主体(任务清单段之外)禁止出现 cron 表达式和 source .env 命令Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_morning_report.py:18 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE_FALLBACK", "/workspace/.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/check_consistency.py:204 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesheader("E. SKILL.md 主体禁止硬编码 cron 表达式和 .env 路径")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_weekend_news.py:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE_FALLBACK", "/workspace/.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/check_consistency.py:28 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files- v3.1.6 加 E 段(SKILL.md 主体禁 cron/.env/source+send 残留)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_close_summary.py:14 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE", os.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env")),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/collect_evening_data.py:23 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"/workspace/.env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_evening_report.py:27 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE_FALLBACK", "/workspace/.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathstemplates/morning.json:2 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files…注:模板里的 XXXXX.XX 是格式示例,不是可编造的占位符。\n\n1. 调用晨报数据采集脚本获取结构化数据:\n source /workspace/.env && python3 /root/.hermes/skills/A-stock-report/scripts/collect_morning_data.py\…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_ipo_report.py:19 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE_FALLBACK", "/workspace/.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/send_intraday_alert.py:21 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE_FALLBACK", "/workspace/.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/collect_evening_data.py:22 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/check_consistency.py:216 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesenv_pat = re.compile(r"source /workspace/\.env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathscron_jobs/cron_mirror.json:30 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"prompt": "source /workspace/.env && python3 /root/.hermes/skills/A-stock-report/scripts/send_intraday_alert.py 2>&1",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/collect_morning_data.py:21 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesos.environ.get("ENV_FILE", os.path.join(os.path.dirname(os.path.abspath(__file__)), "../.env")),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/_send_lib.py:54 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathsscripts/check_consistency.py:217 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filessend_inline_pat = re.compile(r"source /workspace/\.env.*python3.*send_\w+\.py")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathstemplates/evening.json:2 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files{ "prompt": "1. 调用晚报数据采集脚本,将结果写入约定路径:\n source /workspace/.env && python3 /root/.hermes/skills/A-stock-report/scripts/collect_evening_data.py\…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05

Cost to the agent

Instructions loaded
≈5,116 tok
1 file · 23 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.

What would make this Verified

25 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Unclaimed publisher≈ +8 on the totalClaim cookfish1979: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  2. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  3. Destructive file system command detected≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  4. File type combined with upload action≈ +2 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
  5. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim cookfish1979Propose a patch to the maintainer