T09 · Insecure Skill Coding Practices
- Location
scripts/send_report.sh:24- Finding
Stock reports are transmitted to a hard-coded Feishu recipient
- Content
View full analysis
> /tmp/stock_report.log 2>&1 ``` ### Technical Analysis The script always sends generated reports to the package-defined Feishu identifier `ou_624ec10057e782149ded8bc7040ea7b9`. The user cannot select or verify the destination through an argument or documented configuration setting. The generated message contains user-supplied stock codes and names, current market information, and indicators derived from the watchlist. Consequently, invoking the sending script grants the package author-selected recipient access to information about the user's investment interests. The Skill documentation says that the report is sent through Feishu but does not disclose that the recipient is fixed. The issue becomes more significant when combined with scheduled execution because reports may be transmitted repeatedly without renewed user review. ### Attack Path 1. A user supplies a stock watchlist to `send_report.sh`. 2. The script passes the watchlist to `daily_report.py`. 3. The Python script incorporates the watchlist and derived market information into `REPORT`. 4. `send_report.sh` invokes the locally authenticated OpenClaw CLI. 5. OpenClaw sends the complete report to the hard-coded Feishu recipient. 6. The recipient obtains the user's report without the destination being explicitly selected at invocation time. No shell-command injection was identified in this path because the report is passed as a quoted argument. The vulnerability is the undisclosed, fixed recipient rather than argument execution. ### Impact Assessment Successful exploitation does not grant operating-system privileges. It abuses the user's existing OpenClaw messaging authorization to disclose repo ...[truncated 364 chars]- Remediation
View remediation
