Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Workspace Sync & Backup

v2.4.0

Sync agent workspace with cloud storage (Dropbox, Google Drive, S3, etc.) using rclone.

0· 163·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for ashbrener/openclaw-workspace-sync.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Workspace Sync & Backup" (ashbrener/openclaw-workspace-sync) from ClawHub.
Skill page: https://clawhub.ai/ashbrener/openclaw-workspace-sync
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: rclone
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install openclaw-workspace-sync

ClawHub CLI

Package manager switcher

npx clawhub@latest install openclaw-workspace-sync
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name and description match the included scripts: the skill uses rclone to sync a workspace. Requiring rclone is appropriate. However, SKILL.md describes mailbox-style inbox/outbox automation (push+drain) while the provided scripts implement generic bisync/push/pull operations and setup; mailbox-specific automation (automatic moves between cloud:_outbox and local _inbox) is described but not implemented in the supplied scripts, suggesting a partial mismatch between documentation and shipped code.
Instruction Scope
SKILL.md and scripts stay within sync/backup scope (they check/install rclone, run rclone config, sync files, and write local status files). The setup script runs rclone's interactive config flow (which will capture provider credentials into a local rclone.conf). The scripts reference environment variables (OPENCLAW_STATE_DIR, RCLONE_CONFIG, WORKSPACE_SYNC_REMOTE, etc.) that are not listed as required in metadata—these are optional but affect where credentials and state are written. No instructions attempt to read unrelated user data beyond the workspace dir and rclone config.
!
Install Mechanism
setup.sh can auto-install rclone by running: curl -fsSL https://rclone.org/install.sh | sudo sh. Piping a remote install script into sudo sh is high-risk: although rclone.org is the official source, executing a fetched script with elevated privileges is dangerous if the URL were ever compromised. Homebrew is used on macOS (low-risk). There is no packaged install spec in registries; install is manual/interactive via the included script.
Credentials
The skill declares no required env vars or credentials, which is reasonable because rclone handles provider auth. However, the scripts rely on several optional env vars (OPENCLAW_STATE_DIR, RCLONE_CONFIG, WORKSPACE_SYNC_REMOTE, WORKSPACE_SYNC_LOCAL_PATH, WORKSPACE_DIR) and default to writing rclone's config and credentials under ~/.openclaw by default. The skill does not explicitly surface that it will create/store provider credentials on disk, which users should be aware of.
Persistence & Privilege
always:false (no forced presence). The skill supports automatic sync triggers (on-session start/end, periodic interval) via agent config, which is normal for a sync plugin. It does not request elevated platform-wide privileges or modify other skills' configurations. Autonomous invocation is allowed (platform default) and appropriate for this feature, but users should be mindful of automatic sync timing and notifyOnInbox settings.
What to consider before installing
This skill appears to do what it says (rclone-based workspace sync) but take these precautions before installing/running: - Inspect setup.sh before running. It may prompt to install rclone and includes a curl | sudo sh install path; prefer installing rclone via your OS package manager (brew/apt/etc.) rather than piping a remote script to sudo. - Understand where rclone will store credentials (RCLONE_CONFIG or ~/.openclaw/rclone/rclone.conf by default). Those files will contain your cloud provider tokens — review and protect them. - The SKILL.md describes mailbox automation; the included scripts implement generic sync commands (bisync/push/pull). Test in --dry-run mode and use small test folders first to verify behavior, especially before using bisync or --resync (destructive). - Use and review the .sync-excludes file to avoid accidentally syncing secrets or large data. - If you need stricter guarantees, set explicit env vars (OPENCLAW_STATE_DIR, RCLONE_CONFIG, WORKSPACE_SYNC_REMOTE, WORKSPACE_DIR) so state and credentials land where you expect. - If you want to avoid remote script execution risk, decline the automatic install option and install rclone manually, then run setup.sh only for the rclone config steps.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

☁️ Clawdis
Binsrclone
latestvk97d1tv638mc8h1t4pm85a7y5183tdrc
163downloads
0stars
1versions
Updated 1mo ago
v2.4.0
MIT-0

workspace-sync

Sync the agent workspace with cloud storage. mode is required — choose mailbox (inbox/outbox, safest), mirror (remote->local), or bisync (bidirectional, advanced).

Trigger

Use this skill when the user asks to:

  • Sync workspace to/from cloud
  • Back up workspace files
  • Check sync status
  • Fix sync issues
  • Send files to the agent workspace

Sync modes

ModeDirectionDescription
mailbox (recommended)Push + inbox/outboxWorkspace pushes to cloud; _outbox sends files up to the agent's _inbox. Safest.
mirrorRemote → LocalOne-way: workspace mirrors down. Safe — local can never overwrite remote.
bisyncBidirectionalTwo-way sync. Powerful but requires careful setup.

Mailbox mode

Each sync cycle: (1) pushes workspace to cloud excluding _inbox/ and _outbox/, (2) drains cloud _outbox/ into workspace _inbox/ via rclone move (deletes from cloud after transfer). On startup, bootstraps cloud:_outbox and local _inbox/.

