T08 · Insecure Dependencies
- Location
SKILL.md:52- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This financial-report scanner has a plausible purpose, but its documentation overpromises features while the script writes persistent output to a fixed OpenClaw memory path without clear disclosure or user control.
Review this skill before installing. It appears intended to scan Chinese A-share earnings data, but do not expect the advertised U.S. market scanning, scheduling, or Discord/Telegram delivery to work as documented. Run it only in an isolated environment, pin and review akshare, and change the script to use an explicit user-approved output path outside shared agent memory unless persistent storage is actually desired.
SKILL.md:52Unpinned Third-Party Dependency Installation
scripts/earnings_scanner.py:160Unsafe Hard-Coded Write into the Agent Workspace
There is a meaningful mismatch between the documented purpose and the detected behavior: promised features such as US earnings-calendar scanning and Discord/Telegram delivery are not implemented, while an undeclared local file-write behavior is present. This discrepancy is dangerous because users and reviewers may grant trust based on the description while the actual behavior performs different actions, including a more sensitive capability than disclosed.
The skill advertises scheduling, scanning, and notifications but does not declare any explicit tool scope or permissions boundary while static analysis detected file-write capability. Undeclared write access increases the chance of surprising side effects, such as creating or modifying local files outside user expectations, and makes review and sandboxing harder.
The natural-language content of the skill is presented entirely in Chinese, including the description, headings, workflow, and examples, with no indication that users may choose another language. Under the stated policy, forcing a specific language without user opt-in is a locale-policy concern unless the constraint is explicitly justified.
This markdown file describes automatic Discord and Telegram notifications, which can disclose the user's watchlist or tracking activity to third-party messaging platforms. Although the workflow mentions waiting for user confirmation before creating reminders, the description does not clearly warn about the privacy implications of sending data to external channels.
The file’s natural-language description and all user-facing prompts are written in Chinese and explicitly label the tool as a China-only version. It does not indicate any user opt-in, language selection, or justification for requiring Chinese output, which matches the language/locale policy violation criteria.
The top-level docstring explicitly lists '推送到 Discord/Telegram' as a function of the script. However, no messaging API, webhook call, or bot integration exists; the code only prints a report and writes it to a JSON file.
The manifest describes a tracker that scans both A-share and U.S. earnings calendars and pushes important updates. In the implementation, only Chinese-market AKShare APIs are queried, there is no U.S. earnings retrieval logic, and the final output is persisted to a local JSON file rather than sent to Discord or Telegram.
The script writes results to a fixed absolute path in the user's workspace without prior warning or confirmation. In an agent setting, silent filesystem writes can surprise users, overwrite prior data, leak information into shared workspace state, or create persistence that later tools/processes consume unexpectedly.
The package description is written in Chinese and explicitly labels the skill as the 'China version', focused on A-share earnings calendars. This indicates a locale-specific constraint without any visible language or locale choice for users in this file.
No suspicious patterns detected.