T09 · Insecure Skill Coding Practices
- Location
skills/smyx_common/scripts/config-dev.yaml:2- Finding
Private Media, Identity Data, and Authentication Credentials Transmitted over Plaintext HTTP
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill matches its kitchen-monitoring purpose, but it uses insecure cloud defaults and persists authentication tokens in a way users should review before installing.
Review this before installing. Use only a production HTTPS configuration, confirm who receives alerts, obtain consent from anyone monitored by the kitchen camera, avoid relying on autonomous valve shutdown without a certified safety integration, and require protected token storage or session-only credentials before using it with real household footage.
skills/smyx_common/scripts/config-dev.yaml:2Private Media, Identity Data, and Authentication Credentials Transmitted over Plaintext HTTP
skills/smyx_common/scripts/dao.py:460Authentication Tokens Persisted in an Unencrypted Shared SQLite Database
skills/smyx_common/scripts/config.py:142Platform-Dependent Debug Logging Can Expose Sensitive Request and Response Data
skills/smyx_analysis/requirements.txt:3Incorrect YAML Distribution Name Creates Dependency-Resolution Risk
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
Automatic account creation, token/auth handling, workspace discovery, and generic file/network operations are a much broader capability set than a simple kitchen hazard detector needs. In combination with sensitive household video, this scope expansion increases privacy, security, and abuse risk if the remote service or local environment is misused.
The skill contemplates automatic gas-valve shutdown and caregiver alerting without prominent, repeated warnings about autonomous safety-critical actions, false positives, and failure modes. In a kitchen environment, unsafe automation can interrupt active cooking, damage appliances, create panic, or cause users to over-rely on an uncertified system for life-safety decisions.
The skill is described as kitchen stove monitoring, but this utility performs remote account provisioning, token retrieval/caching, and authenticated API requests to external services. That is a significant scope expansion beyond the stated purpose and can silently create identities and transmit persistent credentials/user identifiers, increasing privacy and supply-chain risk if the skill is installed for a simple camera-analysis use case.
The skill declares no explicit tool restrictions even though its documented workflow requires shell execution, filesystem access, network access, and likely environment/config access. Missing scope boundaries increase the blast radius if the skill is triggered unexpectedly or if supporting scripts perform unsafe actions, because the platform has no documented least-privilege guardrails for this skill.
A default trigger on any kitchen video analysis request is overly broad for a skill with shell, network, and file-handling behaviors. Over-triggering raises the chance that unrelated household videos are automatically processed, uploaded, or persisted without the user intending to invoke this particular safety-monitoring workflow.
The documentation expands the skill from real-time hazard detection into cloud history querying and report-link retrieval, increasing data exposure beyond what users may expect from a narrowly scoped safety monitor. This matters more in the home-kitchen/elder-care context because historical reports can reveal sensitive occupancy patterns, household routines, and monitoring records.
The API documentation describes 24-hour kitchen video collection and emergency alerting for a highly sensitive domestic setting involving older adults, but it provides no privacy notice, consent expectations, data retention limits, or warning about downstream actions such as notifying caregivers and auto-closing gas valves. In this context, omission of privacy and user-impact safeguards can lead to covert monitoring, excessive collection, and unsafe or non-consensual automation in a private home environment.
The string returned at L17 is hardcoded in Chinese ("老年人厨房忘关火识别结构化结果"), which indicates a fixed language choice in user-facing output. The file shows no mechanism for language selection, opt-in, or documentation justifying a locale-specific restriction.
The manifest describes a kitchen camera skill for detecting human activity and stove flame/heat status, but the entrypoint accepts a pet_type argument and mutates ConstantEnum.DEFAULT__PET_TYPE. That behavior suggests reuse of animal-classification semantics that do not match the declared kitchen safety function.
The command-line documentation says this is an elderly kitchen stove-left-on recognition tool, but the exposed option --pet-type with choices cat, dog, and other contradicts that stated intent. This is active inline documentation/interface divergence rather than mere incompleteness, because the user-facing help presents a capability from a different domain.
This code presents the tool description, argument help text, and runtime messages only in Chinese, which imposes a specific language on all users. The file does not offer a language/locale option or document a justified region-specific constraint, so it conflicts with the stated policy on user language choice.
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
result_json = JsonUtil.parse(result_json_pure_text, result_json_pure_text)
result_json_common_ai_response = result_json.get("commonAiResponse") if isinstance(result_json,
dict) else result_json
if result_json_common_ai_response:
result_json = result_json_common_ai_response
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.
result_json = JsonUtil.parse(result_json_pure_text, result_json_pure_text)
result_json_common_ai_response = result_json.get("commonAiResponse") if isinstance(result_json,
dict) else result_json
if result_json_common_ai_response:
result_json = result_json_common_ai_response
Multiple user-visible strings in this file are emitted only in Chinese, such as report headings and error/status messages. This forces a specific language/locale without offering the user a choice or documenting a justified locale restriction.
Detected: suspicious.install_untrusted_source