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.py reads 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.py to orchestrate multiple data retrieval tasks.
  • Evidence: full_sync.py uses subprocess.run to execute Python scripts listed in sync_registry.json using sys.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.py for simulation workflows.
  • [DYNAMIC_EXECUTION]: The sync_registry.json defines commands that are loaded and executed at runtime by full_sync.py. This dynamic loading of execution paths is a form of dynamic context execution within the skill's own environment.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 8, 2026, 09:54 PM