pytdc

Pass

Audited by Gen Agent Trust Hub on Nov 9, 2026

Risk Level: SAFEEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
  • [DYNAMIC_EXECUTION]: The skill uses importlib.import_module in multiple utility scripts (_common.py, benchmark_evaluation.py, load_and_split_data.py) to lazily load submodules from the tdc library. The modules and classes accessed are resolved via hardcoded mappings from valid registry keys, preventing the execution of arbitrary or attacker-controlled paths.
  • [EXTERNAL_DOWNLOADS]: The skill interacts with the PyTDC package, which fetches datasets and model checkpoints from scientific repositories (e.g., Harvard Dataverse). The documentation and CLI tools implement a strict 'plan-then-execute' workflow, requiring users to provide explicit --execute and --download flags before any network transfer or storage allocation occurs.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes external research data, such as SMILES strings and JSON predictions. It mitigates injection and exploitation risks by enforcing security boundaries:
  • Path Containment: The safe_relative_path helper ensures all file read/write operations are confined to the current workspace.
  • Input Validation: Input files are restricted by size (e.g., 1MB for SMILES lists, 50MB for predictions), and JSON parsing is configured to reject non-standard constants like NaN or Infinity that could cause logic errors.
  • [COMMAND_EXECUTION]: The skill provides instructions for setting up isolated Python environments using uv. These commands follow development best practices, such as pinning versions and using dry-run flags to allow users to inspect changes before they are applied.
Audit Metadata
Risk Level
SAFE
Analyzed
Nov 9, 2026, 04:17 PM