Back to skill

Security audit

Obsidian Sync Syncthing

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a setup guide, but its helper script can copy an Obsidian vault to iCloud despite the guide advertising a no-iCloud peer-to-peer sync model.

Review the iCloud rsync helper carefully before using this skill. The Syncthing setup itself is coherent, but the large-file filtering script may place your notes in iCloud and can change destination data; use backups, verify paths, and prefer Syncthing ignore rules or a dry run before copying a live vault.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.en.md (reported line 147)May include surrounding context.

md
## Step 3: Smart Large-File Filtering

### 3.1 Create the Exclusion Script

Create a sync script on Mac that automatically excludes large files:

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The skill instructs users to run a filesystem synchronization script that writes to another path and deletes a temporary file, but provides no safety guidance such as testing on a backup, validating source/destination paths, or using a dry run. In a note-vault context, mistakes can cause data propagation, overwrite, privacy exposure, or difficult-to-detect sync inconsistencies.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script claims to 'sync Obsidian Vault with smart large-file exclusion,' but the configured destination is '~/iCloud/Obsidian Vault', not the iPhone/Syncthing path described elsewhere. This deceptive or inaccurate behavior can mislead users into executing a data-transfer workflow with different trust boundaries than advertised.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documented 'Syncthing-based' solution embeds a separate rsync workflow that copies the vault to an iCloud destination, which materially differs from the stated architecture. This mismatch can cause users to sync sensitive notes to Apple cloud storage unintentionally, undermining the claimed privacy, peer-to-peer, and offline-first properties.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The skill emphasizes P2P, end-to-end encryption, and offline-first behavior, but it does not clearly warn that enabling Syncthing connectivity or remote discovery still transmits vault contents and metadata over the network. Users handling sensitive notes may wrongly infer that the setup is effectively local-only by default, leading to unintentional exposure beyond the device.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The provided rsync command writes directly into the destination vault with '--update', but the instructions do not clearly warn that it modifies destination data and can still produce unintended state changes, stale-file retention, or partial one-way overwrites. In a note vault containing user content, this can lead to silent data integrity problems, confusion during recovery, and accidental propagation of sensitive or outdated files.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill presents a Syncthing-based Mac↔iPhone workflow but then introduces a separate rsync script that targets an iCloud Drive path, materially changing the trust boundary and data flow. This mismatch can cause users to sync sensitive vault contents to a third-party cloud location they did not expect, undermining the stated offline-first and P2P-only architecture.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The script docstring says it syncs to 'iCloud/Möbius', but the destination is hard-coded to an iCloud Drive directory under '~/Library/Mobile Documents/...'. That discrepancy is dangerous because users may believe they are following the documented iPhone local-folder/Syncthing model while actually copying vault data into iCloud, exposing contents and metadata to a different storage provider and sync mechanism.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The document is written primarily in Chinese and presents the Chinese tutorial as the default path, with English only offered as an alternate link. This can violate a language/locale policy when users are not first offered a language choice or clear opt-in before the content defaults to one language.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · SKILL.en.md (reported line 282)May include surrounding context.

md
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

Scope Creep

Low
Category
Excessive Agency
Confidence
70% confidence
Finding

Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Content

Scanner excerpt · SKILL.md (reported line 283)May include surrounding context.

md
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

Static analysis

No suspicious patterns detected.