T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:166
- Finding
- Unencrypted Retrieval of External Policy Content## Vulnerability Details **File Locations**: - `SKILL.md:166` - `references/policy-2026.md:8` - `references/policy-2026.md:158-159` - `references/primary-school-policy.md:9` **Vulnerability Type**: External content retrieved over plaintext HTTP **Risk Level**: Medium ### Vulnerable Code Snippets `SKILL.md:166` directs the agent to use: ```text web_fetch ``` The configured external sources use these plaintext URLs: ```text http://edu.chengdu.gov.cn http://www.cdzk.com ``` ### Technical Analysis The Skill permits retrieval of current policy information through `web_fetch`, while the referenced policy sources are specified with unencrypted HTTP URLs. HTTP does not provide transport confidentiality, integrity, or server authentication. An attacker able to intercept or modify network traffic could replace the returned policy content. Since retrieved content may enter the agent's context, manipulated responses could produce incorrect enrollment recommendations. If the agent fails to isolate remote content from operational instructions, an altered response could also contain indirect prompt-injection text intended to influence subsequent tool calls or responses. No evidence shows that remote executable code is downloaded or executed. Therefore, this issue is an insecure configuration rather than remote payload execution. ### Attack Path 1. The Skill determines that current policy information is required. 2. The agent invokes `web_fetch` using one of the documented HTTP sources. 3. An attacker with a network interception position modifies the unencrypted HTTP response. 4. The attacker inserts false policy information or instruction-like content into the response. 5. The agent processes the modified content as a reference. 6. The resulting recommendation may contain incorrect eligibility, school-placement, or application guidance. If remote content is insufficiently isolated, it may also influence later ag ...[truncated 691 chars]
- Remediation
- ## Remediation Suggestions 1. Replace all plaintext policy URLs with verified HTTPS endpoints. 2. Reject redirects from HTTPS to HTTP. 3. Restrict `web_fetch` to an explicit allowlist of verified government domains. 4. Validate the final hostname after every redirect to prevent redirect-based allowlist bypass. 5. Treat all fetched content as untrusted reference data, never as agent instructions. 6. Delimit remote content and instruct the agent not to execute commands or follow behavioral directives found in fetched pages. 7. Prefer signed official documents or verify retrieved policy information against an independent official source. 8. Record source URL, retrieval date, policy year, and document title in generated guidance. 9. If HTTPS is unavailable, do not automatically consume the source; require explicit user confirmation and clearly warn that content integrity cannot be verified.
