marimo-notebooks
Pass
Audited by Gen Agent Trust Hub on Sep 25, 2026
Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [COMMAND_EXECUTION]: The
scripts/convert_notebook.pyutility usessubprocess.runto invoke themarimoCLI tool for converting Jupyter notebooks. The implementation uses a list-based argument structure, which is a standard and secure practice for wrapping CLI tools in Python utilities. - [INDIRECT_PROMPT_INJECTION]: The skill documents and provides templates that ingest untrusted external data, creating a potential surface for indirect injection attacks.
- Ingestion points: The
assets/data_analysis_template.pytemplate usesmo.ui.file()for user-provided CSV and Parquet files.references/advanced.mddescribes usingmo.sql()for querying dataframes andmo.cli_args()for reading command-line arguments. - Boundary markers: Notebook templates do not currently include explicit delimiters or instructions to ignore embedded prompts in processed data.
- Capability inventory: The skill includes scripts for subprocess execution (
convert_notebook.py), file system access for persistent caching (references/caching.md), and SQL integration. - Sanitization: While the underlying libraries (like DuckDB for SQL) support parameterization, the provided markdown examples show direct interpolation of variables into queries.
- [DYNAMIC_EXECUTION]: Marimo notebooks rely on dynamic execution patterns for reactivity. This includes using
mo.lazy()for deferred component loading and lambda functions for UI event handlers likeon_clickandon_change, as seen inreferences/ui_components.mdandreferences/advanced.md. - [EXTERNAL_DOWNLOADS]: The documentation references the installation of the
marimoandwigglystuffpackages via standard package managers (pip,uv). The conversion utility also supports passing GitHub URLs to themarimo convertcommand, which involves fetching remote notebook content.
Audit Metadata