T06 · System Persistence
- Location
scripts/setup-daemon.sh:15- Finding
Boot-Persistent PM2 Browser Daemon
- Content
View full analysis
/dev/null || pm2 restart deepseek-daemon echo "💾 Saving PM2 state..." pm2 save echo "🔧 Setting up startup..." pm2 startup 2>/dev/null || echo " (run 'pm2 startup' manually if needed)" ``` ### Technical Analysis The default one-command setup starts the DeepSeek browser daemon, saves its process state, and invokes PM2 startup configuration. This creates a cross-session service intended to start after system reboot. The persistent daemon maintains a Chromium profile containing DeepSeek authentication state. Boot persistence is not necessary for the Skill's basic function of submitting an individual prompt and receiving a response. Although the persistence feature is documented, placing it in the default setup path exceeds the minimum privileges and lifecycle required for normal operation. Under the Skill risk classification, installing a process that survives the initiating Skill run and can restart after reboot is system persistence. ### Attack Path 1. A user or Agent follows the documented one-command setup and runs `scripts/setup-daemon.sh`. 2. The script starts `deepseek-daemon.js` under PM2. 3. `pm2 save` records the daemon in PM2's persistent process list. 4. `pm2 startup` creates or requests creation of operating-system startup integration. 5. The authenticated browser daemon is subsequently restored across login sessions or system restarts. 6. Any later compromise of the PM2 account, browser profile, daemon endpoint, or daemon process can provide continuing access to the authenticated DeepSeek session. ### Impact Assessment The daemon runs with the privileges of the invoking OS account and retains access to: - The persistent Chromium profile and its authenticat ...[truncated 324 chars]- Remediation
View remediation
