Back to skill

Security audit

obsidian-notesmd-cli-command

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Obsidian note-management helper, with user-directed commands and no hidden execution, but users should be careful with the third-party CLI install and delete command.

Before installing, verify that you trust the Homebrew tap and confirm whether the official Obsidian CLI better fits your setup. Use delete only after checking the target note/path, since it may remove note data.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:12
Finding
Unpinned Third-Party CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 12–18 **Vulnerability Type**: Supply-chain risk from an unpinned third-party dependency **Risk Level**: Medium **Vulnerable Code**: ```yaml "install": [ { "id": "brew", "kind": "brew", "formula": "yakitrak/yakitrak/obsidian-cli", "bins": ["obsidian-cli"], "label": "Install obsidian-cli (brew)", }, ], ``` ### Technical Analysis The skill declares `obsidian-cli` as a required executable and directs users to install it from the third-party Homebrew tap `yakitrak/yakitrak`. The dependency is not pinned to a reviewed version, formula revision, source commit, or cryptographic checksum. Consequently, the code installed when this instruction is followed can change after the skill has been audited. The skill's official Obsidian documentation homepage does not establish that this third-party tap is maintained or endorsed by Obsidian. This creates a supply-chain trust boundary that is not clearly disclosed or technically constrained. No evidence establishes that the current dependency is malicious. The vulnerability is the unsafe, mutable dependency acquisition mechanism. ### Attack Path 1. An attacker compromises the third-party Homebrew tap, its source repository, maintainer account, release infrastructure, or referenced artifact. 2. The attacker modifies the formula or upstream package to include malicious installation or runtime behavior. 3. A user follows the skill metadata and installs `yakitrak/yakitrak/obsidian-cli`. 4. Homebrew retrieves the modified formula or artifact and runs the associated installation process with the user's privileges. 5. The compromised CLI executes during installation or when the skill invokes commands such as `search`, `create`, `move`, or `delete`. 6. Because the CLI operates on local Obsidian vaults, attacker-controlled code may read, alter, or delete notes and access other ...[truncated 692 chars]
Remediation
## Remediation Suggestions 1. Prefer an official Obsidian-maintained CLI or distribution channel if one becomes available. 2. If the third-party implementation remains necessary, pin it to a specifically reviewed package version and immutable source commit. 3. Verify downloaded artifacts with a trusted cryptographic checksum or signature. 4. Pin the Homebrew formula to a reviewed revision rather than implicitly accepting future changes from the tap. 5. Document that the CLI and tap are third-party components and obtain informed user approval before installation. 6. Review the formula, source repository, transitive dependencies, and release process before approving updates. 7. Run the CLI with least privilege and restrict its filesystem access to the intended vault where practical. 8. Avoid automatic dependency installation; separate installation from skill execution so users can verify the package source and version first.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
This markdown file instructs users to run `obsidian-cli delete "path/note"` but does not warn that the action removes user data and may be irreversible depending on Obsidian/CLI behavior. Under the markdown-file criteria, destructive operations that could affect user data should include a warning about the impact.

Static analysis

No suspicious patterns detected.