T09 · Insecure Skill Coding Practices
- Location
SKILL.md:152- Finding
Weather API Requests Use Plaintext HTTP
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a weather helper, but it over-broadly triggers on unrelated data-analysis tasks and includes unsafe local cache-writing guidance.
Install only if you are comfortable with a weather skill that calls third-party weather APIs. Keep it limited to weather requests, prefer explicit HTTPS URLs, ask before sending precise locations, and do not use the cache example unless locations are sanitized or hashed and writes are confined to the cache directory.
SKILL.md:152Weather API Requests Use Plaintext HTTP
SKILL.md:336User-Controlled Location Allows Cache Path Traversal
SKILL.md:410Python Dependency Is Installed Without Version or Integrity Pinning
The trigger condition is overly broad and unrelated to a weather-only skill, stating it should be used for data analysis, report generation, statistical insights, and visualization. In an agent environment, this can cause the skill to be selected outside its intended scope, leading to unnecessary use of exec/networked behavior and disclosure of user-supplied data to external services under false pretenses.
The examples hardcode Chinese locale via 'lang=zh', and the configuration sets the default language to 'zh' without offering a user choice. This imposes a specific language/locale policy rather than making language selection explicit or optional.
The skill performs external network calls to third-party weather services and encourages passing user-provided locations, but it does not clearly warn users that their query data will be transmitted off-platform. In an agent context, even seemingly low-sensitivity data like location, language, and timing can be privacy-relevant, and silent transmission violates user expectations and informed consent.
L271 的注释和周边文档表明此函数会根据空气质量生成合理建议,但代码先判断 aqi > 100,随后才判断更严格的 aqi > 150。由于 aqi > 150 已被前一个条件覆盖,所谓“空气污染严重”的建议永远不会出现,和注释表达的分级意图相矛盾。
No suspicious patterns detected.