T06 · System Persistence
- Location
install.sh:201- Finding
<![CDATA[Deprecated Skill Installs a Persistent Credential-Handling LaunchAgent]]>
- Content
View full analysis
StartInterval 7200 RunAtLoad StandardOutPath $HOME/clawd/logs/claude-oauth-refresher-stdout.log StandardErrorPath $HOME/clawd/logs/claude-oauth-refresher-stderr.log WorkingDirectory $SCRIPT_DIR EnvironmentVariables PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/.local/bin EOF echo -e "${GREEN}✓${NC} Created $PLIST_FILE" echo "" # Step 5: Install launchd plist echo -e "${BLUE}[5/6]${NC} Installing launchd service..." mkdir -p "$LAUNCHAGENTS_DIR" # Unload if already loaded if launchctl list | grep -q "com.clawdbot.claude-oauth-refresher"; then launchctl unload "$LAUNCHAGENTS_DIR/$PLIST_FILE" 2>/dev/null || true echo " → Unloaded existing service" fi cp "$SCRIPT_DIR/$PLIST_FILE" "$LAUNCHAGENTS_DIR/$PLIST_FILE" launchctl load "$LAUNCHAGENTS_DIR/$PLIST_FILE" ``` ### Technical Analysis The installer creates and loads a per-user macOS LaunchAgent with `RunAtLoad` enabled and a 7,200-second execution interval. This causes `refresh-token.sh` to survive the installation session and execute at login/load and every two hours. Automatic scheduling was historically related to the Skill's declared token-refresh purpose, and the persistence behavior is disclosed in `SKILL.md` and `QUICKSTART.md`. However, `README.md:1-10` explicitly states that the Skill is deprecated because Clawdbot now provides native token refresh. Installing an additional persistent process that repeatedly accesses OAuth credentials therefore exceeds the minimum privileges and ...[truncated 1896 chars]- Remediation
View remediation
