Skills/ClawHub/quick-backup-restore

quick-backup-restore@3.2.3

CAUTION· install only

Publisher claims: "Restic-powered encrypted time machine for OpenClaw: hourly incremental snapshots, fast restore by time/snapshot/file, local-only privacy defaults, integrity..." Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry ClawHubPublisher marzliak · publishing for 166 daysInstalls 2,066Last detonated 3 h ago

Coverage

Nothing executable in the bundle ran; the trace covers the install step only.
Tested
every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-14 and scored it 69/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: Privileged sudo command; Privileged sudo command; Privileged sudo command. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 1 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.0sprocessscript backend runs setup only
0.0sprocessscript backend runs setup only
0.0sprocessno install scripts to re-run

Static findings

HIGH
Privileged sudo commandbin/prune.sh:4 · Privileged sudo command — agent may execute with elevated privileges# Usage: sudo bin/prune.sh [options]Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandSKILL.md:82 · Privileged sudo command — agent may execute with elevated privilegessudo bash {baseDir}/bin/setup.shFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/prune.sh:25 · Privileged sudo command — agent may execute with elevated privilegesecho " sudo bin/prune.sh --keep-last 24 # keep only last 24 snapshots"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/setup.sh:299 · Privileged sudo command — agent may execute with elevated privilegesecho " To view the password later: sudo cat $PASS_FILE"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/restore.sh:15 · Privileged sudo command — agent may execute with elevated privilegesecho "Usage: sudo bin/restore.sh [snapshot_id] [--file path] [--target dir]"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/status.sh:15 · Privileged sudo command — agent may execute with elevated privilegesecho "Usage: sudo bin/status.sh"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandSKILL.md:4 · Privileged sudo command — agent may execute with elevated privileges…id": "setup", "kind": "shell", "label": "Run Time Clawshine setup", "command": "sudo bash {baseDir}/bin/setup.sh" }], "homepage": "https://github.com/marzliak/quick-…Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/setup.sh:4 · Privileged sudo command — agent may execute with elevated privileges# Run once as root: sudo bin/setup.shFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/setup.sh:109 · Privileged sudo command — agent may execute with elevated privileges[[ $EUID -eq 0 ]] || { echo "ERROR: Run as root (sudo bin/setup.sh)"; exit 1; }Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/customize.sh:259 · Privileged sudo command — agent may execute with elevated privilegesecho "║ Run 'sudo bin/backup.sh' to test the new config ║"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/restore.sh:23 · Privileged sudo command — agent may execute with elevated privilegesecho " sudo bin/restore.sh latest # restore latest to /"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsbin/customize.sh:28 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesecho " - Credential stores like ~/.ssh and ~/.gnupg are not auto-suggested"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandbin/uninstall.sh:5 · Privileged sudo command — agent may execute with elevated privileges# Usage: sudo bin/uninstall.sh [options]Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/prune.sh:15 · Privileged sudo command — agent may execute with elevated privilegesecho "Usage: sudo bin/prune.sh [options]"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/setup.sh:24 · Privileged sudo command — agent may execute with elevated privilegesecho "Usage: sudo bin/setup.sh [options]"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/restore.sh:4 · Privileged sudo command — agent may execute with elevated privileges# Usage: sudo bin/restore.sh [snapshot_id] [--file path] [--target dir]Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandSKILL.md:74 · Privileged sudo command — agent may execute with elevated privilegessudo bash {baseDir}/bin/status.shFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Destructive file system command detectedbin/uninstall.sh:140 · Destructive file system command detectedrm -f /etc/systemd/system/time-clawshine.service /etc/systemd/system/time-clawshine.timerFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsSKILL.md:204 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesCredential stores such as `~/.ssh` and `~/.gnupg` are not auto-suggested. Add them only after explicit user approval and only when repository access and password-file backup are strongly controlled.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandbin/status.sh:4 · Privileged sudo command — agent may execute with elevated privileges# Run: sudo bin/status.shFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandSKILL.md:20 · Privileged sudo command — agent may execute with elevated privilegessudo bash {baseDir}/bin/setup.shFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/prune.sh:26 · Privileged sudo command — agent may execute with elevated privilegesecho " sudo bin/prune.sh --older-than 7d # remove snapshots older than 7 days"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/setup.sh:506 · Privileged sudo command — agent may execute with elevated privilegesecho " Retry now : sudo /usr/local/bin/time-clawshine"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/customize.sh:42 · Privileged sudo command — agent may execute with elevated privileges[[ $EUID -eq 0 ]] || { echo "ERROR: Run as root (sudo bin/customize.sh)"; exit 1; }Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/customize.sh:12 · Privileged sudo command — agent may execute with elevated privileges# Usage: sudo bin/customize.shFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/restore.sh:22 · Privileged sudo command — agent may execute with elevated privilegesecho " sudo bin/restore.sh # interactive"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/restore.sh:24 · Privileged sudo command — agent may execute with elevated privilegesecho " sudo bin/restore.sh '2h ago' # restore closest to 2 hours ago"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathsbin/customize.sh:164 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesecho "│ Credential stores like ~/.ssh and ~/.gnupg are not │"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Privileged sudo commandbin/customize.sh:23 · Privileged sudo command — agent may execute with elevated privilegesecho "Usage: sudo bin/customize.sh"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/prune.sh:24 · Privileged sudo command — agent may execute with elevated privilegesecho " sudo bin/prune.sh # use config retention"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
File permission modification commandbin/setup.sh:323 · File permission modification command — agent changes file ownership/permissionschmod 755 /usr/local/bin/time-clawshineFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
HIGH
Privileged sudo commandlib.sh:401 · Privileged sudo command — agent may execute with elevated privilegesecho "Run: sudo bin/setup.sh"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/uninstall.sh:48 · Privileged sudo command — agent may execute with elevated privileges[[ $EUID -eq 0 ]] || { echo "ERROR: Run as root (sudo bin/uninstall.sh)"; exit 1; }Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandskill.json:59 · Privileged sudo command — agent may execute with elevated privileges"command": "sudo bash {baseDir}/bin/setup.sh"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Privileged sudo commandbin/uninstall.sh:22 · Privileged sudo command — agent may execute with elevated privilegesecho "Usage: sudo bin/uninstall.sh [options]"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
LOW
System prompt continuationSECURITY.md:16 · System prompt continuation — attempts to append to system instructions · informational: not an instruction fileSystem:Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Privileged sudo commandbin/uninstall.sh:203 · Privileged sudo command — agent may execute with elevated privilegesecho " Source files in $TC_ROOT are untouched — you can re-install with: sudo bin/setup.sh"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
File permission modification commandbin/setup.sh:117 · File permission modification command — agent changes file ownership/permissionschmod +x "$TC_ROOT/bin/"*.sh "$TC_ROOT/lib.sh" 2>/dev/null || trueFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commandSKILL.md:241 · File permission modification command — agent changes file ownership/permissions- **Password:** The restic repository is AES-256 encrypted. The password file location is configured in `config.yaml` (chmod 600). Losing it means losing access to all snapshots.Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
HIGH
Access to sensitive file pathsskill.json:55 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"credential stores such as ~/.ssh and ~/.gnupg are not auto-suggested and require manual opt-in"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File permission modification commandbin/setup.sh:289 · File permission modification command — agent changes file ownership/permissionschmod 600 "$PASS_FILE"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commandSKILL.md:56 · File permission modification command — agent changes file ownership/permissions**Password file:** configured in `config.yaml` under `repository.password_file` (chmod 600 — **back this up separately**)Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commandbin/setup.sh:268 · File permission modification command — agent changes file ownership/permissionschmod 700 "$REPO"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commandbin/backup.sh:43 · File permission modification command — agent changes file ownership/permissionschmod 600 /var/lock/time-clawshine.lock 2>/dev/null || trueFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
HIGH
Telegram Bot API URLlib.sh:228 · Telegram Bot API URL — data will be sent to Telegram"https://api.telegram.org/bot${TG_TOKEN}/sendMessage" \Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
MEDIUM
File permission modification commandbin/setup.sh:253 · File permission modification command — agent changes file ownership/permissionschmod +x "$YQ_BIN"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commandbin/test.sh:228 · File permission modification command — agent changes file ownership/permissionschmod 600 "$TEST_PASS"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05

Cost to the agent

Instructions loaded
≈2,784 tok
1 file · 20 in bundle

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

11 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Unclaimed publisher≈ +8 on the totalClaim marzliak: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  2. Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  3. 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.
  4. Destructive file system command detected≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  5. Telegram Bot API URL≈ +4 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
  6. File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim marzliakPropose a patch to the maintainer