Back to skill

Security audit

Small molecule design

Security checks for vulnerabilities and agentic risk

Overview

The skill has a legitimate SciMiner workflow, but it lets mutable remote documentation control authenticated code execution and file uploads.

Review carefully before installing. Use only a narrowly scoped, revocable SciMiner API key, avoid uploading sensitive unpublished structures unless you trust the SciMiner documentation source, and prefer a version that vendors fixed API schemas or validates remote docs against a strict allowlist.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:45
Finding

Mutable Remote Documentation Is Used to Generate and Execute Authenticated Invocation Code

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 45-88
Vulnerability Type: Unpinned remote payload retrieval and execution
Risk Level: High

Vulnerable Code Snippet

markdown
The published Markdown files under `https://sciminer.tech/tool_api_files/` are
the single source of truth for `provider_name`, `tool_name`, allowed
`parameters`, file-upload behavior, request encoding, and the example
submission flow for this skill's included tools.

Use these SciMiner Markdown docs:

- `REINVENT4` -> `REINVENT4_api_doc.md`
- `PocketXMol` -> `PocketXMol_api_doc.md`
- `fpocket` -> `fpocket_api_doc.md`
- `Gnina Score` -> `Gnina Score_api_doc.md`

The agent MUST:

1. Resolve the selected tool's Markdown file and read it before every
   invocation.
2. Never invent `provider_name`, `tool_name`, parameter names, enum values,
   upload-field names, content type, or submission flow from memory.
3. Extract and follow the selected doc section's exact:
   - Base URL
   - API endpoint
   - Content-Type
   - Authentication header
   - Tool Name
   - Method
   - Parameter table, including required fields and enum values
   - File-upload instructions and example code
4. Choose the correct section if the selected doc contains multiple tool
   variants, such as structure-free generation vs pocket-guided design.
5. Cite the selected Markdown doc as the payload source in summaries.

If a user-provided parameter is not present in the selected Markdown doc
section, ask for correction or drop it with an explanation.

## Required workflow

1. Determine whether the request is structure-free generation, structure-based
   design, pocket detection, or post-generation scoring.
2. Read the corresponding Markdown file or files from
   `https://sciminer.tech/tool_api_files/`.
3. When structure-based design has no explicit pocket input, read the `fpocket`
   doc first and run that step before `Pock
...[truncated 3866 chars]
Remediation
View remediation

Remediation Suggestions

  1. Vendor reviewed API schemas and invocation templates into the skill package rather than generating executable behavior from live documentation.
  2. If remote retrieval is operationally required, pin each document to an immutable version and verify a cryptographic digest or trusted digital signature before parsing it.
  3. Treat downloaded documentation as untrusted data, never as agent instructions or executable code. Do not execute example code obtained from the documentation.
  4. Hardcode and allowlist the expected HTTPS origin, API endpoints, HTTP methods, authentication-header name, and upload destination in reviewed local configuration.
  5. Reject redirects, cross-origin endpoint substitutions, non-HTTPS destinations, embedded shell commands, and undocumented request fields.
  6. Construct requests through a fixed local client with a strict schema. Only permit remote documentation to supply non-security-sensitive descriptive metadata.
  7. Ensure the API key is attached only after the final destination has been validated against the allowlist. Prevent authorization headers from being forwarded across redirects.
  8. Limit file access to files explicitly supplied or approved by the user, enforce size and type limits, and display the validated upload destination before transmitting sensitive research data.
  9. Use a narrowly scoped and revocable SciMiner token, rotate it after suspected exposure, and avoid granting it permissions unrelated to task submission and result retrieval.
  10. Run network and invocation operations in a sandbox that denies arbitrary shell execution and restricts outbound traffic to approved SciMiner endpoints.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 5)May include surrounding context.

md
name: small-molecule-design
description: Small-molecule generation workflows combining REINVENT4, PocketXMol, fpocket, and Gnina Score through SciMiner.
credential_files:
   - ~/.config/sciminer/credentials.json
---

# Small-Molecule Design Skill

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 35)May include surrounding context.

md
name: small-molecule-design
description: Small-molecule generation workflows combining REINVENT4, PocketXMol, fpocket, and Gnina Score through SciMiner.
credential_files:
   - ~/.config/sciminer/credentials.json
---

# Small-Molecule Design Skill

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 36)May include surrounding context.

md
name: small-molecule-design
description: Small-molecule generation workflows combining REINVENT4, PocketXMol, fpocket, and Gnina Score through SciMiner.
credential_files:
   - ~/.config/sciminer/credentials.json
---

# Small-Molecule Design Skill

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 39)May include surrounding context.

md
name: small-molecule-design
description: Small-molecule generation workflows combining REINVENT4, PocketXMol, fpocket, and Gnina Score through SciMiner.
credential_files:
   - ~/.config/sciminer/credentials.json
---

# Small-Molecule Design Skill

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 127)May include surrounding context.

md
name: small-molecule-design
description: Small-molecule generation workflows combining REINVENT4, PocketXMol, fpocket, and Gnina Score through SciMiner.
credential_files:
   - ~/.config/sciminer/credentials.json
---

# Small-Molecule Design Skill

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 128)May include surrounding context.

md
name: small-molecule-design
description: Small-molecule generation workflows combining REINVENT4, PocketXMol, fpocket, and Gnina Score through SciMiner.
credential_files:
   - ~/.config/sciminer/credentials.json
---

# Small-Molecule Design Skill

Session Persistence

Medium
Category
Rogue Agent
Confidence
87% confidence
Finding

The instruction to 'write or run the invocation code directly from the selected Markdown doc's ... example code' creates an execution-of-untrusted-instructions risk. Because the skill treats remote Markdown under sciminer.tech as authoritative and requires rereading it before every invocation, a compromised doc source or malicious example could induce unsafe code execution, unexpected network calls, insecure file handling, or secret leakage during tool use.

Content

Scanner excerpt · SKILL.md (reported line 89)May include surrounding context.

md
5. Collect any missing required parameters from the user.
6. Upload required file inputs exactly as described by the selected Markdown
   doc and replace local paths with returned `file_id` values.
7. Write or run the invocation code directly from the selected Markdown doc's
   base-information block, parameter table, file-upload instructions, and
   example code. Do not apply a shared invocation template or local registry
   abstraction in this skill.

Static analysis

No suspicious patterns detected.