Back to skill

Security audit

OpenClaw VPS Security Preflight

Security checks for vulnerabilities and agentic risk

Overview

This skill runs a disclosed read-only security preflight for an authorized OpenClaw VPS and does not install services, change configuration, or upload data.

Install only if you intend to let the agent run local audit commands on an authorized Linux VPS. Review output before sharing it, especially if using the optional raw deep-audit mode, because local configuration and security posture details may be visible.

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
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 · scripts/openclaw-vps-preflight.sh (reported line 204)May include surrounding context.

sh
fi

if command_exists systemctl; then
  user_enabled=$(systemctl --user list-unit-files 'openclaw-gateway*.service' --state=enabled --no-legend 2>/dev/null || true)
  system_enabled=$(systemctl list-unit-files 'openclaw-gateway*.service' --state=enabled --no-legend 2>/dev/null || true)
  if [[ -n "$user_enabled$system_enabled" ]]; then
    pass 'An OpenClaw systemd service is enabled for reboot survival.'

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 · scripts/openclaw-vps-preflight.sh (reported line 205)May include surrounding context.

sh
if command_exists systemctl; then
  user_enabled=$(systemctl --user list-unit-files 'openclaw-gateway*.service' --state=enabled --no-legend 2>/dev/null || true)
  system_enabled=$(systemctl list-unit-files 'openclaw-gateway*.service' --state=enabled --no-legend 2>/dev/null || true)
  if [[ -n "$user_enabled$system_enabled" ]]; then
    pass 'An OpenClaw systemd service is enabled for reboot survival.'
  else

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 · scripts/openclaw-vps-preflight.sh (reported line 207)May include surrounding context.

sh
user_enabled=$(systemctl --user list-unit-files 'openclaw-gateway*.service' --state=enabled --no-legend 2>/dev/null || true)
  system_enabled=$(systemctl list-unit-files 'openclaw-gateway*.service' --state=enabled --no-legend 2>/dev/null || true)
  if [[ -n "$user_enabled$system_enabled" ]]; then
    pass 'An OpenClaw systemd service is enabled for reboot survival.'
  else
    warn 'No enabled OpenClaw systemd service was detected.'
  fi

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 · scripts/openclaw-vps-preflight.sh (reported line 277)May include surrounding context.

sh
fi

if command_exists systemctl && {
  run_quiet systemctl is-enabled apt-daily-upgrade.timer ||
  run_quiet systemctl is-enabled unattended-upgrades.service ||
  run_quiet systemctl is-enabled dnf-automatic.timer ||
  run_quiet systemctl is-enabled dnf5-automatic.timer;

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 · scripts/openclaw-vps-preflight.sh (reported line 278)May include surrounding context.

sh
fi

if command_exists systemctl && {
  run_quiet systemctl is-enabled apt-daily-upgrade.timer ||
  run_quiet systemctl is-enabled unattended-upgrades.service ||
  run_quiet systemctl is-enabled dnf-automatic.timer ||
  run_quiet systemctl is-enabled dnf5-automatic.timer;

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 · scripts/openclaw-vps-preflight.sh (reported line 279)May include surrounding context.

sh
fi

if command_exists systemctl && {
  run_quiet systemctl is-enabled apt-daily-upgrade.timer ||
  run_quiet systemctl is-enabled unattended-upgrades.service ||
  run_quiet systemctl is-enabled dnf-automatic.timer ||
  run_quiet systemctl is-enabled dnf5-automatic.timer;

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 · scripts/openclaw-vps-preflight.sh (reported line 280)May include surrounding context.

sh
fi

if command_exists systemctl && {
  run_quiet systemctl is-enabled apt-daily-upgrade.timer ||
  run_quiet systemctl is-enabled unattended-upgrades.service ||
  run_quiet systemctl is-enabled dnf-automatic.timer ||
  run_quiet systemctl is-enabled dnf5-automatic.timer;