T06 · System Persistence
Error
- Location
- SKILL.md:25
- Finding
- Persistent Scheduled Execution Through a Pre-Registered Crontab Entry## Vulnerability Details **File Location**: `SKILL.md`, lines 25-31 **Vulnerability Type**: System persistence through scheduled tasks **Risk Level**: High ### Evidence ```markdown ### 2. Crontab 定时推送 脚本已在 crontab 中注册: ``` ```cron 30 8 * * 1-5 /home/goofy/.openclaw/workspace/scripts/clawfeed-daily.sh ``` ```markdown 每周一至周五 8:30 自动执行。 ``` The documentation states that the script has already been registered in `crontab` and executes automatically at 08:30 every weekday. ### Technical Analysis A crontab entry survives the individual Skill invocation and causes recurring execution under the affected user's account. Scheduled delivery is related to the declared daily news-push functionality, but installing or pre-registering persistence without a documented, explicit opt-in process exceeds the minimum privilege and lifecycle requirements of the task. The scheduled target, `/home/goofy/.openclaw/workspace/scripts/clawfeed-daily.sh`, is outside the audited package. The project contains only `SKILL.md`, so the script's contents, ownership, permissions, integrity, network activity, credential handling, and subsequent modifications could not be verified. This separation also means that the effective behavior may change after the Skill documentation has been reviewed. No evidence establishes that this entry obtains root privileges. Its likely privilege boundary is the account owning the crontab. Nevertheless, it provides recurring cross-session execution with that account's permissions. ### Attack Path 1. The Skill or its associated setup process registers the documented entry in the user's crontab. 2. The entry remains active after the original Skill session ends. 3. At 08:30 each weekday, cron launches `/home/goofy/.openclaw/workspace/scripts/clawfeed-daily.sh`. 4. The external script executes with the permissions and environment available to the crontab owner. 5. If the script or a parent directory is later mo ...[truncated 1113 chars]
- Remediation
- ## Remediation Suggestions 1. Do not pre-install or silently register a crontab entry. 2. Require explicit user opt-in before scheduling and display the exact command, frequency, recipient, and execution identity. 3. Keep the executable script inside the reviewed Skill package rather than referencing an unrelated workspace path. 4. Use a package-relative or securely resolved path rather than the account-specific `/home/goofy/...` path. 5. Ensure the script and its parent directories are writable only by the intended owner. 6. Validate ownership and permissions before creating or executing the scheduled task. 7. Use a uniquely marked crontab block so it can be identified and removed safely. 8. Document commands to inspect, disable, and uninstall the scheduled task. 9. Log executions and failures without recording API keys, recipient tokens, or other sensitive values. 10. Prefer manual execution by default; enable recurring execution only when the user specifically requests it. 11. Pin or verify the integrity of the scheduled script so later replacement cannot silently alter the reviewed behavior. 12. Run the task under a dedicated least-privileged account or constrained service context where feasible.
