Session Sync Cloud

WarnAudited by ClawScan on May 18, 2026.

Overview

This backup skill is purpose-aligned, but the visible code appears to upload sensitive memory files without the promised client-side encryption and restores cloud-provided files without safe path validation.

Review carefully before installing. Treat uploaded memory backups as plaintext unless the publisher provides real client-side encryption, use only a least-privilege bucket/prefix, avoid restoring from any bucket you do not fully trust, and test restore in a disposable workspace first.

Findings (6)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A user may store sensitive conversation history and agent memory in cloud storage believing it is end-to-end encrypted when the visible code appears to store plaintext objects and plaintext manifests.

Why it was flagged

The skill claims client-side encryption and that the server never sees plaintext, but the visible upload path sends the memory file directly to S3 with only a SHA-256 metadata tag and no encryption step.

Skill content
SKILL.md: "Encrypted upload — AES-256; server never sees plaintext" / scripts/run.py: "s3.upload_file(Filename=str(MEMORY_DIR / rel_path), Bucket=bucket, Key=s3_key, ExtraArgs={\"Metadata\": {\"sha256\": meta[\"hash\"]}})"
Recommendation

Implement audited client-side encryption for file contents and manifests before upload, or remove the encryption claims and clearly warn users that backups are plaintext in their bucket.

What this means

Private conversation context, working notes, and persistent agent state could be copied to a cloud bucket wholesale, including files the user did not intend to back up.

Why it was flagged

The artifacts explicitly target persistent agent memory and scan every file under the memory directory, with no exclusion support and no visible client-side encryption.

Skill content
SKILL.md: "conversation history, WAL entries, working buffer, and PARA notes" and "Currently backs up entire `memory/`." / scripts/run.py: "for p in MEMORY_DIR.rglob(\"*\")"
Recommendation

Add explicit path allowlists/exclusions, secret filtering, clear retention behavior, and user-visible confirmation before first broad backup of memory data.

What this means

A corrupted or malicious manifest in the configured bucket could overwrite memory files or potentially write outside the memory directory, poisoning future agent context or damaging workspace files.

Why it was flagged

Restore trusts the cloud manifest for both local file paths and S3 object keys, then writes the downloaded content without checking for absolute paths, `..` traversal, or hash integrity.

Skill content
for rel_path, meta in manifest.get("files", {}).items(): target = MEMORY_DIR / rel_path ... key = prefix + meta["s3_key"] ... with open(target, "wb") as f: f.write(content)
Recommendation

Validate restored paths with a resolved-path containment check, reject absolute paths and traversal, verify content hashes before writing, and create a local backup or preview before restore.

What this means

Users may not notice before installation that they need to place cloud storage access keys in a workspace config file.

Why it was flagged

S3-compatible credentials are expected for this backup purpose, but the registry metadata does not declare a credential requirement.

Skill content
SKILL.md: "Access key + secret" and config fields "key_id" / "secret_key"; metadata: "Primary credential: none" and "Env var declarations: none"
Recommendation

Declare the credential requirement in metadata and advise users to use a least-privilege key limited to the intended bucket and prefix.

What this means

A user may need to manually install an unpinned Python package for the skill to work.

Why it was flagged

The script depends on boto3 but the package has no install spec or pinned dependency declaration.

Skill content
scripts/run.py: "import boto3" and "boto3 not installed. Run: pip install boto3" / install spec: "No install spec — this is an instruction-only skill."
Recommendation

Provide a reviewed install specification with pinned dependency versions and hashes, or document a safe installation process.

What this means

After setup, memory data could be uploaded repeatedly in the background according to the skill's described schedule.

Why it was flagged

The skill describes recurring automatic backups, which is purpose-aligned for sync but means data may be uploaded without a manual command each time once configured.

Skill content
"Every 15 minutes while agent is running" and "After every `/wrap_up`"
Recommendation

Require explicit opt-in for scheduling, provide an easy pause/disable control, and show the exact next backup time and scope.