T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:49- Finding
Remotely Mutable Documentation Can Control Generated and Executed Invocation Code
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 49-90
Vulnerability Type: Remote payload retrieval and execution through unpinned external documentation
Risk Level: MediumVulnerable Code
markdown ## Authoritative tool-doc source (required) 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: - `ADMET Predictor` -> `ADMET Predictor_api_doc.md` - `AOMP` -> `AOMP_api_doc.md` - `OBA` -> `OBA_api_doc.md` - `Graph-pKa` -> `Graph-pKa_api_doc.md` - `DeepEsol` -> `DeepEsol_api_doc.md` - `Molecular Descriptors` -> `Molecular Descriptors_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 SMILES input vs file upload. 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 which included tool matches the user's request. 2. Read the corresponding Markdown file from `https://sciminer.tech/tool_api_files/`. 3. Choose the doc section that matches the user's input shape. 4. ...[truncated 3647 chars]- Remediation
View remediation
Remediation Suggestions
- Bundle reviewed API schemas and invocation templates with the Skill instead of generating executable behavior from live documentation.
- If remote documents are operationally required, pin them to immutable versions and verify a publisher-controlled cryptographic signature or expected SHA-256 digest before parsing them.
- Treat remote Markdown strictly as untrusted data. Do not execute example code or follow instructions embedded in it.
- Implement a local, validated request builder with an explicit schema for permitted methods, parameter names, content types, upload fields, and response fields.
- Enforce an HTTPS destination allowlist for expected SciMiner hosts. Reject redirects, alternate hosts, IP-address endpoints, and documentation-supplied destinations that are not locally approved.
- Attach
X-Auth-Tokenonly after the final request destination has been validated against the allowlist, and ensure that authentication headers are removed on redirects. - Require explicit user confirmation before uploading local files, identifying the destination and the files that will leave the local system.
- Run unavoidable generated code in a restricted sandbox without shell access, unrelated filesystem access, or unrestricted network connectivity.
- Apply least-privilege permissions to the credential file, such as owner-only read/write access, and use a narrowly scoped, revocable API token where supported.
