obsidian-canvas
Fail
Audited by Gen Agent Trust Hub on Oct 9, 2026
Risk Level: HIGHCOMMAND_EXECUTIONPERSISTENCEINDIRECT_PROMPT_INJECTIONDATA_EXFILTRATION
Full Analysis
- [COMMAND_EXECUTION]: The skill instructions in
SKILL.mddirect the AI agent to execute a local Python script (scripts/canvas_lib.py) using a shell command pipeline (e.g.,cat <<EOF | python3 ...). - [PERSISTENCE]: The script
scripts/canvas_lib.pycontains an arbitrary file write vulnerability in itssavemethod. It accepts a filename directly from theoutputfield of the input JSON and opens it for writing (open(filepath, "w")) without any path validation, sanitization, or extension checks. This allows for the overwriting of critical files such as~/.bashrc,~/.zshrc, or~/.ssh/authorized_keysto establish persistent access or execute malicious code upon the next shell login. - [INDIRECT_PROMPT_INJECTION]: The skill is vulnerable to indirect prompt injection because it ingests untrusted user content for node text and file paths without adequate safeguards.
- Ingestion points: User-provided strings used to populate the
nodes(text field) and theoutputfilename in the JSON payload. - Boundary markers: None. There are no instructions or delimiters to prevent the agent from following instructions embedded within the data it is processing.
- Capability inventory: File system write capability via the
savemethod inscripts/canvas_lib.py. - Sanitization: None. The script does not validate the target path or sanitize the markdown content within the nodes.
Recommendations
- AI detected serious security threats
Audit Metadata