Back to skill

Security audit

Auto Updater

Security checks for vulnerabilities and agentic risk

Overview

This skill openly sets up automatic daily updates, but it gives a recurring background job broad authority to change Clawdbot and every installed skill without a review step.

Install only if you are comfortable with Clawdbot and all installed skills changing automatically. Prefer a dry-run or notification-only workflow, pin or approve versions before applying them, avoid running this under a highly privileged account, and know how to remove the cron job before enabling it.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Error
Location
references/agent-guide.md:35
Finding

Unattended and Unpinned Supply-Chain Updates

Content
View full analysis
/dev/null && npm list -g clawdbot &> /dev/null; then npm update -g clawdbot@latest 2>&1 | tee -a "$LOG_FILE" elif command -v pnpm &> /dev/null && pnpm list -g clawdbot &> /dev/null; then pnpm update -g clawdbot@latest 2>&1 | tee -a "$LOG_FILE" elif command -v bun &> /dev/null; then bun update -g clawdbot@latest 2>&1 | tee -a "$LOG_FILE" else log "Running clawdbot update (source install)" clawdbot update 2>&1 | tee -a "$LOG_FILE" || true fi # Run doctor for migrations log "Running doctor..." clawdbot doctor --yes 2>&1 | tee -a "$LOG_FILE" || true # Capture new version CLAWDBOT_VERSION_AFTER=$(clawdbot --version 2>/dev/null || echo "unknown") # Update skills log "Updating skills via ClawdHub..." SKILL_OUTPUT=$(clawdhub update --all 2>&1) || true ``` The automatic execution is configured in `references/agent-guide.md:74-96`: ```bash clawdbot cron add \ --name "Daily Auto-Update" \ --cron "0 4 * * *" \ --tz "America/Los_Angeles" \ --session isolated \ --wake now \ --deliver \ --message "Run the daily auto-update routine: 1. Check and update Clawdbot: - For npm installs: npm update -g clawdbot@latest - For source installs: clawdbot update - Then run: clawdbot doctor --yes 2. Update all skills: - Run: clawdhub update --all 3. Report back with: - Clawdbot version before/after - List of skills that were updated (name + old version → new version) - Any ...[truncated 3324 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Self-Modification

High
Category
Rogue Agent
Confidence
97% confidence
Finding

clawdhub update --all causes the agent ecosystem to self-modify by fetching and installing updated skills from an external source. In this skill's context, that is especially dangerous because it combines unattended execution with broad trust of all installed skills, creating a supply-chain risk where a compromised or malicious update gains execution in future agent runs.

Content

Scanner excerpt · references/agent-guide.md (reported line 61)May include surrounding context.

md
# Capture new version
CLAWDBOT_VERSION_AFTER=$(clawdbot --version 2>/dev/null || echo "unknown")

# Update skills
log "Updating skills via ClawdHub..."
SKILL_OUTPUT=$(clawdhub update --all 2>&1) || true
echo "$SKILL_OUTPUT" >> "$LOG_FILE"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly configures unattended daily self-updates for both the core bot and all installed skills, which creates a software supply-chain risk: any compromised upstream package, malicious skill update, or breaking release will be automatically installed without human review. The danger is amplified because this runs from cron on a schedule and applies changes in bulk, increasing blast radius and reducing the chance a user notices or blocks a bad update before execution.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
84% confidence
Finding

The guide directs creation of a persistent helper script under ~/.clawdbot/scripts/auto-update.sh, which establishes reusable execution state on disk. Persistence increases risk because later cron or agent actions can invoke the stored script, making it easier for unsafe update behavior or modified script contents to continue operating without fresh user review.

Content

Scanner excerpt · references/agent-guide.md (reported line 21)May include surrounding context.

bun pm ls -g 2>/dev/null | grep clawdbot && echo "bun-global"

text

## Step 2: Create the Update Script (Optional)

For complex setups, create a helper script at `~/.clawdbot/scripts/auto-update.sh`:

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The helper script performs live update actions such as npm update -g clawdbot@latest, clawdbot update, clawdbot doctor --yes, and clawdhub update --all without presenting safety checks, staging, or approval gates. Even if intended for maintenance, these actions can irreversibly alter the environment, apply migrations automatically, and pull unreviewed changes from external sources.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The cron setup creates an unattended, persistent update job that modifies the installed bot and skills on a schedule, but the guide does not require an explicit warning or confirmation that ongoing automatic changes will occur. This is risky because future package or skill updates may introduce breaking changes or malicious code, and the persistence means the behavior continues beyond the initial setup.

Content

No source excerpt is available for this finding.