Users drop files in the local _outbox/ folder (created by the cloud provider's desktop app). Files arrive in the agent's _inbox/. The agent or a skill processes them from there.

With notifyOnInbox: true, the agent is woken when files land in _inbox. A system event lists the new filenames so the agent can process them. Off by default — each notification costs an agent turn.

Mirror mode with ingest

With ingest: true, a local inbox/ folder syncs one-way up to the remote workspace (additive only). For a more robust pattern, use mailbox mode instead.

Commands

Check sync status

openclaw workspace-sync status

Shows: provider, mode, last sync time, sync count, error count, running state.

Trigger manual sync

openclaw workspace-sync sync

In mailbox mode: pushes workspace and drains _outbox. In mirror mode: pulls latest from remote. In bisync mode: runs bidirectional sync.

Preview changes

openclaw workspace-sync sync --dry-run

One-way sync (explicit direction)

openclaw workspace-sync sync --direction pull   # remote -> local
openclaw workspace-sync sync --direction push   # local -> remote

Force re-establish bisync baseline (destructive)

openclaw workspace-sync sync --resync

WARNING: --resync is destructive (bisync only). It copies ALL files from both sides to make them identical — deleted files come back, and it transfers everything. Only use when you explicitly need to re-establish the bisync baseline. The plugin never auto-resyncs.

View remote files

openclaw workspace-sync list

Lists files in the configured cloud storage path.

Configuration

Workspace sync is configured via the plugin entry in openclaw.json. The preferred format uses nested sync and backup blocks (flat config at root level is also supported):

{
  "plugins": {
    "entries": {
      "openclaw-workspace-sync": {
        "enabled": true,
        "config": {
          "sync": {
            "provider": "dropbox",
            "mode": "mailbox",
            "remotePath": "",
            "localPath": "/",
            "interval": 60,
            "timeout": 1800,
            "onSessionStart": true,
            "onSessionEnd": true,
            "exclude": [".git/**", "node_modules/**", "*.log"]
          }
        }
      }
    }
  }
}

Config keys

These keys live under sync in the nested format, or at the config root in flat format.

KeyDefaultDescription
provider"off"dropbox, gdrive, onedrive, s3, custom, or off
moderequiredmailbox (inbox/outbox, safest), mirror (remote->local), or bisync (bidirectional)
ingestfalseEnable local inbox for sending files to the agent (mirror mode only)
ingestPath"inbox"Local subfolder name for ingestion
notifyOnInboxfalseWake the agent when files arrive in _inbox (mailbox mode). Costs credits per notification.
remotePath"openclaw-share"Folder name in cloud storage
localPath"shared"Subfolder within workspace to sync
interval0Background sync interval in seconds (0 = manual only, min 60)
timeout1800Max seconds for a single sync operation (min 60)
onSessionStartfalseSync when an agent session begins
onSessionEndfalseSync when an agent session ends
conflictResolve"newer"newer, local, or remote (bisync only)
exclude**/.DS_StoreGlob patterns to exclude from sync

Automatic sync

When configured, sync runs automatically:

  • On session start: Pushes workspace and drains outbox (mailbox), pulls latest (mirror), or runs bisync
  • On session end: Syncs changes after conversation ends
  • Periodic interval: Background sync every N seconds (no LLM cost)

Safety notes

  • Mailbox mode is the safest. Workspace pushes to cloud; users send files via _outbox. Streams never overlap.
  • Mirror mode is safe by design. Remote workspace is the authority. Local is a read-only copy.
  • Bisync requires careful setup. Both sides must agree. If state is lost, --resync is needed and it copies everything.
  • On container platforms (Fly.io, Railway), bisync state is ephemeral — use mailbox or mirror mode instead.
  • When changing config (remotePath, localPath, mode), disable periodic sync first, verify, then re-enable.

Auto-recovery

  • Stale lock files: Detected and cleared before retrying (lock files older than 15 min are expired automatically)
  • Interrupted syncs: Uses --recover and --resilient flags to resume after interruptions (bisync only)
  • Resync never automatic: If bisync state is lost, the plugin logs a message but does NOT auto-resync

Troubleshooting

"rclone not configured"

Run the setup wizard:

openclaw workspace-sync setup

"requires --resync" (bisync only)

Bisync state was lost. Before running --resync, verify both sides are correct:

openclaw workspace-sync sync --resync

Sync times out

Increase the timeout in your config (default is 1800 seconds / 30 min):

{ "timeout": 3600 }

Check rclone directly

rclone lsd cloud:/
rclone ls cloud:openclaw-share

Notes

  • mode is required — set mailbox (inbox/outbox, safest), mirror (remote→local), or bisync (bidirectional)
  • Mailbox mode bootstraps _outbox on cloud and _inbox on workspace at startup
  • Bisync is available for power users who need bidirectional sync
  • Ingest inbox (mirror mode only) is additive only — cannot delete remote files
  • Only **/.DS_Store excluded by default — add your own excludes in config
  • Sync operations run in background (no LLM tokens used)
  • All rclone activity is logged at info level for visibility

Encrypted backups

Add a backup block to the plugin config for automated encrypted snapshots to your own cloud storage (S3, R2, B2, etc.). Backups stream directly (tar | rclone rcat) — no local temp files, so they work even when disk space is tight.

Backup commands

openclaw workspace-sync backup now        # Create a snapshot immediately
openclaw workspace-sync backup list       # List available snapshots
openclaw workspace-sync backup restore    # Restore latest snapshot
openclaw workspace-sync backup status     # Check backup service status

Backup config

{
  "backup": {
    "enabled": true,
    "provider": "s3",
    "bucket": "my-backups",
    "prefix": "agent-name/",
    "interval": 86400,
    "encrypt": true,
    "passphrase": "${BACKUP_PASSPHRASE}",
    "include": ["workspace", "config", "cron", "memory"],
    "retain": { "daily": 7, "weekly": 4 }
  }
}
KeyDefaultDescription
enabledfalseEnable scheduled backups
providerparent providerCloud provider (can differ from sync provider)
bucketS3/R2 bucket name
prefix""Path prefix within the bucket
interval86400Backup interval in seconds (clamped to min 300)
encryptfalseAES-256 client-side encryption
passphraseEncryption passphrase (use env var)
include["workspace", "config", "cron", "memory"]What to back up
retain7Keep N snapshots, or { daily: N, weekly: N }

Comments

Loading comments...