T08 · Insecure Dependencies
- Location
SKILL.md:74- Finding
Unpinned Remote Dependencies and Script Execution
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it says, but users should review it because it sends reaction images to a third-party service and gives unpinned local install commands that execute external code.
Install or use this only if you are comfortable sending reaction images to the named HuggingFace Space. Do not use the hosted path for unpublished, proprietary, regulated, or confidential chemistry data unless you have approval. If using local deployment, pin and review the repository, dependencies, model archive, and eval script, and run them in an isolated environment without unnecessary credentials or sensitive mounts.
SKILL.md:74Unpinned Remote Dependencies and Script Execution
The skill recommends sending base64-encoded reaction images to a third-party HuggingFace Space but does not clearly warn users that uploaded content leaves the local environment. Reaction schemes may contain unpublished research, proprietary synthesis routes, or other confidential data, so silent transmission creates a real privacy and compliance risk.
The sample code performs an outbound POST containing the full image payload to an external endpoint. This is expected for a hosted inference service, but it is still a genuine external transmission path that can expose sensitive scientific or business information if used on confidential images without safeguards.
def parse_reaction_image(image_path: str, hf_space: str = "https://CYF200127-RxnIM.hf.space") -> dict:
with open(image_path, "rb") as f:
b64 = base64.b64encode(f.read()).decode()
resp = requests.post(
f"{hf_space}/run/predict",
json={"data": [f"data:image/png;base64,{b64}"]},
timeout=120
The workflow explicitly says images may be obtained from a user upload, URL, or file path, which expands the skill from image parsing into network retrieval of arbitrary resources. If an implementation follows this guidance without strict allowlists and validation, it can enable server-side request forgery, access to internal-only endpoints, or retrieval of sensitive content under the guise of image processing.