stock-research-group
Pass
Audited by Gen Agent Trust Hub on Oct 8, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill downloads and parses external broker reports (PDFs) to extract investment insights using the Gemini LLM in
interpreters/research/_shared/llm.py. If a malicious report contains adversarial text, it could influence the LLM's analysis output. - Ingestion points:
interpreters/research/extract.pyreads text from downloaded PDFs. - Boundary markers: Absent. The report content is directly interpolated into the Gemini prompt without delimiters or 'ignore' instructions.
- Capability inventory: The skill has network access (Tushare API, Gemini API) and file-writing capabilities (results saved to
output/). - Sanitization: Only basic string truncation (
text[:8000]) is performed. - [COMMAND_EXECUTION]: The skill uses a central synchronization script
full_sync.pyto orchestrate multiple data retrieval tasks. - Evidence:
full_sync.pyusessubprocess.runto execute Python scripts listed insync_registry.jsonusingsys.executable. While these are intended to be internal scripts, the mechanism allows for arbitrary local command execution if the registry or command parameters are modified. - Context: Similar patterns are used in
analyzers/earnings/_shared/sim_runner.pyfor simulation workflows. - [DYNAMIC_EXECUTION]: The
sync_registry.jsondefines commands that are loaded and executed at runtime byfull_sync.py. This dynamic loading of execution paths is a form of dynamic context execution within the skill's own environment.
Audit Metadata