Back to skill

Security audit

Pet Toy Interaction Activity Analysis | 宠物玩具互动活跃度分析

Security checks across malware telemetry and agentic risk

Overview

The skill largely matches its pet-video cloud analysis purpose, but it silently creates or reuses an account identity and stores/sends authentication tokens and report history data.

Install only if you are comfortable sending pet-area videos or URLs to the Life Emergence cloud service and having the skill create/reuse a local account identity, store tokens in a workspace SQLite database, and query cloud history reports automatically from matching requests.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
Findings (20)

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Content
if filters:
                for key, value in filters.items():
                    query = query.filter(getattr(self.__model__, key) == value)

            if offset:
                query = query.offset(offset)
Confidence
79% confidence
Finding
query = query.filter(getattr(self.__model__, key) == value)

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Content
if filters:
                for key, value in filters.items():
                    query = query.filter(getattr(self.__model__, key) == value)

            return query.scalar()
        finally:
Confidence
78% confidence
Finding
query = query.filter(getattr(self.__model__, key) == value)

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill advertises and instructs use of capabilities including shell execution, local file save/read/write, network access, and environment usage, but declares no explicit permissions or trust boundaries. This creates a capability-transparency gap: operators and users cannot clearly assess that uploaded files may be stored locally and forwarded to external services, increasing the chance of unintended data exposure or unsafe execution in permissive runtimes.

Description-Behavior Mismatch

Medium
Confidence
88% confidence
Finding
The skill manifest describes video analysis, but the code also exposes a history-listing capability through `--list` that retrieves prior analysis records for an internal user identity. This broadens the data access scope beyond the apparent trigger purpose and can enable unintended access to historical pet activity data, especially when combined with implicit identity resolution.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
The code resolves an internal `open_id` and uses `ConstantEnum.CURRENT__OPEN_ID` for history retrieval even though the skill is presented as simple video analysis. Hidden identity handling creates a privacy and authorization risk because users may unknowingly operate under an internal account context, enabling access to or linkage with stored behavioral data.

Description-Behavior Mismatch

Medium
Confidence
86% confidence
Finding
This skill is described as pet-toy video activity analysis, but the file provides a general-purpose local DAO that persists and mutates user/account records. That scope mismatch increases privacy and least-privilege risk because the skill gains local data retention and account-management capability unrelated to the declared function, making misuse or overcollection more dangerous in this context.

Context-Inappropriate Capability

Medium
Confidence
90% confidence
Finding
The User model includes identity and authentication-like fields such as username, email, token, and open_token, which are unrelated to pet toy interaction analysis. Storing such secrets or identifiers in a local SQLite database broadens the blast radius of compromise, especially since this module offers generic CRUD operations that can read and modify them.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
This utility creates, persists, and reuses default user identities, including reading an identity from `data/smyx-api-key.txt` and falling back to creating a local database-backed account. For a pet-toy video analysis skill, this is unrelated privilege/identity handling that can silently bind user actions to a hidden account and blur consent, attribution, and data-separation boundaries.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The HTTP helper can silently auto-register or log in a user against `BASE_URL_HEALTH + /sys/phoneLogin` using generated or reused identifiers when tokens are missing. That exceeds the declared pet activity analytics purpose and enables undisclosed account creation and token acquisition against an external service, which could be abused for unauthorized service use or stealthy identity linkage.

Vague Triggers

Medium
Confidence
86% confidence
Finding
The history-report trigger phrases are broad enough to match common user requests like asking to view reports, which can cause automatic cloud queries without adequate confirmation of scope or intent. In a skill that silently associates an internal identity and retrieves historical records, over-broad triggering increases the risk of unintended disclosure of prior reports or metadata.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill states that uploaded attachments are automatically saved as local files, but it does not clearly warn users about local persistence, storage location, retention, or cleanup. Automatic local saving of user media can expose sensitive content through residual files, broader filesystem access, or later unintended reuse by other tools or sessions.

Missing User Warnings

