T09 · Insecure Skill Coding Practices
- Location
skills/smyx_common/scripts/util.py:567- Finding
Authentication credentials can be forwarded to arbitrary absolute URLs
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is framed as plant recognition, but it also performs cloud account, identity, credential, history, and persistence operations with weak disclosure and scoping.
Review before installing. This skill sends media and identity-linked data to an external cloud service, silently creates or reuses backend/local user identity state, can query cloud report history, and stores tokens locally in plaintext. Install only if you trust the publisher and the lifeemergence.com service with those files, identifiers, report records, and account credentials.
skills/smyx_common/scripts/util.py:567Authentication credentials can be forwarded to arbitrary absolute URLs
skills/smyx_common/scripts/util.py:544Plaintext upstream usernames are transmitted as identity and mobile fields
skills/smyx_common/scripts/dao.py:175Reusable authentication tokens are stored in a plaintext SQLite database
skills/smyx_analysis/requirements.txt:3Dependency manifest references an inconsistent YAML distribution name
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
HTTP requests to external services, token/auth handling, open-id generation, persistence, and workspace file operations are significant capabilities absent from the plant-recognition description. In context, that makes the skill more dangerous because users expect simple botanical analysis, not identity management and generic external-service integration.
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).
---
name: "plant-species-recognition-analysis"
description: "Accurately identifies plant species from images based on deep learning and computer vision, outputs structured information including species name, family, growth habits and maintenance tips. | 植物物种识别技能,基于深度学习与计算机视觉技术,通过图像快速识别植物物种,输出物种名称、科属分类、生长习性及养护要点等结构化信息,为园艺、生态调研、自然教育提供专业识别服务"
version: "1.0.7"
license: "MIT-0"
---
# 🌿 Plant Species Recognition Skill | 植物物种识别技能
> **智能分析中枢** ·
The manifest describes a skill that identifies plant species from images and returns botanical attributes like species, family, growth habits, and maintenance tips. In contrast, this code expects a local video path or network video URL, uploads it under videoUrl/file, and invokes a generic analysis flow with report polling/export behavior, which does not match the claimed plant-image recognition purpose.
The implementation clearly performs video analysis and history retrieval, while the manifest advertises plant species recognition from images. This kind of capability mismatch is dangerous because it can mislead users, reviewers, and policy enforcement into granting or invoking a skill under false assumptions, potentially exposing unrelated data flows or functionality that was not consented to.
This file exposes a generic API wrapper with arbitrary URL-based GET/POST/PUT/DELETE plus CRUD helpers, which is far broader than the declared plant-species-recognition purpose. In a skill context, this creates a capability surface that could be reused to access or modify unrelated backend resources, especially if higher-level code can influence the target URLs or payloads.
The add, edit, and delete methods expose record mutation capabilities that do not align with a read-oriented image recognition skill. If reachable by the agent or downstream integrations, these methods could be abused to alter or remove backend data unrelated to plant analysis.
This file implements user/account database logic, including username lookup and default-user selection, which is unrelated to a plant-species recognition skill. The mismatch indicates unnecessary privileged functionality and data handling within the skill, expanding attack surface and creating opportunities for hidden persistence or identity-related abuse that users would not expect from the manifest.
The User model stores identity and authentication-adjacent fields including username, realname, email, token, and open_token, none of which are justified by a plant-recognition skill description. Retaining such sensitive data unnecessarily raises the risk of privacy violations, token leakage, account correlation, and misuse if the local database is accessed by other components or compromised.
The skill claims plant-species recognition, but this utility implements user identity resolution, credential-file reads, default user generation, and persistence of identity state. That is dangerous because it expands the skill's privilege and data-handling scope far beyond image analysis, enabling undisclosed identity collection and backend account binding unrelated to the stated purpose.
The HTTP helper performs external authentication, token loading/caching, automatic registration, retry-based reauthentication, and billing-specific flows, none of which are necessary for plant recognition. In this context, hidden auth and monetization logic increases the risk of silent data exfiltration, unauthorized account actions, and user confusion about what the skill is doing behind the scenes.
The request path can automatically create or refresh backend user accounts as a side effect of ordinary HTTP operations. That is dangerous because a user invoking plant analysis may unknowingly trigger account creation, token issuance, and persistence, which materially changes the security and privacy posture of the skill.
The skill declares no explicit tool scope even though its documented behavior clearly involves shell execution, network access, filesystem reads/writes, and environment usage. In an agent setting, missing scope declarations weaken least-privilege controls and can let the skill run with broader capabilities than users or the platform expect.
The documentation expands the skill from plant recognition into cloud-based historical report querying and report-link output. This scope expansion matters because report retrieval can expose prior analysis metadata or artifacts beyond the immediate user request.
Overly broad trigger phrases for history-report queries can cause the skill to invoke cloud retrieval when the user did not intend a records lookup. In this context, accidental history access is a privacy issue because it may expose prior report metadata or links.
Detected: suspicious.install_untrusted_source