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_modulein multiple utility scripts (_common.py,benchmark_evaluation.py,load_and_split_data.py) to lazily load submodules from thetdclibrary. 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
PyTDCpackage, 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--executeand--downloadflags 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_pathhelper 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
NaNorInfinitythat 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