High
Confidence
97% confidence
Finding
The skill is designed to send local video files or user-supplied URLs to server-side/cloud APIs for analysis, yet it does not provide a clear privacy and data-transmission warning. Because pet-area videos can reveal household interiors, routines, and identifiers, silent upload or remote fetching can leak sensitive data to third-party services and create SSRF-like exposure if arbitrary URLs are accepted by backend fetchers.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
`OpenIdUtil.resolve_current_open_id(args.open_id, use_current=bool(args.open_id))` initializes internal identity without any visible warning, consent, or clear user-facing explanation. Hidden identity binding is dangerous because it can silently associate uploaded videos and historical activity data with an internal identifier, undermining transparency and potentially exposing personal or account-linked data.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill accepts arbitrary remote video URLs and uploads full local file contents to a backend analysis service, but this file provides no user-facing notice, consent prompt, or visibility into what data is transmitted. In a pet-monitoring context, videos may contain sensitive household, location, or behavioral information, so silent transmission increases privacy and data-handling risk, especially for network URLs that may cause the server to fetch attacker-controlled resources.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script accepts a hidden `--api-key` parameter and forwards it into the analysis flow without any visible user disclosure about credential handling or the fact that the skill may send data to an outbound service. In a skill that processes local files or remote URLs, this can cause users or calling systems to unknowingly provide sensitive credentials and media to external infrastructure, increasing the risk of credential misuse, accidental logging, or unauthorized data transfer.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The request wrapper automatically attaches `X-Access-Token`, `X-Api-Key`, `Authorization`, tenant and platform metadata, and `pnaUserName` to outbound requests. Because this occurs in shared utility code with no visible user disclosure or per-request minimization, it can leak identity and authentication material to services the user did not knowingly authorize, especially dangerous in a media-analysis skill expected to process pet videos rather than perform broad account operations.

Missing User Warnings

Low
Confidence
90% confidence
Finding
The code reads `data/smyx-api-key.txt` to obtain an internal identity value without any visible disclosure, validation of provenance, or user confirmation. Even if local-only, silently importing credential-like identity data into request flows can cause unexpected account association and weakens transparency around how the skill authenticates to external services.

External Transmission

Medium
Category
Data Exfiltration
Content
"source": ConstantEnum.DEFAULT__SKILL_HUB_NAME
            }
            try:
                _response = requests.post(_url, json=_data)
                if _response.status_code == 200:
                    _response_json = _response.json()
                    if _response_json and _response_json.get("success"):
Confidence
88% confidence
Finding
requests.post(_url, json=

Hidden Instructions

High
Category
Prompt Injection
Content
|---|---|
| 📚 文档读取 | 仅在需要时读取参考文档,保持上下文简洁 |
| 📁 格式支持 | 视频要求:支持 mp4/avi/mov 格式,最大 10MB |
| 🧑‍⚖️ 结果性质 | 分析结果仅供行为参考,不提供疾病诊断或情绪诊断 |
| 🚫 脚本限制 | 禁止临时生成脚本,只能用技能本身的脚本 |
| 🌐 网络地址 | 传入的网络地址参数,不需要下载本地,默认地址都是公网地址,api 服务会自动下载 |
| 🔎 使用提醒 | 活跃度评估基于视频可观察到的互动行为,无法识别静卧、睡眠等非互动状态 |
Confidence
83% confidence
Finding

YARA rule 'agent_skill_mcp_tool_poisoning_metadata': MCP/tool metadata poisoning indicators in tool schemas or skill manifests [agent_skills]

High
Category
YARA Match
Content
---
name: "smyx-pet-toy-interaction-activity-analysis"
description: "Triggers when a user provides a pet toy area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for toy interaction behavior recognition, tracking interaction frequency, duration, and toy preference per pet, generating daily activity curves and trend comparisons to detect declining activity that may indicate illness or depression. Application scenarios: smart pet toys, pet wellness monitoring. | 当用户提供玩具区域视频URL或文件时,触发本技能进行互动行为分析;支持通过上传本地视频或网络视频URL,调用服务端API进行玩具互动识别,记录宠物与各类玩具互动频次、时长、偏好,生成活跃度曲线,活跃度下降提示疾病或抑郁风险。应用场景:智能宠物玩具、宠物健康管理。"
version: "1.0.3"
license: "MIT-0"
---
Confidence
76% confidence
Finding
description:; ‍

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.install_untrusted_source

Install source points to URL shortener or raw IP.

Warn
Code
suspicious.install_untrusted_source
Location
skills/smyx_common/scripts/config-dev.yaml:2