letterly-process

Pass

Audited by Gen Agent Trust Hub on Aug 28, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDATA_EXFILTRATION
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted external data from Letterly CSV exports and writes it directly into Markdown files within an Obsidian vault.
  • Ingestion points: The process_letterly_csv function in scripts/process.py reads data from Letterly-export*.csv files located in the unprocessed directory.
  • Boundary markers: The skill uses json.dumps (via yaml_scalar) to escape tag values in the YAML frontmatter, providing a degree of isolation. However, the main note body ({content}) is interpolated directly into the file without escaping or boundary delimiters.
  • Capability inventory: The script has the capability to create directories (os.makedirs), read files, write new files (open(..., 'w')), and delete the source CSV (os.remove).
  • Sanitization: The skill implements sanitize_filename using regex to remove illegal characters from titles, but does not sanitize the note content itself.
  • [DATA_EXPOSURE]: The file scripts/process.py contains hardcoded absolute file paths in the get_vault_root function (e.g., /Users/rami/Documents/life-os/Obsidian). This exposes the author's local username and directory structure, though it does not represent a credential leak.
Audit Metadata
Risk Level
SAFE
Analyzed
Aug 28, 2026, 10:16 PM
Security Audit — agent-trust-hub — letterly-process