Back to skill

Security audit

obsidian-doc-workflow

Security checks for vulnerabilities and agentic risk

Overview

This skill is a structured Obsidian documentation workflow that may edit or move vault documents, but its behavior is disclosed, purpose-aligned, and not secretly privileged.

Install this only for an Obsidian vault where you are comfortable with an agent creating, updating, and moving Markdown documentation. Review archive/move actions before applying them, and adjust the language convention if your vault should not be English-primary.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (6)

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
The instruction "All documents use English primarily; Persian content is translated/summarized in English" imposes a language policy rather than offering a choice. This is a natural-language policy violation because it forces a specific language/locale behavior without user opt-in or a documented region-specific justification.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The Chinese instruction states that all documents should primarily use English and that Persian content must be translated or summarized in English. This is the same language-policy constraint expressed in another locale and still lacks user choice or a clearly justified compliance reason.

Vague Triggers

Low
Confidence
77% confidence
Finding
The section begins with `Can you add uppercase filename?` followed by `No. Use canonical names...`, which reads like an ad hoc prompt/response rather than a precise rule definition. This makes the applicable condition unclear and does not spell out broader inclusion or exclusion criteria for filename casing variations.

Vague Triggers

Low
Confidence
80% confidence
Finding
The template includes vague example links such as `[[About auth]]` and `[[Auth flow in Project-1]]` without defining naming constraints or clarifying whether these are literal canonical titles versus informal placeholders. In a conventions document, this can blur the expected scope of acceptable link names and lead to inconsistent or unintended usage.

Natural-Language Policy Violations

Low
Confidence
97% confidence
Finding
Lines L256, L260, L264, and L267 use Chinese text ('筛选条件') inside otherwise English documentation. This introduces a forced mixed-language experience without indicating that the document is intentionally bilingual or region-specific.

Natural-Language Policy Violations

Low
Confidence
95% confidence
Finding
Lines L149-L151 state that all documents use English as the primary language and that Persian content must be translated or summarized in English. This is a natural-language locale policy constraint with no opt-in, alternative language support, or stated compliance justification.

Static analysis

No suspicious patterns detected.