granola
Pass
Audited by Gen Agent Trust Hub on Sep 19, 2026
Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The script
scripts/granola.pyexecutes thesopsutility viasubprocess.runto decrypt the Personal API key from a specified file path. This is a legitimate use of a security tool for credential management. - [COMMAND_EXECUTION]: The shell script
scripts/sync.shuses standard command-line tools such asfind,grep,sed, andxargsto manage and verify already exported meeting files within the local vault. - [DYNAMIC_EXECUTION]: The
scripts/sync.shscript includes an integration point that executes an optional post-sync script (session_loop_postsync.sh) if it is present and executable in the user's vault directory. This allows for workflow extension but involves executing a local script based on its file system path. - [INDIRECT_PROMPT_INJECTION]: The skill ingests meeting transcript and summary data from the Granola API, which is then processed and written to markdown files. This creates a surface for indirect prompt injection if an agent subsequently reads these files and follows instructions embedded within the transcript content.
- Ingestion points: Meeting data is fetched from the Granola API (
public-api.granola.ai) inscripts/granola.py. - Boundary markers: The skill uses standard markdown headers (
## Summary,## Transcript) to separate content types in the exported files, but does not implement specific delimiters or warnings to prevent an agent from following instructions embedded in the meeting text. - Capability inventory: The skill has capabilities to write files to the local file system and execute local commands and scripts.
- Sanitization: The skill performs filename slugification to sanitize output paths and uses standard JSON encoding for metadata, but the transcript text itself is not filtered or escaped.
Audit Metadata