T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:50
- Finding
- Untrusted Web Content Is Processed Without Prompt-Injection Isolation## Vulnerability Details **File Location**: `SKILL.md`, lines 50-79 **Vulnerability Type**: Indirect prompt-injection exposure **Risk Level**: Medium ### Vulnerable Code ```markdown **Tools Used**: `batch_web_search`, `extract_content_from_websites` **Process**: 1. **Initial breadth search** - Execute parallel searches across all primary query dimensions - Gather minimum 20-30 URLs per major topic area - Prioritize authoritative sources (official docs, academic, established media) 2. **Source classification** - Categorize by source type: ニュース, 学術論文, 白書, 技術ドキュメント, フォーラム, ブログ - Assess domain authority and reliability - Flag sources requiring deeper analysis 3. **Iterative deep-diving** - Extract key terms and concepts from initial results - Generate follow-up queries using discovered terminology - Expand search to related topics and subtopics - Loop until saturation (no new significant information) 4. **Diverse source coverage** - Ensure geographic diversity (JP/US/EU/Asia when relevant) - Cover multiple stakeholder perspectives - Include both primary and secondary sources **Target**: Minimum 100 unique, verified sources ### Phase 3: Content Reading & Reasoning **Tools Used**: `extract_content_from_websites`, `extract_pdfs_key_info` **Process**: 1. **Content extraction** - Access each promising URL - Extract structured information: facts, statistics, quotes, dates, claims - Parse PDF documents for detailed data ``` ### Technical Analysis The workflow requires the Agent to search for and ingest content from arbitrary websites and PDF documents. It does not state that instructions contained in retrieved material must be treated exclusively as untrusted data, nor does it define a separation between external content and authoritative Skill or user instructions. Consequently, a retrieved page can contain adversarial text designed to b ...[truncated 1739 chars]
- Remediation
- ## Remediation Suggestions 1. Add an explicit rule that all retrieved website and PDF content is untrusted data and can never override system, developer, Skill, or user instructions. 2. Require the Agent to ignore commands, tool requests, role changes, encoded directives, and claims of higher authority found in source material. 3. Delimit extracted content in a structured data container and process it only for facts, quotations, metadata, and evidence. 4. Restrict extraction-stage tools to the minimum required capabilities and prohibit actions unrelated to the original research request. 5. Validate URL schemes and destinations, reject local and non-HTTP schemes, and apply network-level protections against access to internal or metadata endpoints. 6. Require explicit user confirmation before performing any consequential action that was suggested by retrieved content rather than requested by the user. 7. Add prompt-injection detection and record rejected instructions in the research log without following them. 8. Cross-check important claims against independent sources so that one hostile source cannot control the synthesis.
