rabbit-reads
Pass
Audited by Gen Agent Trust Hub on Aug 30, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted external data (PDF, EPUB, Docx, HTML) to generate summaries. This creates a surface area for indirect prompt injection if the source documents contain malicious instructions designed to influence the subagents during the fan-out phase.
- Ingestion points:
scripts/extract_text.pyreads various external file formats. - Boundary markers: The skill uses
SOURCE_DEMARC("========== rabbit-reads source: %s ==========") to separate concatenated sources. - Capability inventory: The skill utilizes
subprocess.runto call external converters and a sibling security scanner (scan.py). It also performs file read/write operations. - Sanitization: The skill proactively mitigates this risk by running
rwlib.injection.scan(from the siblingrabbit-writesengine) over the raw markup/text of all sources before processing, specifically looking for concealed directives. - [COMMAND_EXECUTION]: The skill uses
subprocess.runto invoke external system utilities and sibling scripts. scripts/extract_text.pyexecutespdftotextandtextutilto normalize document formats.scripts/check_notes.pyexecutes a sibling scriptscan.pyto perform security audits on the generated notes.tests/helpers.pyexecutes the skill's own scripts as subprocesses for validation.- These calls use explicit argument lists rather than shell strings, reducing command injection risks.
- [DYNAMIC_EXECUTION]: The test suite employs dynamic loading techniques to discover and execute tests.
tests/run.pyuses the__import__function for test discovery.tests/conftest.pyusesimportlib.utilto dynamically loadhelpers.py.- These instances are limited to the testing environment and are standard for specialized test runners.
Audit Metadata