T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/search_engine.py:16- Finding
OpenClaw Agent Memory Is Indexed Outside the Declared Obsidian Note Scope
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Obsidian note skill has a coherent purpose, but it overreaches by reading agent memory and automatically pushing broad local repository changes to network destinations.
Install only after reviewing and constraining the paths, disabling or gating automatic Git push, confirming the remote repository is private and intended, changing Ollama to a trusted local loopback endpoint, and removing OpenClaw memory from the default search paths.
scripts/search_engine.py:16OpenClaw Agent Memory Is Indexed Outside the Declared Obsidian Note Scope
scripts/search_engine.py:14Notes, Queries, and Agent Memory Are Sent to a Hardcoded Host over Plaintext HTTP
scripts/push_to_git.sh:63Git Synchronization Stages and Pushes the Entire Vault Without Enforced Secret Scanning
scripts/push_to_git.sh:89Git Synchronization Silently Executes Unrelated OpenClaw Process Repair
README.md:62Installation Instructions Execute a Mutable Unpinned Package Version
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
}
try:
response = requests.post(url, json=payload, timeout=30)
response.raise_for_status()
return response.json().get("embedding", [])
except Exception as e:
Advertising voice-friendly note conversion while the underlying behavior includes automatic staging, committing, and pushing of local repository changes creates a serious expectation gap. In a note-taking/privacy-focused skill, undisclosed repository modification and remote sync are particularly dangerous because they can persist and exfiltrate highly personal content.
Advertising voice-friendly note conversion while the underlying behavior includes automatic staging, committing, and pushing of local repository changes creates a serious expectation gap. In a note-taking/privacy-focused skill, undisclosed repository modification and remote sync are particularly dangerous because they can persist and exfiltrate highly personal content.
Advertising voice-friendly note conversion while the underlying behavior includes automatic staging, committing, and pushing of local repository changes creates a serious expectation gap. In a note-taking/privacy-focused skill, undisclosed repository modification and remote sync are particularly dangerous because they can persist and exfiltrate highly personal content.
This is a duplicate occurrence of the same git push origin main directive. As with the other instance, instructing an agent to perform a remote push creates a clear pathway for unauthorized or accidental publication of transformed user data.
git fetch origin main
git rebase origin/main
# 如果冲突:保留双方内容
git push origin main
```
**❌ 禁止操作**:
This is a duplicate occurrence of the same git push origin main directive. As with the other instance, instructing an agent to perform a remote push creates a clear pathway for unauthorized or accidental publication of transformed user data.
git fetch origin main
git rebase origin/main
# 如果冲突:保留双方内容
git push origin main
```
**❌ 禁止操作**:
This duplicate finding refers to the same git push origin main behavior and carries the same risk: an agent is instructed to perform a networked repository write automatically. Given the skill's purpose of handling WhatsApp/Telegram-derived notes and pushing them into Obsidian/GitHub workflows, this materially increases the chance of unintended disclosure of personal content or secrets if preprocessing or redaction fails.
git fetch origin main
git rebase origin/main
# 如果冲突:保留双方内容
git push origin main
```
**❌ 禁止操作**:
This duplicate finding refers to the same git push origin main behavior and carries the same risk: an agent is instructed to perform a networked repository write automatically. Given the skill's purpose of handling WhatsApp/Telegram-derived notes and pushing them into Obsidian/GitHub workflows, this materially increases the chance of unintended disclosure of personal content or secrets if preprocessing or redaction fails.
git fetch origin main
git rebase origin/main
# 如果冲突:保留双方内容
git push origin main
```
**❌ 禁止操作**:
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
```
**❌ 禁止操作**:
- `git reset --hard`(删除本地内容)
- `git push --force`(覆盖远程内容)
---
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
```
**❌ 禁止操作**:
- `git reset --hard`(删除本地内容)
- `git push --force`(覆盖远程内容)
---
The header claims a 'only add, never delete' safety property, but git add -A stages deletions as well, so removed notes can be committed and propagated to the remote repository. This is dangerous because users may rely on the documented safety guarantee and unintentionally sync destructive changes, including mass deletions, under a false sense of protection.
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
The documentation says the agent will process '任何碎碎念'/'any message content' from WhatsApp or Telegram, implying a broadly triggered skill with minimal scoping. In a messaging context, overbroad activation can cause unintended ingestion of sensitive, irrelevant, or adversarial content, especially since the skill appears to archive user messages into Obsidian notes automatically.
The skill metadata declares required tools but does not define a clear permission or allowed-tools scope, while the described behavior implies filesystem, environment, and network-capable operations. That mismatch weakens user visibility and policy enforcement, increasing the chance that a skill can access local data or external services beyond what users reasonably expect.
The documentation mentions automatic backup/sync to GitHub without making the off-device transmission risk sufficiently prominent at the point where the feature is introduced. For a skill handling personal notes, health information, work details, and potentially credentials, insufficient disclosure materially increases the chance of accidental data leakage.
The skill promises to preserve the user's original words and 'only format' content, but it also claims to correct recognition errors and replace sensitive text. That inconsistency can mislead users about evidentiary integrity, which matters if notes are later relied on for memory, records, audits, or personal safety details.
Claiming data is 'absolutely not uploaded to third-party cloud' conflicts with advertising GitHub backup, which is a third-party cloud service even if the repository is private. This can cause users to make unsafe assumptions about data residency and confidentiality for sensitive personal notes.
Using 'npx clawhub@latest' is effectively an unpinned remote execution path: users may install or run a newer package version than the one reviewed, including a compromised or breaking release. This undermines reproducibility and creates supply-chain risk during installation.
This manifest description lists broad functions like intelligent memory enhancement, hallucination correction, privacy desensitization, and voice-input friendliness, but provides no explicit activation phrases, scope limits, or exclusion conditions. In a manifest file, this can make invocation conditions unclear and increase the risk of unintended triggering.
The manifest requests exec in addition to read/write and memory search for a skill presented primarily as Obsidian note organization and memory enhancement. In this context, exec materially increases the blast radius because it can run arbitrary local commands, interact with git, and modify the host beyond the vault, while the manifest does not constrain when or how command execution is limited.
The skill combines file_write and exec with scheduled agents, creating the possibility of unattended changes to local files or command execution without a clear user-facing warning. In a note-taking skill, autonomous scheduled actions are more dangerous because users may expect passive organization, not potentially impactful system or repository operations happening in the background.
Automatic git backup introduces persistent replication of note contents and potentially metadata into a repository, but the manifest gives no explicit warning about retention, sync targets, or repository updates. For a skill handling personal notes, voice-derived content, and privacy-sensitive material, silent backup can increase exposure even if the repo is intended to be local.
This markdown file contains user-facing natural-language instructions and descriptions exclusively in Chinese, and nowhere indicates that the skill is China-specific or that users can opt into another language. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.
The guide instructs users to create a public repository and then run git add -A followed by git push, which can publish all files in the working directory without any screening for secrets, personal data, or internal artifacts. In the context of a skill that explicitly handles WhatsApp/Telegram data and privacy-related features, this increases the chance of accidental exposure of sensitive content or credentials.
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.
gh auth login
# 创建公开仓库
gh repo create obsidian-brain-pro --public --description "拒绝 AI 爹味!这款 Obsidian 插件只记你的原话,不装逼。"
# 或创建私有仓库(测试阶段)
gh repo create obsidian-brain-pro --private --description "WhatsApp → Obsidian 智能记忆增强"
No suspicious patterns detected.