Fund Advisor
Analysis
The skill is mostly aligned with fund portfolio management, but it should be reviewed because it stores sensitive financial holdings and credentials and includes local database delete/overwrite paths without clear confirmation or rollback.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
@cli.command() ... def reset(ctx): """清空所有持仓记录""" ... count = database.clear_all_holdings()
The CLI exposes a reset command that deletes all locally stored portfolio holdings, and the shown handler does not require an explicit confirmation or create a backup.
# 清空所有持仓记录 self.database.clear_all_holdings() for row in normalized_reader:
CSV import clears the existing holdings table before importing rows. If the new file is malformed or only partially imports, the prior database contents can already be gone.
python3 -m venv "$VENV_DIR" ... "$VENV_DIR/bin/pip" install -e "$TOOLS_DIR" -q
The wrapper script bootstraps a Python virtual environment and installs the bundled tool package when invoked. This supports the stated CLI workflow, but it is an install action users should expect.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
设置 `QIEMAN_API_KEY` 环境变量 ... 初始化脚本会:... 自动生成 `~/.mcporter/mcporter.json` 配置文件
The skill uses a qieman API key and persists MCP configuration in the user's mcporter profile. This is expected for the service integration, but it is credential-bearing local configuration.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
fund_account TEXT NOT NULL, ... trade_account TEXT NOT NULL, ... asset_value REAL NOT NULL
The local SQLite database stores account identifiers and asset values from imported fund holdings. This is central to the skill, but the data is sensitive and persistent.
