OpenClaw Backup & Restore — Encrypted OpenClaw Snapshots
v1.2.0Backup and restore the .openclaw agent folder — encrypted snapshots pushed to a private GitHub repo. Use this skill whenever the user mentions backup, restor...
⭐ 1· 158·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (encrypted snapshots to a private GitHub repo) matches the code and runtime instructions. Declared environment variables (BACKUP_PASSWORD, GITHUB_PAT, GITHUB_USERNAME, REPO_NAME) are appropriate for this purpose. Minor inconsistency: registry metadata lists no required binaries, but scripts expect gpg, git, tar (and the SKILL.md instructs installing gpg); the skill should have declared these binaries.
Instruction Scope
SKILL.md and scripts limit actions to creating a tar of ~/.openclaw, GPG-encrypting it with the provided passphrase, chunking if needed, and pushing to a transport repo; restore reassembles, verifies, decrypts, and extracts. The instructions explicitly exclude .env files from backups and describe setup/use flows. No instructions read unrelated system paths or exfiltrate data to unexpected endpoints beyond the specified GitHub repo.
Install Mechanism
Instruction-only install (no external downloads). Code files are bundled with the skill and run locally via python3. No remote installers or opaque third-party downloads are used, which keeps installation risk low.
Credentials
Requested env vars are reasonable for the stated function. GITHUB_PAT with 'repo' scope is powerful (it can read/write the target repo and potentially more depending on token scopes) — this is necessary to push backups but should be scoped and protected. The skill uses a temporary GIT_ASKPASS script to avoid leaking the PAT in process lists; .env files are excluded from backups, which reduces risk of credential backup. Users should confirm no other sensitive secrets are stored inside ~/.openclaw (other than .env which is excluded).
Persistence & Privilege
always:false and the skill does not request system-wide configuration changes or modify other skills. It runs only when invoked and its setup is idempotent. Autonomous invocation (disable-model-invocation:false) is standard and not a sole concern here.
Assessment
This skill appears to do exactly what it claims: create GPG-encrypted backups of ~/.openclaw and push them to a private GitHub repository. Before installing or running it, consider the following:
- Credentials: You must provide BACKUP_PASSWORD and a GITHUB_PAT. The PAT should be created with the minimum necessary scope (prefer a PAT limited to the specific repo if possible), stored securely, and rotated if compromised. The scripts use a temporary askpass helper to avoid exposing the PAT in process listings, but the PAT still grants repository access while used.
- Protect your passphrase: BACKUP_PASSWORD decrypts all backups. Keep it secret and backed up separately; if lost, backups are unrecoverable.
- Confirm what will be backed up: The code excludes .env files but will archive all other files under ~/.openclaw. Verify that no additional sensitive secrets or keys (beyond .env) live in that folder before backing up to GitHub, even in encrypted form.
- Repository ownership & privacy: Backups are pushed to a GitHub repo you control. Ensure the repo is private and the account/organization usage matches your security policy. If you prefer not to use a PAT, consider adjusting the workflow to use a deploy key or machine account (requires code changes).
- Binaries expectation: The metadata did not declare required binaries, but the scripts require git, gpg (and tar). Make sure those are available on target machines.
- Review & test: Inspect the included scripts and run setup in an attended session on a non-production workspace first to confirm behavior. After setup, verify that backups are present in the expected repo and that restore works before relying on the system.
If you want additional checks, provide the service/account you plan to use for the GitHub repo and I can suggest minimal PAT scopes or alternatives (deploy keys, GitHub Actions, etc.).Like a lobster shell, security has layers — review code before you run it.
backupvk978cjp9j9rccxpyd6avrdd76183dt8tencryptionvk978cjp9j9rccxpyd6avrdd76183dt8tgithubvk978cjp9j9rccxpyd6avrdd76183dt8tlatestvk9717vws5kfgyxmedkxy5bp2sn83dbdmmigrationvk978cjp9j9rccxpyd6avrdd76183dt8trestorevk978cjp9j9rccxpyd6avrdd76183dt8t
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
EnvBACKUP_PASSWORD, GITHUB_PAT, GITHUB_USERNAME, REPO_NAME
Primary envBACKUP_PASSWORD
