skills/ninehills/skills/tvscreener/Gen Agent Trust Hub

tvscreener

Warn

Audited by Gen Agent Trust Hub on Feb 17, 2026

Risk Level: MEDIUMEXTERNAL_DOWNLOADSCOMMAND_EXECUTION
Full Analysis
  • External Downloads (MEDIUM): The scripts scripts/run_query.sh and scripts/test_markets.sh perform automated package installation at runtime.
  • Evidence: The scripts execute python3 -m pip install -q -U tvscreener if the package is not found or needs an update.
  • Risk: Installing or updating third-party dependencies from a public registry (PyPI) at runtime without version pinning (==version) exposes the environment to potential supply chain attacks, such as dependency confusion or malicious package updates.
  • Indirect Prompt Injection (LOW): The skill processes untrusted data from external financial APIs and provides it to the agent.
  • Ingestion points: Market data is fetched via the tvscreener library in scripts/custom_query.py and scripts/query_symbol.py.
  • Boundary markers: Absent. The data is printed as JSON/CSV strings without explicit delimiters or 'ignore' instructions.
  • Capability inventory: The skill possesses file-writing capabilities (via the --csv flag in Python scripts) and subprocess execution capabilities (via shell scripts).
  • Sanitization: No sanitization or escaping is performed on fields like NAME or labels retrieved from the TradingView API, which could theoretically contain malicious instructions.
  • Dynamic Execution (LOW): The script scripts/custom_query.py uses getattr() to dynamically resolve field names and market enums from user-provided command-line arguments.
  • Evidence: getattr(Market, args.market) and getattr(StockField, name) in scripts/custom_query.py.
  • Risk: While restricted to specific classes, dynamic attribute access based on untrusted input is a suboptimal pattern that can occasionally lead to unexpected state access or crashes if not strictly validated.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Feb 17, 2026, 06:02 PM