Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

jy-portfolio-calculation

v1.0.0

模拟组合试算技能 - 基于恒生聚源 MCP 服务的投资组合构建、调整、成分券查询、交易记录查询及绩效指标获取工具。 **Triggers when user mentions:** - 组合构建:"模拟组合","建仓","创建组合","组合 ID","资产配置","portfolio" - 组合调整:"调仓","...

0· 29·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill's stated purpose (portfolio simulation via 恒生聚源 MCP) aligns with requiring mcporter and providing examples that call jy-financedata-api.*. Requiring node/npm and mcporter is reasonable. Requesting python3 is consistent with included report generator scripts. However, the skill fails to declare some runtime needs (see install_mechanism / environment_proportionality).
Instruction Scope
SKILL.md instructs only to call the MCP endpoints through mcporter and to generate local reports; it does not instruct reading arbitrary system files or exfiltrating data. It does instruct configuration edits (adding mcporter to OpenClaw's openclaw.json and setting MCPORTER_CONFIG) and embedding the JY_API_KEY in a service URL, which are expected for this integration but elevate the sensitivity of configuration files because they will hold credentials.
!
Install Mechanism
Install spec uses npm to install the public package 'mcporter' (npm install -g mcporter) — that matches the tool used at runtime but is an npm install from the public registry (moderate risk, verify package provenance). The skill includes Python scripts that depend on third‑party Python packages (e.g., fpdf/fpdf2) but there is no pip/venv install step for those dependencies in the install metadata — a missing install step and therefore a coherence gap.
!
Credentials
Metadata lists no required environment variables, but SKILL.md instructs setting MCPORTER_CONFIG in OpenClaw config and explains obtaining a JY_API_KEY (an API secret) to be placed in the mcporter config/URL. The skill should declare these as required (or optional) credentials; omission reduces transparency. No unrelated credentials are requested, but the guidance to embed the API key in a URL is a sensitive practice users should avoid if possible.
Persistence & Privilege
always is false and agent autonomous invocation is allowed (default). The skill asks users to enable mcporter in the OpenClaw skills list (editing openclaw.json) and to restart the gateway — this writes to the agent configuration, which is expected for enabling connectors but is a sensitive operation and should be done deliberately. The skill does not request system-wide elevated privileges beyond editing the agent config.
What to consider before installing
What to check before installing/using this skill: - Verify the npm package 'mcporter' provenance (who publishes it, package homepage, recent versions) before running npm install -g. Global npm installs run code at install time. - The skill expects you to obtain a JY_API_KEY (API secret) from 恒生聚源 and put it into the mcporter config or in a service URL. Prefer storing secrets in a local mcporter config file (with appropriate filesystem permissions) rather than embedding secrets into command-line URLs or committing them to configs visible to others. - SKILL.md suggests setting MCPORTER_CONFIG in openclaw.json, but the skill metadata does not declare this env var—treat MCPORTER_CONFIG and JY_API_KEY as sensitive credentials. Back up ~/.openclaw/openclaw.json (or the Windows equivalent) before editing and verify file permissions after changes. - The included Python scripts use fpdf (fpdf2) and expect system fonts under /usr/share/fonts; the install metadata does not install Python dependencies. If you plan to run the scripts, ensure a Python environment with required packages (pip install fpdf2) and that font paths exist or modify the script to use an available font. - Confirm mcporter configuration paths and ownership: examples reference /root/config/mcporter.json (privileged user) and user home paths—use the correct path for your environment and avoid storing credentials in world-readable locations. - If you cannot verify the mcporter npm package or prefer not to install global npm packages, consider invoking the backend APIs via another vetted client or asking the skill author for a more self-contained adapter with clearly declared dependencies. Overall: the skill appears to implement the described functionality, but missing dependency declarations and the lack of explicit required-env metadata for MCPORTER_CONFIG/JY_API_KEY are credible red flags — review the above items and confirm package provenance and secret-handling practices before installing or providing credentials.

Like a lobster shell, security has layers — review code before you run it.

latestvk97cy2z19p09zhgmg9n4z140h9844h7q

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Binsnode, npm, mcporter, python3

Install

Install mcporter via npmnpm i -g mcporter

Comments