openclaw-webdav-backup@1.3.0
CAUTION· static onlyPublisher claims: "Backup and restore an OpenClaw workspace with incremental backups, integrity verification, health checks, optional config encryption and optional WebDAV uplo..." Observed in sandbox: static analysis only — behavior not yet observed.
Coverage
Static only; nothing was run yet.The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.
Is [email protected] safe to install?
KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-14 and scored it 45/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Privileged sudo command. Summary: static analysis only — behavior not yet observed.
Behavior trace
Queued for honeypot run · static analysis onlyThis version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.
Static findings
NOTIFY_ENV_FILE="${WORKSPACE_DIR}/.env.backup.notify"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# 编辑 .env 文件,填入你的配置Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.sudo yum install pigz zstdFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.sudo apt-get install pigz zstdFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.2. Edit `.env.backup.notify` with your channel settings:Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Prepare `.env.backup` with the user's own WebDAV settings, then run:Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# Copy this file to .env and fill in your valuesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.-X POST "https://api.telegram.org/bot${BACKUP_NOTIFY_TELEGRAM_BOT_TOKEN}/sendMessage" \Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.| Notification send fails (Telegram/WeCom/Feishu) | Check network, verify token/key in `.env.backup.notify` | Log failure locally and continue; backup itself is not affected |Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.cp migrate.env.template .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.(cd "${source_dir}" && tar --exclude='node_modules' --exclude='.git' --exclude='backups/openclaw' --exclude='.env.backup' --exclude='.env.backup.secret' \Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.rm -f /tmp/webdav_error_$$.txt 2>/dev/null || trueFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.(cd "${source_dir}" && tar --exclude='node_modules' --exclude='.git' --exclude='backups/openclaw' --exclude='.env.backup' --exclude='.env.backup.secret' \Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.- for encrypted backups, `.env.backup.secret` and the password are **either/or**: either keep the file, or remember/provide the passwordFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.(cd "${source_dir}" && tar --exclude='node_modules' --exclude='.git' --exclude='backups/openclaw' --exclude='.env.backup' --exclude='.env.backup.secret' \Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| WebDAV upload fails (curl error) | Retry with `--retry 3`, verify `.env.backup` credentials | Fall back to local-only backup, notify user with error details |Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.cp references/env.backup.notify.example .env.backup.notifyFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ENV_FILE="${OPENCLAW_HOME}/.env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| Upload unencrypted `openclaw.json` to remote | Contains API keys, tokens, and secrets | Always use `--encrypt-config` before `--upload` |Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.chmod +x "${output_dir}/scripts/check-compatibility.sh"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.SECRET_FILE="${OPENCLAW_WORKSPACE_DIR}/.env.backup.secret"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ENV_FILE="${BASE_DIR}/.env.backup"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.SECRET_FILE="${WORKSPACE_DIR}/.env.backup.secret"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ENV_FILE="${OPENCLAW_WORKSPACE_DIR}/.env.backup"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.nano .env # 或 vim/codeFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.echo "Missing BACKUP_ENCRYPT_PASS. Set env var, provide .env.backup.secret, or run interactively." >&2Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.SECRET_FILE="${BASE_DIR}/.env.backup.secret"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ENV_FILE="${WORKSPACE_DIR}/.env.backup"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chmod +x "${output_dir}/scripts/migrate.sh"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.
What would make this Verified
35 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim ifox2046: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Telegram Bot API URL≈ +4 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
- Destructive file system command detected≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Prompting user to enter sensitive credentials≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.