Skip to content
Report library
Purpose / Writing

Obsidian Cli Skill Security Audit

What the author says it does (original text)

Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from

Independent security check

Security risks found

Files checked
1
Risks found
3
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

JavaScript can run inside Obsidian’s trusted application context

Source references: 2
What we found

The Skill explicitly permits `obsidian eval` to execute code in the application context. The shown example only counts files, but the interface is not stated to be restricted to that read-only expression; risk depends on code the agent later constructs.

Why this matters

Unreviewed code or code influenced by untrusted content could use objects exposed by Obsidian to read or alter vault data, subject to the permissions available in that application context.

This is an active developer-command instruction, not a warning or negation: it permits JavaScript execution in Obsidian's application context. The shown expression only counts files and does not establish harmful execution, but the interface expands the authority and impact of subsequently generated code. Users can restrict eval to reviewed, read-only expressions and require separate approval for code that mutates data.

SKILL.md:88In the instructionsOpen original file
Run JavaScript in the app context:```bashobsidian eval code="app.vault.getFiles().length"```
Show 1 other places
SKILL.md:106In the instructionsOpen original file
Run `obsidian help` to see additional developer commands including CDP and debugger controls.
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Low risk

Command output can be placed on the system clipboard

Source references: 2
What we found

The Skill suggests that `--copy` can be used on any command. When applied to note reads or searches, command output leaves the CLI result and enters the shared system clipboard.

Why this matters

Copied note content could be pasted into the wrong destination or read by local applications with clipboard access. The sensitivity depends on the command output.

The Skill explicitly says `--copy` can copy any command's output to the clipboard, while read and search commands may output note contents. The exposure occurs only if the agent actually adds that option; the source neither enables copying by default nor indicates network transmission. Users can prohibit `--copy` for read, search, and other commands that may return sensitive material.

SKILL.md:48In the instructionsOpen original file
```bashobsidian read file="My Note"obsidian create name="New Note" content="# Hello" template="Template" silentobsidian append file="My Note" content="New line"obsidian search query="search term" limit=10obsidian daily:read
Show 1 other places
SKILL.md:60In the instructionsOpen original file
Use `--copy` on any command to copy output to clipboard. Use `silent` to prevent files from opening. Use `total` on list commands to get a count.
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Medium risk

Omitted targets can modify the wrong note or vault

Source references: 5
What we found

Many commands use the active file when `file` and `path` are omitted, while an unspecified vault defaults to the most recently focused vault. Because the Skill also supports writes such as appending content and setting properties, a focus change can redirect a modification.

Why this matters

Tasks or other text could be appended to the wrong note, properties could be changed, or files could be created in an unintended vault, potentially mixing sensitive material between vaults.

The Skill says that omitting a file target uses the active file and omitting a vault target uses the most recently focused vault. It also provides write operations such as append and property:set. If the agent leaves either target implicit, a focus change could direct a modification to an unintended note. Users can require an explicit vault and path and confirmation of the resolved target before each write.

SKILL.md:32In the instructionsOpen original file
Many commands accept `file` or `path` to target a file. Without either, the active file is used.- `file=<name>` — resolves like a wikilink (name only, no path or extension needed)- `path=<path>` — exact path from vault root, e.g. `folder/note.md`
Show 4 other places
SKILL.md:39In the instructionsOpen original file
Commands target the most recently focused vault by default. Use `vault=<name>` as the first parameter to target a specific vault:```bashobsidian vault="My Vault" search query="test"```
SKILL.md:49In the instructionsOpen original file
obsidian read file="My Note"obsidian create name="New Note" content="# Hello" template="Template" silentobsidian append file="My Note" content="New line"obsidian search query="search term" limit=10obsidian daily:readobsidian daily:append content="- [ ] New task"obsidian property:set name="status" value="done" file="My Note"obsidian tasks daily todo
SKILL.md:50In the instructionsOpen original file
obsidian create name="New Note" content="# Hello" template="Template" silentobsidian append file="My Note" content="New line"obsidian search query="search term" limit=10
SKILL.md:54In the instructionsOpen original file
obsidian daily:append content="- [ ] New task"obsidian property:set name="status" value="done" file="My Note"obsidian tasks daily todo
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

6 instruction sections

The Skill uses the local `obsidian` CLI against a running Obsidian instance to read, create, append, and search notes, as well as modify properties and tasks.

View source
SKILL.md:8In the instructionsOpen original file
Use the `obsidian` CLI to interact with a running Obsidian instance. Requires Obsidian to be open.
SKILL.md:48In the instructionsOpen original file
```bashobsidian read file="My Note"obsidian create name="New Note" content="# Hello" template="Template" silentobsidian append file="My Note" content="New line"obsidian search query="search term" limit=10obsidian daily:readobsidian daily:append content="- [ ] New task"obsidian property:set name="status" value="done" file="My Note"obsidian tasks daily todoobsidian tags sort=count counts

It also supports plugin and theme development by reloading plugins, reading errors and console output, taking screenshots, inspecting the DOM, and executing JavaScript inside the Obsidian application context.

View source
SKILL.md:68In the instructionsOpen original file
1. **Reload** the plugin to pick up changes:   ```bash   obsidian plugin:reload id=my-plugin   ```2. **Check for errors** — if errors appear, fix and repeat from step 1:   ```bash   obsidian dev:errors   ```3. **Verify visually** with a screenshot or DOM inspection:   ```bash   obsidian dev:screenshot path=screenshot.png   obsidian dev:dom selector=".workspace-leaf" text   ```
SKILL.md:88In the instructionsOpen original file
Run JavaScript in the app context:```bashobsidian eval code="app.vault.getFiles().length"```
Start here · InstructionsSKILL.md
obsidian-cli
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Connect to websites
SKILL.md:12In the instructionsOpen original file
Run `obsidian help` to see all available commands. This is always up to date. Full docs: https://help.obsidian.md/cli
Run commands
SKILL.md:18In the instructionsOpen original file
```bashobsidian create name="My Note" content="Hello world"
SKILL.md:24In the instructionsOpen original file
```bashobsidian create name="My Note" silent overwrite
SKILL.md:41In the instructionsOpen original file
```bashobsidian vault="My Vault" search query="test"
Read files
SKILL.md:48In the instructionsOpen original file
```bashobsidian read file="My Note"obsidian create name="New Note" content="# Hello" template="Template" silent
Lines read
107
File checksum (to compare versions)
5dcc1ad52f592e9146734492ec5181b8c360158e32248d1815e773fcf9cd910e