Back to skill

Security audit

Organize Vault

Security checks for vulnerabilities and agentic risk

Overview

The skill has a clear vault-organization purpose, but its command examples create review-worthy risk around unsafe file moves and path handling.

Review this skill before installing if your vault contains untrusted notes or unusual filenames. Use it only on a backed-up or cleanly committed git repository, inspect every proposed move/write carefully, and avoid relying on it for vaults with paths containing spaces, shell metacharacters, leading hyphens, or traversal-like names unless the agent applies safer path handling than the examples show.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:66
Finding

Shell Command Injection and Unsafe Path Handling

Content
View full analysis
status --porcelain 2>&1 ``` ```bash git -C status --porcelain | grep '^?' | awk '{print $2}' | grep '\.md$' git -C diff --name-only --diff-filter=A HEAD ``` ```bash mv /.md //.md ``` ### Technical Analysis The skill instructs the agent to interpolate the user-provided vault root and discovered or generated path components directly into shell command templates. It does not require shell-safe argument handling, quoting, canonicalization, or validation that the resulting paths remain inside the approved vault. If these templates are executed through a shell, spaces, command separators, command substitutions, redirections, or other shell metacharacters in `vault_root`, `note`, or `topic` can change the meaning of the command. The danger is especially significant because note filenames originate from a user-controlled filesystem. The Git status parser is also unsafe for valid filenames. Parsing porcelain output with `awk '{print $2}'` splits on whitespace, corrupting filenames containing spaces. Git may quote unusual paths, and line-oriented parsing does not safely accommodate all valid filename characters. This can cause incorrect files to be selected or moved even without deliberate command injection. The displayed `mv` command also lacks the `--` end-of-options marker. A path component beginning with a hyphen can consequently be interpreted as an option rather than a filename. ### Attack Path 1. An attacker creates or supplies a vault path or Markdown filename containing shell metacharacters, whitespace, command substitution syntax, or option-like prefixes. 2. The user invokes the skill to organize that vault. 3. The agent s ...[truncated 1258 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:117
Finding

Indirect Prompt Injection Through Untrusted Markdown Notes

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (1)

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The manifest description and most instructional content are written in Chinese, while some trigger phrases and headings are in English. This can impose a language expectation on users without explicitly stating language options or requiring user opt-in, which fits the locale/language policy category.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.