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_csvfunction inscripts/process.pyreads data fromLetterly-export*.csvfiles located in theunprocesseddirectory. - Boundary markers: The skill uses
json.dumps(viayaml_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_filenameusing regex to remove illegal characters from titles, but does not sanitize the note content itself. - [DATA_EXPOSURE]: The file
scripts/process.pycontains hardcoded absolute file paths in theget_vault_rootfunction (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