knowledge-compiler
Pass
Audited by Gen Agent Trust Hub on Sep 14, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill's primary function is to process external, untrusted documents (PDF, EPUB, TXT) and transform them into new AI agent instructions (a generated skill). This creates a vulnerability where a maliciously crafted document could contain hidden instructions designed to manipulate the generated skill's behavior.
- Ingestion points:
scripts/extract_source.py(line 332) reads the user-provided input file. Format-specific extractors likeextract_epubandextract_pdfparse complex file structures. - Boundary markers: The skill instructions in
SKILL.mdandreferences/COMPILATION_PLAYBOOK.mddo not explicitly command the agent to identify and ignore adversarial instructions embedded within the source documents during the compilation process. - Capability inventory: The system generates new executable agent logic (
SKILL.md,references/*.md) and provides scripts that utilizesubprocessanduvto manage the resulting skill. - Sanitization: Metadata such as job IDs and filenames are sanitized via
slugify, but the extracted text content is passed directly to the model for logic synthesis. - [EXTERNAL_DOWNLOADS]: The skill scripts (
scripts/extract_docling.py,scripts/extract_pdfminer.py,scripts/extract_pypdf.py) use theuv run --scriptpattern with inline dependency declarations. This triggers the download and caching of Python packages (docling,pdfminer.six,PyPDF2) from the standard PyPI registry during first execution. These are well-known, industry-standard libraries for document processing. - [COMMAND_EXECUTION]: The script
scripts/extract_source.pycalls external utilities likepdftotextandpdfinfousingsubprocess.run. These calls are implemented using argument lists rather than shell strings, which is a secure implementation that prevents shell injection. - [DYNAMIC_EXECUTION]: The skill dynamically generates a folder structure and executable instructions for a new skill using
scripts/build_skill_skeleton.sh. This includes using heredocs to write Shell and Python scripts to thedist/directory, which are then used to manage the generated skill's metadata.
Audit Metadata