T06 · System Persistence
- Location
README.md:215- Finding
Overbroad and insufficiently hardened autostart persistence guidance
- Content
View full analysis
Vulnerability Details
File Location:
README.md:215-218,README.md:242-246,SKILL.md:559-563, andSKILL.md:579-582
Vulnerability Type: System persistence through cron, systemd, shell profiles, PowerShell profiles, and Windows Task Scheduler
Risk Level: MediumVulnerable Code Snippets
README.md:215-218:text **Startup Options:** - Crontab: `@reboot /path/to/ergocare.sh` - systemd service (optional) - .bashrc / .zshrc autostartREADME.md:242-246:text **Startup Options:** - Task Scheduler (GUI setup included) - PowerShell profile autostart - System tray minimizeSKILL.md:559-563:text **Features:** - Run in background (`./ergocare.sh &`) - Add to startup (`crontab @reboot`) - Stop script (`pkill -f ergocare.sh`) - Logs breaks to file (optional)SKILL.md:579-582:text **Features:** - Run on startup (Task Scheduler) - Minimize to system tray - Pause/resume functionalityTechnical Analysis
The Skill explicitly instructs the agent to generate scripts that can survive reboots or execute whenever a user opens a shell. Persistent execution is related to the declared automatic-reminder functionality and is presented as optional, so the reviewed material does not establish a covert backdoor. Nevertheless, some recommended mechanisms exceed the minimum persistence scope required for desktop reminders.
In particular, modifying
.bashrc,.zshrc, or a PowerShell profile causes the script to be invoked in interactive shell sessions rather than only during an authenticated desktop session. Cron and Task Scheduler instructions also do not specify:- A fixed, trusted, absolute executable path
- Correct quoting of paths and arguments
- Restrictive ownership and file permissions
- Execution as a non-administrative user
- Integrity verification before execution
- A complete disable and uninstall procedure
- Service ...[truncated 1694 chars]
- Remediation
View remediation
Remediation Suggestions
- Prefer narrowly scoped, user-level scheduling:
- Linux: a hardened
systemd --usertimer or desktop autostart entry - macOS: a per-user LaunchAgent
- Windows: a non-elevated Task Scheduler task triggered only at user login
- Linux: a hardened
- Do not recommend
.bashrc,.zshrc, or PowerShell profile modification for a desktop reminder. - Make persistence opt-in and display the exact startup entry before installation.
- Use an absolute, quoted path to a dedicated installation directory.
- Require the script and parent directory to be owned by the user and not writable by other accounts.
- Configure tasks to run without administrative privileges and only in the intended interactive user session.
- Avoid executing files from temporary, download, shared, or broadly writable directories.
- Provide status, disable, and complete uninstall commands for every supported mechanism.
- Document how users can inspect and verify the installed startup entry.
- Where practical, verify the target file's ownership and permissions before every launch.
- Prefer narrowly scoped, user-level scheduling:
