T06 · System Persistence
- Location
scripts/setup.sh:50- Finding
Unconditional Installation of an Always-On LaunchAgent
- Content
View full analysis
"$PLIST_DIR/com.stella.voice.plist" << EOF Label com.stella.voice ProgramArguments ${INSTALL_DIR}/StellaVoice EnvironmentVariables HOME ${HOME} RunAtLoad KeepAlive StandardOutPath ${LOG_DIR}/stella-voice.log StandardErrorPath ${LOG_DIR}/stella-voice.err.log WorkingDirectory ${HOME} EOF # Load service echo "🔄 Loading service..." launchctl unload "$PLIST_DIR/com.stella.voice.plist" 2>/dev/null || true launchctl load "$PLIST_DIR/com.stella.voice.plist" ``` ### Technical Analysis The setup script unconditionally creates and loads a per-user macOS LaunchAgent. The combination of `RunAtLoad` and `KeepAlive` causes the service to start when the user session loads and to be restarted after termination. A continuously running local daemon can be useful for low-latency voice functionality, and the persistence behavior is disclosed in the documentation. However, persistence is not strictly necessary to provide local TTS/STT functionality. An on-demand process or explicitly enabled optional service would satisfy the declared functionality with less persistent execution and resource exposure. The LaunchAgent executes a binary from the stable user-writable path `~/clawd/bin/StellaVoice`. If ...[truncated 1495 chars]- Remediation
View remediation
