scientific-visualization
Pass
Audited by Gen Agent Trust Hub on Oct 2, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes external data such as image files (SVG, PDF, TIFF) and publisher profile JSON files. This represents a potential surface for indirect prompt injection if an attacker-controlled file contains malicious instructions. \n
- Ingestion points:
scripts/image_metadata.py(reads images),scripts/export_plan.py(reads JSON profiles), andfigure_export.py(writes manifests based on data). \n - Boundary markers: The instructions in
references/publication_guidelines.mdadvise agents to verify integrity and ignore deceptive encodings, though explicit prompt delimiters for runtime data are not consistently applied. \n - Capability inventory: The skill can write files to the local system and execute local Python scripts via
uv run. \n - Sanitization: The skill implements significant mitigations, including
MAX_INPUT_BYTESlimits, symlink rejection inscripts/_common.py, XXE entity blocking in SVG parsing, and decompression bomb protection for raster images inscripts/image_metadata.py.\n- [DYNAMIC_EXECUTION]: Several scripts use dynamic loading to access bundled assets. \n - Evidence:
scripts/style_presets.pyandscripts/palette_audit.pyuseimportlib.util.spec_from_file_locationto loadassets/color_palettes.py. The path is derived from the script's own location (__file__) and is not influenced by external input, posing minimal risk.\n- [EXTERNAL_DOWNLOADS]: The skill documentation encourages the use ofuv runwith pinned dependencies from the Python Package Index (PyPI). \n - Evidence:
SKILL.mdandreferences/matplotlib_examples.mdinclude shell commands that install packages likematplotlib,seaborn, andplotlyat runtime. These are well-known, reputable scientific libraries fetched from an established registry.
Audit Metadata