T06 · System Persistence
- Location
references/setup.md:62- Finding
Opt-In Scheduled Task Enables Persistent Unattended Access to Private Messages
- Content
View full analysis
Vulnerability Details
File Location:
references/setup.md, lines 62-69
Vulnerability Type:T06: System Persistence
Risk Level: MediumVulnerable Code
bash crontab -e */30 * * * * cd ~/.openclaw/workspace/skills/zhipin-phone-extractor && python scripts/extract_phones.py --headlessTechnical Analysis
The setup guide instructs users to create a cron job that runs the extractor in headless mode every 30 minutes. This scheduled task survives the original Skill invocation and causes recurring execution across user sessions.
Periodic monitoring is presented as an optional extension of the Skill, but persistence is not required for its core one-time phone-number extraction function. Once configured, the task repeatedly attempts to access authenticated recruitment chats and append extracted names, companies, and phone numbers to a local plaintext file without requiring approval for each execution.
The cron command also executes the script directly from a user-writable Skill directory. If that script or directory is subsequently modified by another process or account with write access, the modified code will inherit the established execution schedule.
The project does not silently install the cron entry: the user must explicitly edit the crontab. Nevertheless, the instructions do not provide equivalent removal, integrity protection, execution logging, or lifecycle guidance.
Attack Path
- A user follows the setup guide and adds the documented entry to their crontab.
- The cron daemon executes the Python script every 30 minutes, including after the original interactive session ends.
- The script attempts to access BOSS Zhipin chats in headless mode and writes extracted personal information to disk.
- The user may forget that the recurring task remains active, allowing continued collection of private contact data.
- If an attacker or another local process later modifies `scripts/ ...[truncated 854 chars]
- Remediation
View remediation
Remediation Suggestions
- Keep scheduled execution strictly optional and require explicit informed consent before installation.
- Clearly disclose that the cron entry persists across sessions and repeatedly accesses private chat data.
- Provide an exact removal procedure, including how to identify and delete the installed crontab entry.
- Prefer a dedicated scheduler configuration with an explicit enable/disable lifecycle instead of manual crontab editing.
- Use an absolute, trusted Python interpreter path and a fixed script path.
- Restrict write permissions on the scheduled script and its parent directory.
- Add execution logs, failure reporting, and a documented data-retention policy.
- Require explicit configuration of the output location and protect the output file with restrictive permissions.
- Consider requiring interactive confirmation before accessing chats unless the user has separately enabled unattended mode.
