T08 · Insecure Dependencies
- Location
README.md:11- Finding
Misleading Local-Only Claims and Unreviewed Remote Git Synchronization
- Content
View full analysis
Vulnerability Details
File Location:
README.md:11-22,README.md:47-50, andSKILL.md:24-32,55-64
Vulnerability Type: Unreviewed external dependency and misleading privacy disclosure
Risk Level: HighThe skill instructs users to execute a persistent
git_sync_on_save.shdaemon that is not included in the audited package. The documented daemon repeatedly commits and pushes the contents of the Obsidian vault to a remote Git repository, while the skill is presented as a local-only system whose information remains on the user's machine.Vulnerable Documentation
markdown 2. Ensure you have the following files and directories in your workspace root (`/home/awu/.openclaw/workspace-work/`): - `MEMORY.md` - `obsidian-vault/` - `git_sync_on_save.sh` - `git_sync.log` - `auto_sync_memory.py` - `query_memory.py` 3. **Start the Git sync daemon** (if not already running): ```bash cd /home/awu/.openclaw/workspace-work/ nohup ./git_sync_on_save.sh > git_sync.log 2>&1 & ```The same README makes the following privacy claim:
markdown - Your knowledge is yours, and stays on your machine. - **Your memory is protected by 3 independent backups: local workspace, Obsidian vault, and remote Git repo.**SKILL.mdadditionally identifies the remote destination as:text https://github.com/awublack/obsidian-vaultTechnical Analysis
The synchronization script is a required operational dependency, but it is absent from the package. Consequently, its implementation, command construction, credential handling, file-selection rules, remote configuration, and update behavior cannot be reviewed.
The documented behavior checks for changes every ten seconds and pushes Obsidian content to a remote Git repository. This is materially inconsistent with claims that the system is completely local, does not upload or share data, and does not access cloud ...[truncated 2092 chars]
- Remediation
View remediation
Remediation Suggestions
- Bundle
git_sync_on_save.shwith the skill so its complete behavior can be audited. - Require explicit, informed opt-in before enabling any remote synchronization.
- Remove claims that all data stays local when remote Git synchronization is enabled.
- Make the Git remote user-configurable rather than documenting an account-specific destination.
- Validate and display the effective remote URL before the first push.
- Require confirmation that the user controls the destination and understands its visibility settings.
- Restrict synchronized content through a default-deny file allowlist.
- Run secret scanning before each commit and abort synchronization when likely credentials are detected.
- Pin external components to reviewed versions and verify them using cryptographic hashes or signed releases.
- Provide clear commands for stopping, inspecting, and disabling the background daemon.
- Avoid automatically recommending persistent background execution until all configuration and consent checks have completed.
- Bundle
