Back to skill

Security audit

Upgrade Guardian

Security checks for vulnerabilities and agentic risk

Overview

This OpenClaw upgrade-audit skill is coherent and disclosed, though users should review optional backup cleanup and monitoring commands before running them.

Install only if you want an agent to help audit OpenClaw upgrades. Before executing generated commands, review any backup cleanup, file write, log/session inspection, and background monitoring steps, especially commands that delete files under ~/Backups/openclaw or create scripts/logs in your home directory.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (11)

Memory Manipulation

High
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Content

Scanner excerpt · README.md (reported line 82)May include surrounding context.

md
## 🟠 Runtime Risk: TUI `/new` Behavior [P2]
**Evidence**: "TUI `/new` creates independent sessions instead of resetting"
**Affected Workflows**: Users who use `/new` to clear conversations
**Verification**: Test `/new` in TUI post-upgrade

## Recommendation

Memory Manipulation

High
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Content

Scanner excerpt · references/AUDIT_REPORT_TEMPLATE.md (reported line 229)May include surrounding context.

md
## 🟠 Runtime Risk: TUI `/new` Behavior [P2]
**Evidence**: "TUI `/new` creates independent sessions instead of resetting"
**Affected Workflows**: Users who use `/new` to clear conversations
**Verification**: Test `/new` in TUI post-upgrade

## Recommendation

Memory Manipulation

High
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Content

Scanner excerpt · references/changelog_analysis_patterns.md (reported line 222)May include surrounding context.

md
## 🟠 Runtime Risk: TUI `/new` Behavior [P2]
**Evidence**: "TUI `/new` creates independent sessions instead of resetting"
**Affected Workflows**: Users who use `/new` to clear conversations
**Verification**: Test `/new` in TUI post-upgrade

## Recommendation

Chaining Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The pipeline ls -t ~/Backups/openclaw/*.tar.gz | tail -n +8 | xargs rm -f chains file discovery directly into forced deletion without robust handling of edge cases such as unusual filenames, empty matches, or user misunderstanding of the path scope. In a backup-management section, this is especially dangerous because a mistake can silently delete recovery artifacts needed to restore the system after a failed upgrade.

Content

Scanner excerpt · references/VERIFICATION_CHECKLIST.md (reported line 42)May include surrounding context.

Option 2: Manual Cleanup for Full Backups

bash
# Keep only last 7 backups (if using full backups)
ls -t ~/Backups/openclaw/*.tar.gz | tail -n +8 | xargs rm -f

# Or use find to delete backups older than 7 days
find ~/Backups/openclaw -name "*.tar.gz" -mtime +7 -delete

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/AUDIT_REPORT_TEMPLATE.md (reported line 107)May include surrounding context.

md
Complete these steps **before** upgrading:

- [ ] Run `openclaw doctor` and resolve any validation errors
- [ ] Create backup: `openclaw backup create --only-config`
- [ ] For each P0/P1 risk: [ ] Mitigated / [ ] Accepted with rollback plan
- [ ] Document current state (git diff, screenshots, logs)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The checklist includes destructive backup cleanup commands that permanently delete archive files, but it does not clearly warn that the operation is irreversible or recommend verifying the target set before deletion. In an upgrade-audit context, accidental deletion of valid backups can remove rollback capability right before or after a risky change, increasing operational and recovery risk.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
65% 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/VERIFICATION_CHECKLIST.md (reported line 473)May include surrounding context.

md
chmod +x ~/openclaw-upgrade-monitor.sh

# Run in background
nohup bash ~/openclaw-upgrade-monitor.sh &

# Check results anytime
tail -f ~/openclaw-upgrade-monitor.log

Persistent Context Injection

Medium
Category
Memory Poisoning
Confidence
80% confidence
Finding

Skill injects content designed to persist in agent memory or context across interactions. Persistent injection can alter agent behavior long after the initial interaction.

Content

Scanner excerpt · references/changelog_analysis_patterns.md (reported line 3)May include surrounding context.

md
# Changelog Analysis Patterns for Silent Breaking Changes

This document contains patterns and keywords to aid in the semantic analysis of application release notes. The goal is to identify changes that, while not explicitly labeled "breaking," have a high potential to alter default behavior, invalidate existing configurations, or disrupt runtime workflows.

## Analysis Goals

Vague Triggers

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The README says to use the skill when an operator says things like "What changed between these versions?" or wants a "Risk assessment for upcoming upgrade," but it does not clearly limit activation to OpenClaw upgrade contexts or provide negative examples. Those phrases are broad enough to overlap with ordinary upgrade-analysis requests for other software, which could cause unintended invocation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill explicitly instructs the agent to create report files under kb/logs/... in the user workspace, but it does not clearly warn the operator that running the protocol will modify workspace contents. This is a real safety issue because unexpected file writes can violate user expectations, clutter repositories, or overwrite existing artifacts if naming collisions or symlinked paths are present.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The guideline example instructs authors to verify bot behavior in a specific named group using Chinese text ("入管课 group"), which can impose a locale/language-specific reporting pattern in a general-purpose template. Because this is a reusable template rather than a clearly region-specific tool, the language-specific example may conflict with organizational expectations to avoid forcing a locale without opt-in or justification.

Content

No source excerpt is available for this finding.