proposal-publish

Pass

Audited by Gen Agent Trust Hub on Oct 17, 2026

Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
  • [COMMAND_EXECUTION]: The script scripts/publish.py executes external tools including pandoc, typst, and various LaTeX engines (such as xelatex or tectonic) via subprocess.run. This is the primary intended function of the skill to facilitate document compilation. The script is securely designed to use list-based arguments without shell=True, which minimizes command injection risks.
  • [DYNAMIC_EXECUTION]: During the publishing workflow, the skill generates intermediate files in Typst (.typ) or LaTeX (.tex) format by merging user content with internal templates. These files are then dynamically compiled into the final PDF. This is standard behavior for document processing pipelines and does not involve executing untrusted code from remote sources.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes user-provided markdown files and incorporates their contents into formatted templates. This creates an indirect injection surface if the input files contain malicious document engine commands.
  • Ingestion points: The content of the user's proposal markdown file, which is read and processed by scripts/publish.py and its associated Lua filters.
  • Boundary markers: The skill uses Pandoc filters to identify document structures (like titles and research questions), but does not implement explicit delimiters to isolate or escape potentially malicious document macros (e.g., LaTeX or Typst commands) embedded within the user text.
  • Capability inventory: The skill utilizes subprocess.run to call document compilers that have access to the local file system for the purpose of generating document outputs.
  • Sanitization: No explicit sanitization or stripping of document engine macros is performed on the input text before it is passed to the compilers.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 17, 2026, 10:36 AM