Back to skill

Security audit

auto-updater

Security checks for vulnerabilities and agentic risk

Overview

This skill openly sets up daily automatic updates, but it can keep changing Clawdbot and every installed skill without approval for each update.

Install only if you are comfortable with unattended daily changes to Clawdbot and every installed skill. Prefer a notify-only or dry-run setup, pinned or allowlisted updates, and a clear rollback/removal plan before enabling it.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T06 · System Persistence

Error
Location
SKILL.md:27
Finding

Persistent Unattended Auto-Update Task

Content
View full analysis
Remediation
View remediation

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:50
Finding

Automatic Retrieval and Installation of Mutable Remote Software

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 echo "$SKILL_OUTPUT" >> "$LOG_FILE" ``` ### Technical Analysis The update mechanism installs the mutable `latest` release of Clawdbot and updates every installed Skill to whatever version the registry currently serves. The instructions do not pin approved versions, verify cryptographic signatures or checksums, validate publisher identity, inspect release diffs, or stage updates before activation. Package-manager installation and up ...[truncated 2675 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 performs self-modification by replacing installed skills from an external source, which can change future agent behavior without review. In this skill's context, that is especially dangerous because the updater itself is designed to run automatically, compounding supply-chain and persistence risk if a malicious or compromised skill update is published.

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
94% confidence
Finding

The skill explicitly instructs Clawdbot to automatically update itself and all installed skills on a daily schedule, then apply those changes without a review or approval step. This creates a supply-chain and integrity risk: upstream compromise, a bad release, or an incompatible update could be pulled and executed automatically, causing unexpected code changes or service disruption.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The guide explicitly sets up unattended updates for the core bot and installed skills without warning about the security and operational risks of automatic changes. This is dangerous because it normalizes recurring execution of remote package and skill updates, which can introduce malicious or broken code without human review.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

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
96% confidence
Finding

The cron configuration creates a recurring unattended job that performs software updates, migrations, and skill updates in an isolated session, but the guide does not disclose that this causes automatic system modification on a schedule. The risk is increased because the task includes both updating executable code and running follow-up migration/doctor steps without user review.

Content

No source excerpt is available for this finding.