SMILES-to-Docking Virtual Screening
Analysis
The docking workflow is purpose-matched, but crafted ligand or path names could write outside the intended output folder or influence shell commands.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
name = parts[1].strip() if len(parts) > 1 else f"lig_{lineno:04d}"; sdf_path = ligands_dir / f"{name}.sdf"; with SDWriter(str(sdf_path)) as w:Ligand names come directly from the SMILES input file and are used to construct output paths. Names containing path traversal segments or absolute paths could write outside the intended ligands directory.
cmd = f'obabel "{sdf_path}" -O "{out_pdbqt}" --partialcharge gasteiger -h'; result = subprocess.run(cmd, shell=True, capture_output=True)SDF filenames from the input directory are interpolated into a shell command and executed with shell=True. Filenames containing quotes or shell metacharacters can alter the command.
pip install "numpy<2"; pip install rdkit-pypi meeko biopython; conda install -c conda-forge openbabel autodock-vina
The skill depends on external packages and binaries, which is expected for this workflow, but versions and provenance are mostly not pinned and the registry metadata does not formally declare these requirements.
